:root{--bg: #04061a;--gold: #ffd21f;--red: #ff4133;--dim: #8b93c2;--note: #f3e38a}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#050304}body{font-family:IBM Plex Mono,ui-monospace,monospace;color:#f4ecd2;-webkit-tap-highlight-color:transparent}#room{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#room.pointer{cursor:pointer}.loader{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#030208;transition:opacity .6s ease}.loader.gone{opacity:0;pointer-events:none}.loader-box{display:flex;flex-direction:column;align-items:center;gap:16px}.loader-title{font:11px "Press Start 2P",monospace;letter-spacing:.08em;color:var(--gold);animation:flicker 1.4s steps(2) infinite}.loader-bar{width:200px;height:10px;border:2px solid #3a3f6e;padding:1px}.loader-bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .2s}@keyframes flicker{50%{opacity:.45}}.back,.sound{position:fixed;top:16px;z-index:20;padding:8px 11px;border:1px solid rgba(255,255,255,.14);background:#08060a9e;font:500 10.5px IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase;color:#efe6c8;text-decoration:none;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.back{left:16px}.sound{right:16px}.back:hover,.sound:hover{border-color:var(--gold);color:var(--gold)}.sound[aria-pressed=false]{color:#8a8470}.sticky{position:fixed;left:14px;bottom:14px;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 14px;background:var(--note);color:#2a2208;transform:rotate(-3deg);box-shadow:0 8px 18px #0000008c;font:500 11px IBM Plex Mono,monospace}.sticky:before{content:"";position:absolute;left:50%;top:-8px;width:54px;height:16px;margin-left:-27px;background:#ffffff61;transform:rotate(4deg)}.sticky a,.sticky button{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}.sticky a:hover,.sticky button:hover{text-decoration:underline}.hint{position:fixed;left:50%;bottom:22px;z-index:15;transform:translate(-50%);font:500 12px IBM Plex Mono,monospace;letter-spacing:.06em;color:#e8dfc4;text-shadow:0 1px 6px #000;white-space:nowrap;pointer-events:none;transition:opacity .4s}.hint.off{opacity:0}.cartbar{position:fixed;left:50%;bottom:18px;z-index:22;transform:translate(-50%);display:flex;align-items:center;gap:12px}.cartbar[hidden]{display:none}.cartbar-keys{font:10px "Press Start 2P",monospace;color:#cfc6a8;text-shadow:0 1px 4px #000}.cartbar button,.pad-eject{padding:9px 12px;border:1px solid #5c1a14;background:#a3241b;font:10px "Press Start 2P",monospace;color:#fff1e6;cursor:pointer;box-shadow:inset 0 -3px #0000004d}.cartbar button:active,.pad-eject:active{transform:translateY(1px);box-shadow:none}.arcade{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;background:radial-gradient(ellipse at center,#0a0a1a,#000 75%);animation:tube-on .5s ease-out}.arcade[hidden]{display:none}@keyframes tube-on{0%{clip-path:inset(49.5% 0 49.5% 0);filter:brightness(3)}45%{clip-path:inset(49.5% 0 49.5% 0)}to{clip-path:inset(0 0 0 0);filter:none}}.arcade-bezel{position:relative;width:min(100%,calc((100vh - 110px) * 16 / 9));aspect-ratio:16 / 9;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 0 0 10px #16131a,0 0 0 12px #2b2630,0 30px 80px #000c,0 0 90px #3563ff2e}#rush{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none}.arcade-glass{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.55) 100%),linear-gradient(160deg,rgba(255,255,255,.06) 0%,transparent 30%);border-radius:22px}.arcade-pad{display:flex;align-items:center;gap:16px}.pad-help{font:8px "Press Start 2P",monospace;color:#7d7a94;letter-spacing:.04em}@media(max-width:700px){.hint{bottom:auto;top:58px;font-size:11px}.sticky{font-size:10px;padding:10px 11px}.pad-help{display:none}.arcade-bezel{border-radius:12px}.cartbar{bottom:auto;top:58px}}
