:root{--bg: #050505;--bg2: #0b0908;--panel: rgba(18, 13, 10, .72);--glass: rgba(14, 10, 8, .6);--saffron: #ff8a00;--saffron-hi: #ffa53a;--gold: #d4af37;--text: #fff;--muted: #a8a097;--dim: #6d665f;--line: rgba(255, 138, 0, .28);--line-hi: rgba(255, 138, 0, .9);--glow: 0 0 0 1px var(--line-hi), 0 0 18px rgba(255, 138, 0, .45);--r: 14px;--rail: 232px;--gut: clamp(16px, 3vw, 44px);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{overflow:hidden;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}img{display:block}.ic{width:22px;height:22px;fill:currentColor;flex:none}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus{outline:none}:focus-visible,[data-input=pad] :focus{box-shadow:var(--glow)}#app{display:grid;grid-template-columns:var(--rail) 1fr;height:100%}.rail{display:flex;flex-direction:column;gap:6px;padding:26px 16px 18px;border-right:1px solid rgba(255,138,0,.12);background:linear-gradient(180deg,#0a0807,#050505 60%)}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.logo{width:44px;height:44px;color:var(--saffron);filter:drop-shadow(0 0 6px rgba(255,138,0,.7))}.wordmark{font-weight:700;letter-spacing:.32em;font-size:13px;line-height:1.25}.wordmark small{display:block;color:var(--gold);letter-spacing:.38em;font-size:10px;font-weight:600}.navbtn{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:12px;color:var(--muted);font-weight:600;letter-spacing:.08em;font-size:13px;text-transform:uppercase;text-decoration:none;border:1px solid transparent}@media(hover:hover){.navbtn:hover{color:var(--text);background:#ff8a000f}}.navbtn[aria-current=page]{color:var(--text);background:linear-gradient(90deg,#ff8a002e,#ff8a0005);border-color:var(--line)}.navbtn[aria-current=page] .ic{color:var(--saffron)}.rail .status{margin-top:auto;padding:10px 8px 0}.status{display:flex;gap:12px;align-items:center;color:var(--dim);font-size:12px;letter-spacing:.06em}.status .on{color:var(--saffron)}.status .ic{width:18px;height:18px}#view{position:relative;overflow-y:auto;overflow-x:hidden;height:100%;scrollbar-width:thin;scrollbar-color:#2a1d12 transparent}.topbar,.tabbar{display:none}.hero{position:relative;min-height:min(56vh,600px);display:flex;align-items:flex-end;padding:0 var(--gut) clamp(28px,5vh,56px);isolation:isolate}.hero-art{position:absolute;inset:0;z-index:-1}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505eb,#05050573 45%,#05050500 70%),linear-gradient(0deg,var(--bg) 0%,rgba(5,5,5,0) 45%)}.tagline{color:var(--gold);letter-spacing:.5em;font-size:12px;font-weight:700;margin:0 0 14px;text-transform:uppercase}.hero h1{font-size:clamp(36px,6vw,84px);line-height:.95;margin:0 0 14px;font-weight:800;letter-spacing:-.01em;text-transform:uppercase;max-width:12ch;text-shadow:0 2px 30px rgba(0,0,0,.6)}.hero p{color:#d9d2ca;max-width:52ch;margin:0 0 26px;font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn:hover{border-color:var(--line-hi)}a.btn{color:var(--text);text-decoration:none}a.btn-play{color:#140800}.btn-play{background:linear-gradient(180deg,var(--saffron-hi),var(--saffron));color:#140800;border-color:transparent;box-shadow:0 6px 28px #ff8a0059}.btn-play:hover{filter:brightness(1.08)}.btn-play:focus-visible,[data-input=pad] .btn-play:focus{box-shadow:0 0 0 3px #050505,0 0 0 5px var(--saffron-hi),0 0 30px #ff8a00b3}.btn-xl{min-height:62px;padding:0 46px;font-size:16px;letter-spacing:.22em}.btn-sm{min-height:38px;padding:0 16px;font-size:12px}.btn[disabled]{opacity:.45;cursor:not-allowed}.section{padding:8px var(--gut) 28px}.section h2{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:12px}.section h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}.row{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,23vw,340px);gap:18px;overflow-x:auto;padding:8px 4px 16px;margin:-8px -4px 0;scroll-snap-type:x proximity;scrollbar-width:none}.row::-webkit-scrollbar{display:none}.card{position:relative;display:block;text-align:left;border-radius:var(--r);overflow:hidden;background:var(--bg2);border:1px solid rgba(255,138,0,.16);scroll-snap-align:start;transition:transform .14s ease-out,border-color .14s;contain:layout paint}.card .art{aspect-ratio:16 / 9;width:100%;object-fit:cover;background:#120a06}.card .meta{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:34px 14px 12px;background:linear-gradient(0deg,#000000eb,#0000)}.card .title{font-weight:700;font-size:15px;letter-spacing:.02em;line-height:1.2}.card .sub{display:block;color:var(--muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-top:3px}.chip-play{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--saffron);color:#140800;font-weight:800;font-size:11px;letter-spacing:.14em;flex:none}.chip-play .ic{width:12px;height:12px}.chip-play.muted{background:#ffffff14;color:var(--muted);border:1px solid rgba(255,255,255,.12)}.card:focus-visible,[data-input=pad] .card:focus{transform:scale(1.035);border-color:var(--line-hi);z-index:1}@media(hover:hover){.card:hover{transform:scale(1.035);border-color:var(--line-hi);z-index:1}}.card:focus-visible,[data-input=pad] .card:focus{box-shadow:0 0 0 1px var(--line-hi),0 10px 40px #ff8a004d}.card-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;aspect-ratio:16/9;color:var(--saffron);border-style:dashed;border-color:var(--line);font-weight:700;letter-spacing:.16em;font-size:12px;text-transform:uppercase}.card-add .ic{width:34px;height:34px}.detail{position:relative;min-height:100%;display:flex;align-items:flex-end;padding:80px var(--gut) clamp(36px,8vh,80px);isolation:isolate}.detail .hero-art:after{background:linear-gradient(90deg,#050505f2,#0505058c 50%,#0505051a 80%),linear-gradient(0deg,var(--bg) 0%,rgba(5,5,5,0) 55%)}.detail h1{font-size:clamp(40px,7vw,96px);line-height:.92;margin:0 0 18px;font-weight:800;text-transform:uppercase;max-width:12ch}.detail p.desc{color:#ddd5cc;max-width:56ch;font-size:16px;margin:0 0 22px}.badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f1e6d8}.badge .ic{width:16px;height:16px;color:var(--saffron)}.backbtn{position:absolute;top:24px;left:var(--gut);z-index:2}.note{margin:16px 0 0;color:var(--muted);font-size:14px;max-width:60ch}.note.warn{color:#ffcf8f}.toolbar{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:22px var(--gut) 14px;background:linear-gradient(180deg,var(--bg) 70%,rgba(5,5,5,0))}.toolbar h1{margin:0 12px 0 0;font-size:22px;letter-spacing:.24em;text-transform:uppercase;font-weight:800}.field{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--glass)}.field input{flex:1;min-width:0;background:none;border:0;outline:none;font-size:16px}.field:focus-within{box-shadow:var(--glow)}.field input:focus-visible,[data-input=pad] .field input:focus{box-shadow:none}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{min-height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.chip[aria-pressed=true]{color:#140800;background:var(--saffron);border-color:var(--saffron)}.vgrid{position:relative;margin:0 var(--gut) 40px}.vgrid>.card{position:absolute;top:0;left:0}.empty{padding:60px var(--gut);color:var(--muted);text-align:center}.search-big .field{height:64px;font-size:20px}.search-big .field input{font-size:20px}.settings{display:grid;grid-template-columns:230px 1fr;gap:28px;padding:22px var(--gut) 60px}.settings h1{grid-column:1 / -1;margin:0;font-size:22px;letter-spacing:.24em;text-transform:uppercase;font-weight:800}.tabs{display:flex;flex-direction:column;gap:4px}.panel{min-width:0;display:flex;flex-direction:column;gap:4px}.setrow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:12px;background:var(--panel);border:1px solid rgba(255,138,0,.1);flex-wrap:wrap}.setrow .lbl{font-weight:700}.setrow .hint{display:block;color:var(--muted);font-size:13px;font-weight:400;margin-top:2px;max-width:52ch}.toggle{width:56px;height:32px;border-radius:999px;background:#2a2420;position:relative;flex:none;border:1px solid rgba(255,255,255,.1)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#8d857d;transition:transform .14s}.toggle[aria-checked=true]{background:var(--saffron)}.toggle[aria-checked=true]:after{transform:translate(24px);background:#fff}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;font-size:13px;color:var(--muted)}.kv b{color:var(--text);font-weight:600}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#000000b8;padding:16px}.sheet{width:min(560px,100%);max-height:90vh;overflow:auto;background:#0d0a08;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 30px 80px #0009,0 0 40px #ff8a0014}.sheet h2{margin:0 0 16px;letter-spacing:.2em;text-transform:uppercase;font-size:16px}.sheet .stack{display:flex;flex-direction:column;gap:14px}.err{color:#ffb4a0;font-size:14px;min-height:1em}#player{position:fixed;inset:0;z-index:40;overflow:hidden;background:#000;display:grid;place-items:center}.surface{position:absolute;inset:0;display:grid;place-items:center}.game-surface{width:100%;height:100%;border:0;display:block;background:#000;object-fit:contain}.pixelated{image-rendering:pixelated}.game-frame{position:absolute;top:0;left:0}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px;background:radial-gradient(circle at 50% 45%,rgba(255,138,0,.12),transparent 45%),#000}.loading .logo{width:84px;height:84px}.loading h2{margin:0;letter-spacing:.3em;font-size:18px;text-transform:uppercase}.loading .msg{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600;min-height:1.2em}.bar{width:min(320px,70vw);height:3px;border-radius:2px;background:#241811;overflow:hidden}.bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--saffron))}.bar.indet>i{width:30%;animation:indet 1.1s linear infinite}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(340%)}}.loading.error .msg{color:#ffcf8f;text-transform:none;letter-spacing:0;font-size:15px;max-width:48ch}.ovl-btn{position:absolute;top:12px;right:12px;z-index:5;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#00000059;border:1px solid rgba(255,138,0,.25);opacity:.35}.ovl-btn:hover,.ovl-btn:focus-visible{opacity:1}.overlay{position:absolute;inset:0 0 auto;z-index:4;padding:14px var(--gut);background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.65) 70%,transparent)}.overlay .bar-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overlay .bar-top{padding-right:52px}.overlay .gt{font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-right:auto;font-size:13px;color:var(--gold)}.ovl-panel{margin-top:12px;max-width:680px;padding:16px 18px;border-radius:14px;background:#0c0907eb;border:1px solid var(--line)}.stats-hud{position:absolute;left:10px;top:10px;z-index:2;font:600 11px/1.4 ui-monospace,Menlo,monospace;color:#ffcf8f;background:#00000080;padding:4px 8px;border-radius:6px;pointer-events:none}.touchpad{position:absolute;inset:auto 0 0;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;padding:0 18px max(18px,env(safe-area-inset-bottom));pointer-events:none}.dpad{position:relative;width:156px;height:156px;pointer-events:auto;touch-action:none}.dpad button,.abtns button{position:absolute;width:56px;height:56px;border-radius:14px;background:#ff8a0024;border:1px solid rgba(255,138,0,.45);color:#fff;font-weight:800}.dpad [data-b="0"]{left:50px;top:0}.dpad [data-b="1"]{left:50px;bottom:0}.dpad [data-b="2"]{left:0;top:50px}.dpad [data-b="3"]{right:0;top:50px}.abtns{position:relative;width:150px;height:130px;pointer-events:auto;touch-action:none}.abtns button{border-radius:50%;width:66px;height:66px}.abtns [data-b="4"]{right:0;top:10px;background:#ff8a0059}.abtns [data-b="5"]{left:0;bottom:0}.touchpad .on{background:#ff8a0099}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:60;background:#160f0a;border:1px solid var(--line);padding:12px 20px;border-radius:999px;font-weight:600;font-size:14px;box-shadow:0 10px 40px #0009}.page{padding:22px var(--gut) 60px;max-width:1100px}.page-title{margin:0 0 12px;font-size:22px;letter-spacing:.24em;text-transform:uppercase;font-weight:800}.sub-title{margin:26px 0 10px;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.note.legal{border-left:2px solid var(--gold);padding-left:12px;margin:0 0 18px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;border:1px dashed var(--line);border-radius:var(--r);cursor:pointer;text-align:center;padding:20px;color:var(--muted)}.dropzone .ic{width:40px;height:40px;color:var(--saffron)}.dropzone b{color:var(--text);letter-spacing:.14em;text-transform:uppercase;font-size:14px}.dropzone.over,.dropzone:focus-visible,[data-input=pad] .dropzone:focus{border-color:var(--line-hi);box-shadow:var(--glow)}.detect{margin-top:18px}.emu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.emu-card{background:var(--panel);border:1px solid rgba(255,138,0,.14);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}.emu-card .desc{margin:0;color:#ddd5cc}.emu-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.emu-name{font-weight:800;letter-spacing:.16em;text-transform:uppercase}.badge.status-working{color:#b9f7c9;border-color:#78dc9680}.badge.status-experimental{color:#ffd38a}.badge.status-research{color:var(--muted);border-color:#ffffff26}.hint.err{color:#ffb4a0}.pad-viz{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.padkey{min-width:48px;height:48px;padding:0 10px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);font-weight:800;color:var(--muted)}.padkey.on{background:var(--saffron);color:#140800;border-color:var(--saffron)}.map .kv{grid-template-columns:max-content 1fr}canvas.emu-surface{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}@media(max-width:820px),(pointer:coarse)and (max-width:1100px)and (orientation:portrait){#app{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.rail{display:none}.topbar{display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid rgba(255,138,0,.12);background:#070605}.topbar .logo{width:30px;height:30px}.topbar .wordmark{font-size:12px;margin-right:auto}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,138,0,.14);background:#070605;padding-bottom:env(safe-area-inset-bottom)}.tabbar .navbtn{flex-direction:column;gap:4px;padding:10px 4px;min-height:62px;justify-content:center;font-size:10px;border-radius:0;letter-spacing:.1em}.tabbar .navbtn[aria-current=page]{background:none;border-color:transparent;box-shadow:inset 0 2px 0 var(--saffron)}.hero{min-height:0;padding-top:34vh}.hero p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hero-art:after{background:linear-gradient(0deg,var(--bg) 8%,rgba(5,5,5,.55) 55%,rgba(5,5,5,.1))}.row{grid-auto-columns:74vw}.settings{grid-template-columns:1fr;gap:16px}.tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none}.tabs .navbtn{white-space:nowrap}.detail{padding-top:90px}.btn-xl{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}html.lite .btn,html.lite .badge,html.lite .field{backdrop-filter:none;-webkit-backdrop-filter:none}html.lite .logo{filter:none}html.lite .card{transition:none}.rt-status{margin:0 0 28px}.rt-list{display:grid;gap:8px}.rt-row{display:grid;grid-template-columns:18px minmax(140px,1.2fr) auto auto minmax(0,3fr);align-items:center;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid rgba(255,138,0,.12);border-radius:var(--r)}.rt-row .dot{font-size:14px;line-height:1}.rt-row .dot.ok{color:var(--saffron);text-shadow:0 0 8px rgba(255,153,51,.6)}.rt-row .dot.warn{color:#e0b04a}.rt-row .dot.off{color:#5a524a}.rt-row .rt-name{font-weight:700;letter-spacing:.04em}.rt-row .rt-name small{color:var(--muted);font-weight:400;margin-left:6px}.rt-row .rt-live{color:#f1e6d8;font-size:13px}.rt-row .rt-detail{color:var(--muted);font-size:13px}.badge.maturity-ready,.badge.live-available{border-color:#ff993373;color:var(--saffron)}.badge.maturity-in-development,.badge.maturity-architecture-ready,.badge.live-mock-only,.badge.live-busy{border-color:#e0b04a66;color:#e0b04a}.badge.maturity-research,.badge.live-not-deployed,.badge.live-no-cloud{color:var(--muted)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#ddd5cc;flex-basis:100%}.consent input{width:20px;height:20px;accent-color:var(--saffron);flex:none;margin-top:2px}@media(max-width:720px){.rt-row{grid-template-columns:18px 1fr auto}.rt-row .rt-detail{grid-column:2 / -1}.rt-row .badge{display:none}}
