:root{--bg0:#04060f;--bg1:#0a1024;--fg:#e8ecff;--muted:#8993b8;--r:#ff3b6b;--g:#3bff8a;--b:#3b9bff}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:radial-gradient(ellipse at center,#0a1024,#04060f 70%);color:var(--fg);font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#hud{position:fixed;inset:0;pointer-events:none;display:flex;flex-direction:column;padding:14px}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.panel{background:rgba(8,12,28,.5);border:1px solid rgba(120,140,220,.25);border-radius:12px;padding:8px 14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.label{font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.value{font-size:22px;font-weight:700;letter-spacing:1px;line-height:1.1}#combo{color:var(--g)}#best{color:var(--muted);font-size:12px;margin-top:2px}#stability-wrap{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(62vw,360px);pointer-events:none;text-align:center}.stab-label{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:5px}#stability-bar{height:9px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden;border:1px solid rgba(120,140,220,.25)}#stability-fill{height:100%;width:100%;background:linear-gradient(90deg,#ff3b6b,#ffb83b,#3bff8a);transition:width .15s ease;box-shadow:0 0 12px rgba(120,160,255,.3)}#overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,rgba(6,10,24,.55),rgba(2,3,8,.94));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);text-align:center;padding:24px;pointer-events:auto;z-index:5}#overlay.hidden{display:none}.title{font-size:clamp(34px,8vw,64px);font-weight:900;letter-spacing:6px;background:linear-gradient(90deg,#ff3b6b,#3bff8a,#3b9bff);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:6px;filter:drop-shadow(0 0 22px rgba(120,160,255,.25))}.subtitle{color:var(--muted);font-size:13px;letter-spacing:4px;margin-bottom:24px;text-transform:uppercase}.btn{pointer-events:auto;background:rgba(20,28,60,.7);border:1px solid rgba(120,140,220,.4);color:var(--fg);font-size:15px;font-weight:700;letter-spacing:2px;padding:13px 30px;border-radius:999px;cursor:pointer;text-transform:uppercase;transition:transform .1s ease,box-shadow .2s ease,background .2s ease}.btn:hover,.btn:active{background:rgba(40,60,120,.85);box-shadow:0 0 28px rgba(120,160,255,.45);transform:translateY(-1px)}.instructions{color:var(--muted);font-size:13px;max-width:400px;line-height:1.65;margin-top:20px}.instructions b{color:var(--fg)}.kbd{display:inline-block;padding:1px 7px;border-radius:5px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-size:12px;color:var(--fg)}#final-score{font-size:44px;font-weight:900;color:var(--fg);margin:8px 0 2px;line-height:1}#final-combo{color:var(--g);font-size:14px;letter-spacing:2px;margin-bottom:20px}.hint{position:fixed;left:50%;top:62%;transform:translate(-50%,-50%);color:rgba(232,236,255,.55);font-size:13px;letter-spacing:2px;pointer-events:none;text-transform:uppercase;animation:pulse 1.6s ease-in-out infinite;z-index:2}.hint.hidden{display:none}@keyframes pulse{0%,100%{opacity:.35}50%{opacity:.85}}@media(max-width:540px){.value{font-size:18px}.panel{padding:6px 10px}.instructions{font-size:12.5px}}