:root{--bg:#091014;--panel:#111a20;--panel-2:#17242c;--text:#eef6f4;--muted:#a7b7b3;--line:#2b3c45;--green:#38d9a9;--cyan:#4cc9f0;--yellow:#ffd166;--red:#ff5c7a;--shadow:0 18px 60px #00000061;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{border:1px solid var(--line);min-height:42px;color:var(--text);font:inherit;cursor:pointer;background:#1d2b33;border-radius:7px;font-weight:700}input{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--text);font:inherit;background:#0d171d;border-radius:7px;padding:0 12px}button:hover{border-color:var(--green);background:#243741}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button[aria-pressed=true]{border-color:var(--cyan);background:#153743}.app-shell{background:linear-gradient(180deg, #4cc9f014, transparent 38%), radial-gradient(circle at 10% 20%, #38d9a91f, transparent 24%), var(--bg);min-height:100svh;padding:20px}.game-band{width:min(1360px,100%);margin:0 auto}.topbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.eyebrow{color:var(--green);text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:800}h1,h2,p{margin:0}h1{font-size:38px;line-height:1.05}h2{font-size:15px}.release-pill{border:1px solid var(--line);text-align:right;background:#111a20eb;border-radius:7px;gap:2px;max-width:420px;padding:10px 12px;display:grid}.release-pill span{color:var(--muted);font-size:12px}.release-pill strong{overflow-wrap:anywhere;font-size:14px}.stage-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.stage-panel,.hud-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#111a20f0;border-radius:8px}.stage-panel{overflow:hidden}#game-root{background:#071018;place-items:center;width:100%;min-height:420px;display:grid}#game-root canvas{display:block}.player-gate{border:1px solid var(--line);background:#111a20f5;border-radius:8px;gap:10px;width:min(440px,100% - 32px);padding:18px;display:grid}.player-gate[hidden]{display:none}.player-gate label{color:var(--text);font-size:18px;font-weight:800}.player-entry-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}#player-id-preview,#player-id-status{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.form-error{min-height:18px;color:var(--red);font-size:13px}.touch-controls{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding:10px;display:none}.hud-panel{gap:12px;padding:12px;display:grid}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-grid div,.status-card,.controls-card{border:1px solid var(--line);background:var(--panel-2);border-radius:7px}.stat-grid div{gap:4px;padding:12px;display:grid}.stat-grid span,.status-card span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.stat-grid strong{font-size:26px;line-height:1}.status-card,.controls-card{gap:10px;padding:12px;display:grid}.status-card strong{color:var(--yellow);font-size:20px}.status-card p{color:var(--muted);line-height:1.4}.controls-card button:first-of-type{border-color:#ffd16673}.controls-card button:nth-of-type(2){border-color:#ff5c7a73}.controls-card button:nth-of-type(3){background:#45232d;border-color:#ff5c7abf}@media (width<=1000px){.app-shell{padding:12px}.topbar,.stage-layout{grid-template-columns:1fr;display:grid}.release-pill{text-align:left;max-width:none}.stage-layout{gap:12px}.hud-panel{grid-template-columns:1fr}.touch-controls{display:grid}}@media (width<=560px){h1{font-size:30px}#game-root{min-height:300px}.player-entry-row{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}}
