:root{--accent:#ff3b3b;--ink:#fff;--muted:#ffffffb3;--glass:#0e0a1e8c}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#1a1440;margin:0;font-family:Inter,system-ui,sans-serif;overflow:hidden}.touch,.keys.touch{display:none}@media (pointer:coarse){.touch{display:revert}.keys.touch{display:grid}.desktop{display:none!important}}#app canvas{display:block}[hidden]{display:none!important}#hud{pointer-events:none;font-family:Orbitron,sans-serif;position:fixed;inset:0}.stat{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));text-shadow:0 2px 10px #00000080;flex-direction:column;font-size:34px;font-weight:800;display:flex;position:absolute}.stat.right{left:auto;right:max(16px, env(safe-area-inset-right));text-align:right;opacity:.85;font-size:22px}.label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:11px}.level{margin-top:8px;font-size:18px}.level .label{display:inline}.level-track{background:#fff3;border-radius:2px;width:110px;height:4px;margin-top:6px;overflow:hidden}#level-bar{background:#ffb070;width:0;height:100%}#levelup{letter-spacing:.06em;text-transform:uppercase;text-align:center;text-shadow:0 4px 24px #00000080;opacity:0;font-size:clamp(30px,7vw,56px);font-weight:800;position:absolute;top:22%;left:50%;transform:translate(-50%,-50%)}#levelup:after{content:attr(data-sub);letter-spacing:.25em;color:#ffb070;margin-top:6px;font-size:14px;display:block}#levelup.show{animation:2.2s ease-out levelup}@keyframes levelup{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}20%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)scale(1)}}.speedo{bottom:max(16px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));letter-spacing:.15em;color:var(--muted);font-size:13px;position:absolute}.speedo span{color:var(--ink);font-size:22px}.overlay{background:radial-gradient(#140a2840,#0a0519a6);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.panel{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border:1px solid #ffffff1f;border-radius:20px;width:min(420px,100%);padding:32px 28px}h1{letter-spacing:.04em;margin:4px 0 10px;font-family:Orbitron,sans-serif;font-size:clamp(34px,9vw,48px);font-weight:800;line-height:1}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#ffb070;margin:0;font-size:12px}.eyebrow.danger{color:var(--accent);font-size:16px}.tag{color:var(--muted);margin:0 0 18px;line-height:1.5}.keys{color:var(--muted);gap:8px;margin-bottom:22px;font-size:14px;display:grid}kbd{min-width:28px;color:var(--ink);border:1px solid #ffffff4d;border-bottom-width:3px;border-radius:6px;margin-right:4px;padding:3px 6px;font-family:inherit;display:inline-block}button{background:var(--accent);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;padding:13px 34px;font:800 15px Orbitron,sans-serif;transition:transform .12s;box-shadow:0 8px 30px #ff3b3b73}button:hover{transform:translateY(-2px)}.hint{color:var(--muted);margin:14px 0 0;font-size:13px}.final{margin:6px 0;font-family:Orbitron,sans-serif;font-size:64px;font-weight:800}.new-best{color:#ffd34d;margin:8px 0 0;font-weight:600}
