:root{--pink:#ff2d95;--cyan:#22e4ff;--amber:#ffb020;--ink:#f4f1ff;--panel:#0c081ed1;color:var(--ink);font-synthesis:none;-webkit-tap-highlight-color:transparent;background:#05060d;font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0;overflow:hidden}#app{touch-action:none;position:relative}#game-canvas{touch-action:none;width:100%;height:100%;display:block}#hud{top:max(10px, env(safe-area-inset-top));pointer-events:none;justify-content:center;gap:8px;width:min(720px,100% - 20px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-block{background:var(--panel);border:1px solid #7a5cff80;border-radius:10px;flex-direction:column;align-items:center;min-width:70px;padding:6px 12px 7px;display:flex;box-shadow:0 0 18px #7a5cff40,inset 0 0 12px #7a5cff26}.hud-block .label{letter-spacing:.22em;text-transform:uppercase;color:#a99cff;font-size:10px}.hud-block strong{font-variant-numeric:tabular-nums;font-size:20px;line-height:1.1}.hud-score{flex:auto;max-width:240px}.hud-score strong{color:#fff;text-shadow:0 0 10px var(--pink);font-size:26px}.hud-score.bump strong{animation:.18s ease-out bump}@keyframes bump{0%{transform:scale(1.18)}to{transform:scale(1)}}.hud-mult strong{color:var(--amber);text-shadow:0 0 8px var(--amber)}.hud-high strong{color:var(--cyan);text-shadow:0 0 8px var(--cyan)}#ball-pips{gap:5px;margin-top:5px;display:flex}#ball-pips i{background:radial-gradient(circle at 35% 30%,#fff,#8a93a8 60%,#3b4152);border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #ffffff80}#ball-pips i.used{box-shadow:none;background:#2a2540}#ball-pips i.current{outline:2px solid var(--cyan);outline-offset:1px}#message{letter-spacing:.12em;color:#fff;text-shadow:0 0 14px var(--pink), 0 0 30px var(--pink);pointer-events:none;white-space:nowrap;opacity:0;font-size:clamp(22px,5vw,40px);font-weight:900;transition:opacity .15s;position:absolute;top:22%;left:50%;transform:translate(-50%,-50%)}#message.show{opacity:1}#message.cyan{text-shadow:0 0 14px var(--cyan), 0 0 30px var(--cyan)}#message.amber{text-shadow:0 0 14px var(--amber), 0 0 30px var(--amber)}#popups{pointer-events:none;position:absolute;inset:0;overflow:hidden}.popup{color:#fff;text-shadow:0 0 8px;font-size:18px;font-weight:900;animation:.75s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}@keyframes rise{0%{opacity:1;transform:translate(-50%,-50%)scale(1.3)}to{opacity:0;transform:translate(-50%,-150%)scale(1)}}#pause-button{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));background:var(--panel);width:40px;height:40px;color:var(--ink);cursor:pointer;border:1px solid #7a5cff99;border-radius:50%;font-size:14px;font-weight:900;position:absolute}#plunger-button{right:max(14px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));border:2px solid var(--amber);color:#fff;letter-spacing:.15em;touch-action:none;background:radial-gradient(circle at 50% 40%,#ffb02059,#140a1ed9);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:70px;height:70px;font-size:10px;display:none;position:absolute;overflow:hidden;box-shadow:0 0 20px #ffb02080}#plunger-button b{font-size:13px}#plunger-button i{background:#ff2d9573;width:100%;height:0%;position:absolute;bottom:0;left:0}body.touch #plunger-button.ready{animation:1s ease-in-out infinite pulse;display:flex}@keyframes pulse{50%{box-shadow:0 0 34px #ffb020e6}}.overlay{background:radial-gradient(circle at 50% 45%,#1408328c,#03030ad1);place-items:center;padding:20px;display:grid;position:absolute;inset:0}.overlay.hidden,.hidden{display:none!important}.panel{background:var(--panel);text-align:center;border:1px solid #ff2d958c;border-radius:16px;max-width:min(440px,100%);padding:26px 30px 22px;box-shadow:0 0 40px #ff2d9540,inset 0 0 30px #7a5cff33}.panel h1{letter-spacing:.06em;flex-direction:column;margin:0 0 12px;font-size:clamp(38px,9vw,60px);font-weight:900;line-height:.95;display:flex}.pink{color:#ff6fc0;text-shadow:0 0 18px var(--pink)}.cyan{color:#8ff4ff;text-shadow:0 0 18px var(--cyan)}.panel h2{letter-spacing:.1em;color:#ff6fc0;text-shadow:0 0 18px var(--pink);margin:0 0 10px;font-size:clamp(30px,7vw,44px)}.controls{color:#cfc8ff;margin:14px 0;padding:0;font-size:14px;line-height:1.9;list-style:none}.touch-only{display:none}body.touch .touch-only{display:list-item}body.touch .controls li:not(.touch-only){display:none}kbd{background:#ffffff14;border:1px solid #ffffff59;border-radius:5px;min-width:22px;padding:0 6px;font:700 12px/20px Trebuchet MS,sans-serif;display:inline-block}.high-line{color:#a99cff;margin:4px 0}.high-line b{color:var(--cyan);font-size:18px}.final{margin:6px 0;font-size:18px}.final b{color:#fff;text-shadow:0 0 14px var(--pink);font-size:34px;display:block}.badge{background:var(--amber);color:#1a0d00;letter-spacing:.12em;border-radius:999px;margin:2px 0 8px;padding:4px 12px;font-size:13px;font-weight:900;animation:1s ease-in-out infinite pulse;display:inline-block}.cta{color:#fff;margin:16px 0 0;font-weight:700;animation:1.2s steps(2,start) infinite blink}@keyframes blink{50%{opacity:.55}}button.big,button.small{border:1px solid var(--cyan);color:#fff;cursor:pointer;background:#22e4ff26;border-radius:999px;margin:10px auto 0;padding:10px 34px;font:700 18px Trebuchet MS,sans-serif;display:block}button.small{background:0 0;border-color:#ffffff4d;padding:6px 18px;font-size:13px}@media (width<=520px){.hud-block{min-width:0;padding:5px 8px 6px}.hud-block strong{font-size:16px}.hud-score strong{font-size:20px}#hud{gap:5px;width:calc(100% - 64px);left:10px;transform:none}}.cta .touch-text{display:none}body.touch .cta .touch-text{display:inline}body.touch .cta .key-text{display:none}
