:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0b1e;--bg-deep:#070613;--surface:#1a1830;--surface-hi:#2b2750;--surface-lo:#141229;--ink:#f4e9d8;--ink-dim:#cdc5e8;--muted:#8a86b8;--wire:#4b4673;--wire-hi:#6d66a3;--accent:#39ff7a;--accent-dim:#1fb256;--accent-glow:#39ff7a59;--hot:#ff3c78;--warn:#ffd447;--danger:#ff4b3e;--font-display:"Press Start 2P", "Silkscreen", monospace;--font-readout:"VT323", "JetBrains Mono", monospace;--font-body:"JetBrains Mono", ui-monospace, monospace;--shadow-hard:4px 4px 0 #000;--shadow-wire:2px 2px 0 var(--wire);font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:13px}*{box-sizing:border-box}html,body,#app{height:100%;min-height:100%;margin:0}body{background:repeating-linear-gradient(0deg, transparent 0 2px, #00000040 2px 3px), radial-gradient(circle at 20% 0%, #39ff7a14, transparent 40%), radial-gradient(circle at 100% 100%, #ff3c7814, transparent 45%), var(--bg);background-attachment:fixed}button,select,input{font:inherit;color:inherit}.app-shell{grid-template-rows:auto minmax(0,1fr);gap:16px;height:100vh;min-height:0;padding:20px;display:grid;overflow:hidden}.app-shell__header{background:var(--surface);border:2px solid var(--wire);box-shadow:var(--shadow-wire);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:12px 16px;display:grid}.app-shell__brand{flex-direction:column;gap:6px;min-width:0;display:flex}.app-shell__brand .eyebrow{color:var(--accent);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 6px var(--accent-glow);margin:0;font-size:8px}.app-shell__brand h1{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);margin:0;font-size:16px}.app-shell__brand .subtitle{color:var(--muted);margin:0;font-size:11px}.app-shell__header-action{justify-content:center;align-items:center;display:flex}.app-shell__status{flex-wrap:wrap;justify-self:end;align-items:center;gap:8px;display:flex}.status-chip{background:var(--surface-lo);border:2px solid var(--wire);color:var(--ink);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;padding:6px 10px;font-size:8px;display:inline-flex}.status-chip:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent-glow)}.status-chip[data-tone=muted]:before{background:var(--muted);box-shadow:none}.app-shell__workspace{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:16px;min-height:0;display:grid;overflow:hidden}.app-shell[data-profile=portrait] .app-shell__workspace{grid-template-columns:minmax(0,1fr)}.game-host{flex-direction:column;min-width:0;min-height:0;display:flex}.game-host__bezel-label{border:2px solid var(--wire);background:var(--surface-hi);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);border-bottom:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;font-size:8px;display:flex}.game-host__bezel-label .dots{gap:4px;display:inline-flex}.game-host__bezel-label .dots i{background:var(--wire-hi);width:6px;height:6px;display:block}.game-host__bezel-label .dots i:first-child{background:var(--danger)}.game-host__bezel-label .dots i:nth-child(2){background:var(--warn)}.game-host__bezel-label .dots i:nth-child(3){background:var(--accent)}.game-root{border:2px solid var(--wire);background:repeating-linear-gradient(0deg, transparent 0 2px, #ffffff05 2px 3px), var(--bg-deep);min-height:0;box-shadow:var(--shadow-wire), inset 0 0 0 2px var(--bg-deep);flex:auto;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.game-root canvas{image-rendering:pixelated;image-rendering:crisp-edges;z-index:1;display:block;position:relative}.bg-video{object-fit:cover;z-index:0;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.bg-video.is-active{display:block}.play-toast{border:2px solid var(--accent);box-shadow:var(--shadow-wire);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);pointer-events:none;opacity:0;z-index:90;background:#070613eb;padding:10px 14px;font-size:8px;transition:opacity .12s steps(2,end),transform .12s steps(2,end);position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(12px)}.play-toast.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.app-shell.is-play-mode{gap:0;padding:0}.app-shell.is-play-mode .app-shell__header{display:none}.app-shell.is-play-mode .app-shell__workspace{display:block}.app-shell.is-play-mode .game-host{z-index:80;position:fixed;inset:0}.app-shell.is-play-mode .game-host__bezel-label{z-index:2;border-bottom:2px solid var(--wire);background:#2b2750e0;width:auto;min-width:220px;position:absolute;top:12px;left:12px}.app-shell.is-play-mode .game-root{height:100vh;min-height:100vh;box-shadow:none;border:none}.app-shell.is-play-mode .debug-panel{display:none}.app-shell--game-only{background:var(--bg-deep);grid-template-rows:minmax(0,1fr);gap:0;padding:0}.app-shell--game-only .app-shell__workspace{min-height:100vh;display:block;overflow:hidden}.app-shell--game-only .game-host{position:fixed;inset:0}.app-shell--game-only .game-root{width:100vw;height:100vh;min-height:100vh;box-shadow:none;border:none}.debug-panel{background:var(--surface);border:2px solid var(--wire);box-shadow:var(--shadow-wire);flex-direction:column;min-height:0;display:flex;overflow:hidden}.debug-panel__header{background:var(--surface-hi);border-bottom:2px solid var(--wire);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.debug-panel__title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin:0;font-size:10px;display:flex}.debug-panel__title:before{content:"▚";color:var(--hot)}.debug-panel__body{gap:14px;min-height:0;padding:14px 12px 16px;display:grid;overflow-y:auto}.debug-panel.is-collapsed .debug-panel__body{display:none}.debug-panel__guard{border:2px dashed var(--wire);background:var(--surface-lo);color:var(--muted);padding:10px 12px;font-size:11px;line-height:1.5}.debug-panel__controls{gap:14px;display:grid}.debug-panel__controls.is-disabled{opacity:.45;pointer-events:none}.panel-group{background:var(--surface-lo);border:2px solid var(--wire);gap:8px;padding:10px;display:grid}.panel-group__title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:8px}.panel-group__row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.panel-note{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.shell-button{appearance:none;background:var(--surface-hi);color:var(--ink);border:2px solid var(--wire-hi);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:10px 12px;font-size:8px;transition:transform 80ms steps(2,end),box-shadow 80ms steps(2,end),border-color .12s steps(2,end),color .12s steps(2,end);box-shadow:2px 2px #000}.shell-button:hover{border-color:var(--accent);color:var(--accent)}.shell-button:active{transform:translate(2px,2px);box-shadow:0 0 #000}.shell-button[data-variant=primary]{background:var(--accent-dim);border-color:var(--accent);color:var(--bg-deep);text-shadow:none}.shell-button[data-variant=primary]:hover{color:var(--bg-deep);background:var(--accent)}.shell-button[data-variant=danger]:hover{border-color:var(--hot);color:var(--hot)}.toggle-row{color:var(--ink-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:6px 0;font-size:12px;display:flex}.toggle-row input[type=checkbox]{appearance:none;background:var(--bg-deep);border:2px solid var(--wire-hi);cursor:pointer;flex:0 0 16px;width:16px;height:16px;margin:0;display:inline-block;position:relative;box-shadow:inset 1px 1px #0009}.toggle-row input[type=checkbox]:hover{border-color:var(--accent)}.toggle-row input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent);box-shadow:0 0 6px var(--accent-glow), inset 1px 1px 0 #0006}.toggle-row input[type=checkbox]:checked:after{content:"";background:var(--bg-deep);clip-path:polygon(14% 44%,0 65%,40% 100%,100% 20%,80% 0,43% 62%);position:absolute;inset:2px}.stack-row{gap:6px;display:grid}.stack-row__label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:8px}.stack-row select{appearance:none;background-color:var(--bg-deep);background-image:linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(-45deg, transparent 50%, var(--accent) 50%);color:var(--ink);border:2px solid var(--wire-hi);font-family:var(--font-body);cursor:pointer;background-position:calc(100% - 14px),calc(100% - 8px);background-repeat:no-repeat;background-size:6px 6px;padding:8px 28px 8px 10px;font-size:12px;box-shadow:inset 1px 1px #00000080}.stack-row select:hover,.stack-row select:focus{border-color:var(--accent);outline:none}.movement-speed-controls{gap:8px;display:grid}.number-row{color:var(--ink-dim);grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:8px;font-size:12px;display:grid}.number-row span{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:8px}.number-row input[type=number]{background:var(--bg-deep);border:2px solid var(--wire-hi);width:100%;color:var(--ink);font-family:var(--font-body);padding:8px;font-size:12px;box-shadow:inset 1px 1px #00000080}.number-row input[type=number]:hover,.number-row input[type=number]:focus{border-color:var(--accent);outline:none}.metrics{background:var(--bg-deep);border:2px solid var(--wire);gap:6px;padding:10px;display:grid}.metrics__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.metrics__row span{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:8px}.metrics__row strong{font-family:var(--font-readout);color:var(--accent);text-shadow:0 0 6px var(--accent-glow);font-variant-numeric:tabular-nums;font-size:20px;font-weight:400;line-height:1}@media (width<=960px){.app-shell{padding:12px;overflow:auto}.app-shell__header{grid-template-columns:1fr}.app-shell__header-action,.app-shell__status{justify-self:start}.app-shell__workspace{grid-template-columns:minmax(0,1fr)}}
