:root{--bg:#070a0f;--teal:#0f242e;--panel:#111c20;--gold:#b6a077;--bright:#ead6ad;--cyan:#38bdf8;--text:#e1d2b5;--muted:#b4b0a4;color-scheme:dark;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 10%,#123039 0%,#09181c 45%,#070d10 85%);color:var(--text);font-family:Georgia,'Times New Roman',serif;line-height:1.5}button,input,select{font:inherit}button,a,input,summary,select{touch-action:manipulation}button,a,summary{ -webkit-tap-highlight-color:transparent}a{color:inherit}button,.button{border:1px solid #8e7950;background:linear-gradient(#233034,#10171b 60%,#1c2223);color:var(--bright);cursor:pointer;box-shadow:inset 0 0 0 3px #10191b,inset 0 0 0 4px #4d4c3d;padding:10px 20px;border-radius:5px;text-decoration:none;display:inline-block;text-align:center}button:hover,.button:hover{border-color:#e7cc8a;background:linear-gradient(#354345,#1d292c)}button[aria-pressed=true]{border-color:#ead4a5;box-shadow:inset 0 0 0 3px #14262b,0 0 12px #b9934138;color:#fff0c7}button:disabled{cursor:default;opacity:.6}button small,.button small{display:block;font-size:.7em;color:var(--muted)}:focus-visible{outline:3px solid #65d7ff;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;color:var(--bright)}h1{font-size:2.5rem;line-height:1.2}h2{font-size:1.5rem;margin-bottom:14px}h3{font-size:1.2rem}p{margin-bottom:12px}img{display:block;max-width:100%;width:100%;object-fit:cover}.top-nav{min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;gap:18px;background:linear-gradient(#172328,#090e13);border-bottom:1px solid var(--gold)}.brand{text-decoration:none;letter-spacing:1px;font:14px Georgia,serif;white-space:nowrap}.top-nav nav{display:flex;flex-wrap:wrap;gap:4px 12px}.top-nav nav a{font-size:13px;text-decoration:none;padding:9px 5px;color:#c6bda8}.top-nav nav a:hover,.top-nav nav a[aria-current]{color:#f5d690;border-bottom:1px solid #d4af37}.container{max-width:1200px;padding:32px 30px 42px;margin:auto}.frame{border:1px solid #84795b;background:linear-gradient(130deg,#172327c9,#0c1518ed);box-shadow:inset 0 0 0 3px #10191d,inset 0 0 0 4px #474d42;position:relative;padding:18px}.frame:before,.frame:after{content:'◇';position:absolute;color:#b8a477;font-size:14px;line-height:14px;pointer-events:none}.frame:before{top:0;left:0}.frame:after{bottom:0;right:0}footer{max-width:1200px;margin:auto;padding:20px 30px;border-top:1px solid #625c43;font:12px system-ui,sans-serif;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.accessibility label{display:inline-block;margin:10px}.skip{position:fixed;top:-100px;left:10px;padding:10px;background:#0c1518;z-index:1000}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.quiet,.coming{font:13px/1.6 system-ui,sans-serif;color:var(--muted)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:center;margin-bottom:38px;min-height:340px}.hero h1{font-size:2.65rem}.tagline{font-size:1rem;margin:10px 0 20px}.hero .intro{padding:15px 20px;font:14px/1.6 system-ui,sans-serif;text-align:center;max-width:510px}.hero .intro p{margin:0}.hero .button{display:block;width:max-content;margin:16px auto}.hero-art{aspect-ratio:214/177;object-fit:contain;max-height:355px;mix-blend-mode:lighten}.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.hub-card{display:flex;flex-direction:column;padding:10px;text-align:center;text-decoration:none;min-width:0;transition:transform .2s}.hub-card:hover{transform:translateY(-3px)}.hub-card img{aspect-ratio:1.05;border-radius:18px 18px 0 0}.hub-card h3{font-size:1.25rem;line-height:1.2;margin:7px 0}.hub-card p{font:12px/1.4 system-ui,sans-serif;margin:0 5px 10px}.card-label{font:9px/1.5 system-ui,sans-serif;color:#b9aa88;margin-top:auto}.status{display:flex;justify-content:space-between;gap:3px;align-items:center;margin-top:6px;color:#b9c28b;font-size:11px}.status small{font:8px system-ui;color:#c3b798}.page-title{text-align:center;font-size:2rem;margin:4px 0 20px}.page-title small{font-size:.7em}.rpg-stage{max-width:960px;margin:auto}.embed{padding:8px}.embed h1{font-size:1.45rem;text-align:center;padding:6px}.window-controls{float:right;font-size:16px;color:#a0a99f}.gameplay{position:relative}.gameplay img{aspect-ratio:1.93}.preview-label{position:absolute;bottom:8px;right:8px;background:#061016e6;padding:4px 10px;font:12px system-ui}.player-bar{display:flex;align-items:center;gap:6px;padding-top:8px;flex-wrap:wrap}.player-bar button{padding:5px 12px}.player-bar label{display:flex;align-items:center;gap:8px;font:12px system-ui;flex:1}.player-bar input{width:100px}.march-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0}.march-tabs button{flex:1;white-space:nowrap;padding:8px 12px;font-size:.95rem}.caption{text-align:center;max-width:560px;margin:20px auto}.caption h2{margin-bottom:2px}.caption p{margin-bottom:4px}.caption p:last-child{font:12px system-ui;color:var(--muted)}.stores{margin:65px auto 20px;border-top:1px solid #686043;padding-top:40px;max-width:650px;text-align:center}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px}.store-grid button{font-size:1.7rem;border-radius:28px;opacity:1}.universe-details{margin-top:30px}.universe-details section{margin-top:18px;scroll-margin-top:25px}.table-banner{padding:0;overflow:hidden}.table-banner img{aspect-ratio:2.7;object-position:center 55%}.divider{text-align:center;color:var(--gold);border-top:1px solid #76694b;margin:28px 0 18px;height:10px}.parlor-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;max-width:970px;margin:auto}.game-list{display:flex;flex-direction:column;gap:15px;padding:14px 0}.game-list button{border-radius:28px;padding:11px;font-size:1.15rem}.game-list p{margin:0;font:13px/1.6 system-ui;color:var(--muted)}.back-panel h2,.back-panel>p{text-align:center}.back-panel h2{margin-bottom:2px}.back-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:490px;overflow:auto;padding:8px;scrollbar-color:#9f8b65 #101c20}.back-choice{padding:3px;line-height:0}.back-choice img{aspect-ratio:2/3;object-fit:fill}.bastion .container{max-width:1040px}.bastion-icon{width:165px;height:110px;object-fit:contain;margin:0 auto 24px;mix-blend-mode:lighten}.bastion-upper{display:grid;grid-template-columns:29% 1fr;gap:22px}.curriculum h2,.topology h2,.bastion-lower h2{text-align:center;font-size:1.25rem}.curriculum{display:flex;flex-direction:column;gap:15px}.curriculum button{font-size:1.4rem;flex:1}.topology img{aspect-ratio:1.3;object-fit:contain}.bastion-lower{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.bastion-lower .frame{min-width:0}.terminal-head{background:#27362b;display:flex;justify-content:space-between;font:12px monospace}.terminal-head button{padding:2px 8px;font-size:11px}.bastion pre{margin:0;background:#030a08;color:#94bd70;font:12px/1.8 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;height:220px;overflow:auto;padding:12px;border:1px solid #384a36}.cli form{display:flex;flex-wrap:wrap;gap:5px;font:11px Consolas,monospace}.cli input{width:100%;min-width:0;background:#050d0b;color:#c9dda3;border:1px solid #777455;padding:7px}.cli form button{padding:4px 12px}.coloring .container{max-width:1160px}.studio-title{display:flex;align-items:center;justify-content:center;gap:20px;font-size:2.1rem;margin:0 0 24px}.studio-title img{height:85px;width:62px;object-fit:contain;mix-blend-mode:lighten}.studio-layout{display:grid;grid-template-columns:130px minmax(0,1fr) 185px;align-items:start;gap:20px}.studio-layout .frame{padding:12px}.studio-layout h2{text-align:center;font-size:1.1rem;margin:0 0 12px}.tools{display:flex;flex-direction:column;gap:10px}.tools button{padding:8px 5px;font-size:13px}.tools button span{display:block;font-size:28px;line-height:1.2}.brush-size{font-size:12px}.brush-size input{width:100%}.canvas-wrap{background:white;padding:10px}.canvas-wrap canvas{display:block;width:100%;height:auto;background:#fff;cursor:crosshair;touch-action:none;outline-offset:1px}.canvas-controls{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.canvas-controls button{padding:7px 10px;font-size:12px;flex:1}.canvas-panel #paint-status{font:11px system-ui;margin:8px 0 0;min-height:28px}.right-dock{min-height:470px}.color-wheel{display:block;width:130px;height:130px;margin:22px auto 28px;border-radius:50%;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative;font-size:0}.color-wheel:after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(white,transparent 68%);pointer-events:none}.color-wheel input{width:100%;height:100%;opacity:0;cursor:pointer;position:relative;z-index:1}.color-wheel:focus-within{outline:3px solid #65d7ff;outline-offset:4px}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.swatch{background:var(--swatch);padding:0;width:100%;aspect-ratio:1;min-height:20px;box-shadow:none;border:1px solid #888;border-radius:0}.swatch:hover{background:var(--swatch)}.right-dock p{font:12px monospace;text-align:center;margin-top:16px}.sheet-gallery{margin:22px 0 14px}.sheet-gallery h2{text-align:center;font-size:1.2rem}.gallery-row{display:flex;gap:24px;justify-content:center;align-items:center}.gallery-row>button:first-child,.gallery-row>button:last-child{padding:0 10px;font-size:2rem;box-shadow:none;border:0;background:none}.sheet-thumb{padding:5px;max-width:125px;font-size:11px}.sheet-thumb img{height:115px;object-fit:contain;background:white}.coming-sheet{border:1px solid #514b3b;padding:25px;font-size:14px;text-align:center;color:var(--muted)}.architecture h2{text-align:center}.architecture img{aspect-ratio:3.35;object-fit:contain}.architecture details{font:12px system-ui;margin-top:10px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:24px}.portfolio h2{font-size:1.25rem;text-align:center}.timeline ol{list-style:none;padding:0 0 0 26px;margin:25px 0 0 14px;border-left:1px solid var(--gold)}.timeline li{position:relative;padding:0 0 24px 12px;min-height:84px}.timeline-dot{position:absolute;left:-36px;top:0;background:#102128;color:#dac58d}.timeline h3{font-size:1.05rem}.coming{opacity:.8;margin-top:5px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.case-grid details{border:1px solid #696850;padding:8px;text-align:center}.case-grid summary{cursor:pointer;list-style:none}.case-grid img{aspect-ratio:1.3;margin-bottom:5px}.case-grid p{font:12px/1.5 system-ui}.certifications{margin-top:20px}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cert-badge{border:1px solid #63695b;border-radius:12px 12px 25px 25px;background:linear-gradient(#172e39,#0a131a);text-align:center;padding:10px 4px;min-height:100px}.cert-badge span{font-size:25px;color:#b4d1cc}.cert-badge p{font-size:11px;margin:0}.cert-badge small{font:10px system-ui;color:var(--muted)}.drawer{margin-top:24px}.drawer h2{margin-bottom:6px}.drawer>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}.drawer .button{width:100%;font-size:1.4rem}.drawer details p{font:13px system-ui;margin-top:12px}.not-found{text-align:center;padding:80px 20px}.not-found p{margin:20px}.high-contrast{--text:#fff;--bright:#ffecb6;--muted:#e4e4df;--gold:#f3d080;background:#03070a}.high-contrast .frame{border-color:#f3d080;background:#080f13}.high-contrast .quiet{color:#fff}summary{cursor:pointer}body[data-scale="120"]{zoom:1.2}body[data-scale="150"]{zoom:1.5}@media(min-width:1500px){.container{max-width:1300px}}@media(max-width:900px){.top-nav{flex-direction:column;gap:5px;padding:12px}.top-nav nav{justify-content:center}.container{padding:24px 20px}.hero h1{font-size:2rem}.hub-grid{gap:15px}.hub-card h3{font-size:1rem}.parlor-layout{gap:25px}.studio-layout{grid-template-columns:100px minmax(0,1fr) 145px;gap:10px}.right-dock .color-wheel{width:100px;height:100px}.cert-grid{gap:7px}}@media(max-width:650px){h1{font-size:1.9rem}.container{padding:22px 14px}.top-nav nav{gap:2px 8px}.top-nav nav a{font-size:11px;padding:5px 2px}.hero{grid-template-columns:1fr;gap:12px;text-align:center;margin-bottom:26px}.hero-art{max-height:300px}.hero .intro{max-width:100%}.hero h1{font-size:2.1rem}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hub-card{padding:7px}.status{font-size:8px}.status small{font-size:6px}.card-label{font-size:8px}.hub-card p{font-size:11px}h2{font-size:1.3rem}.page-title{font-size:1.7rem}.parlor-layout,.bastion-upper,.bastion-lower,.portfolio-grid{grid-template-columns:1fr;gap:18px}.table-banner img{aspect-ratio:1.7}.game-list{padding:0;gap:10px}.back-grid{max-height:440px}.rpg .container{padding:20px 10px}.preview-label{font-size:9px}.player-bar button{font-size:11px;padding:6px 8px}.player-bar label{display:none}.march-tabs button{font-size:12px}.caption{padding:15px 7px}.store-grid{gap:14px}.stores{margin-top:35px;padding-top:25px}.store-grid button{font-size:1.3rem;padding:12px}.bastion-icon{margin-bottom:18px}.curriculum{gap:8px}.curriculum button{padding:10px}.bastion pre{height:210px}.studio-title{font-size:1.5rem;gap:10px}.studio-title img{height:65px;width:45px}.studio-layout{grid-template-columns:1fr;gap:16px}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tools h2{grid-column:1/-1}.tools .brush-size{grid-column:1/-1}.tools button{font-size:11px}.right-dock{min-height:0;display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:center}.right-dock h2{grid-column:1/-1}.right-dock .color-wheel{margin:8px auto}.right-dock p{grid-column:1/-1}.swatches{grid-template-columns:repeat(10,1fr)}.swatch{min-height:16px}.gallery-row{gap:10px}.coming-sheet{padding:15px 7px;font-size:12px}.sheet-thumb{max-width:105px}.portfolio-grid{margin-top:18px}.architecture img{aspect-ratio:2.3}.cert-badge{min-height:110px}.drawer>div{gap:10px}.drawer .button{font-size:1.1rem;padding:14px 5px}.frame{padding:14px}.window-controls{display:none}footer{padding:20px 14px;font-size:11px}.coming-sheet small{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}} 
:root{--ornament:url('/img/frame-panel.webp')}.frame{border:8px solid transparent;border-image:var(--ornament) 12 stretch;box-shadow:none}.frame:before,.frame:after{display:none}.hub-card{border-width:7px;border-image-source:url('/img/frame-card.webp');border-image-slice:8;box-shadow:none}.table-banner img{filter:saturate(0) brightness(.7)}.table-banner{border-width:7px}.intro.frame{border-width:6px}.studio-layout{grid-template-columns:12% minmax(0,1fr) 20%}.coloring .container{max-width:1060px}.canvas-wrap{padding:7px}.high-contrast .frame{border-image:none;border-color:var(--gold)}@media(max-width:650px){.studio-layout{grid-template-columns:1fr}.frame{border-width:6px}.hub-card{border-width:6px}}
.back-grid{contain:paint}.back-panel{overflow:hidden}
/* K3b: owner revisions are scoped to the parlor and coloring studio. */
.parlor,.coloring{background:#0a0b0e;--panel:#14161b;--text:#dedbd4;--muted:#b9b7b1;--bright:#d4c4a5}
.parlor .top-nav,.coloring .top-nav{background:#101216}
.parlor .frame,.coloring .frame{background:#13151a}
.parlor button,.coloring button{background:#191c22;box-shadow:none;border:1px solid #70634d}
.parlor button:hover,.coloring button:hover{background:#242831;border-color:#c9b68f}
.parlor button[aria-pressed=true],.coloring button[aria-pressed=true]{border-color:#c9b68f;box-shadow:inset 0 0 0 1px #c9b68f}
.parlor .table-banner img{filter:grayscale(1) brightness(.48);aspect-ratio:2.7;object-position:center}
.parlor .back-choice{padding:3px}
.parlor .back-choice img{object-fit:contain;background:#0a0b0e}
.coloring .studio-layout{grid-template-columns:100px minmax(0,1fr) 155px;gap:14px}
.coloring .studio-layout .frame{border-image:none;border:1px solid #655a45;padding:10px;box-shadow:none}
.coloring .studio-title{font-size:2rem}
.coloring .tools{grid-column:1;grid-row:1}
.coloring .canvas-panel{grid-column:2;grid-row:1}
.coloring .canvas-wrap{padding:6px}
.coloring .sheet-gallery{grid-column:3;grid-row:1;margin:0;min-height:0;display:block}
.coloring .sheet-gallery h2{font-size:1rem}
.coloring .gallery-row{display:flex;flex-direction:column;gap:14px}
.coloring .sheet-thumb{max-width:125px}
.coloring .sheet-thumb img{height:145px}
.coloring .coming-sheet{padding:14px 5px;font-size:12px}
.coloring .gallery-row>button:first-child,.coloring .gallery-row>button:last-child{padding:0 16px;line-height:1.2;transform:rotate(90deg)}
.coloring .palette-tray{grid-column:2/4;grid-row:2}
.coloring .swatches{grid-template-columns:repeat(30,minmax(0,1fr));gap:3px}
.coloring .swatch,.coloring .swatch:hover{background:var(--swatch);min-height:18px;border:1px solid #777;box-shadow:none}
.coloring .swatch[aria-pressed=true]{outline:2px solid #d4c4a5;outline-offset:1px;box-shadow:none}
.coloring .palette-settings{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font:12px system-ui;margin-top:12px}
.coloring .palette-settings label{display:flex;align-items:center;gap:8px}
.coloring .palette-settings input[type=color]{width:30px;height:26px;padding:0;border:1px solid #655a45}
.coloring #color-value{font:11px monospace;margin:0}
.coloring .brush-size{flex:1;min-width:180px}
.coloring .brush-size input{flex:1;width:auto;accent-color:#c9b68f}
.coloring .studio-layout+p{margin-top:14px}
.parlor.high-contrast,.coloring.high-contrast{background:#030407;--bright:#ffecb6;--text:#fff;--muted:#fff}
.parlor.high-contrast .frame,.coloring.high-contrast .frame{border-image:none;border-color:#f3d080;background:#08090d}
@media(max-width:650px){
 .coloring .studio-layout{grid-template-columns:48px minmax(0,1fr);gap:8px}
 .coloring .studio-layout .frame{padding:5px}
 .coloring .tools{display:flex;gap:9px}
 .coloring .tools h2{font-size:10px}
 .coloring .tools button{font-size:0;padding:10px 0;min-height:44px}
 .coloring .tools button span{font-size:24px}
 .coloring .canvas-panel h2{font-size:12px}
 .coloring .canvas-controls button{font-size:10px;padding:7px 4px;min-width:44px}
 .coloring .palette-tray{grid-column:1/-1;grid-row:2}
 .coloring .swatches{grid-template-columns:repeat(15,minmax(0,1fr))}
 .coloring .palette-settings{gap:8px}
 .coloring .sheet-gallery{grid-column:1/-1;grid-row:3}
 .coloring .gallery-row{flex-direction:row;gap:8px}
 .coloring .gallery-row>button:first-child,.coloring .gallery-row>button:last-child{transform:none;padding:0 5px}
 .coloring .sheet-thumb{max-width:90px}
 .coloring .sheet-thumb img{height:95px}
 .parlor .table-banner img{aspect-ratio:1.7}
}
