:root{--bg: #070d22;--glass: rgba(10, 17, 40, .74);--glass-strong: rgba(10, 17, 40, .9);--line: rgba(127, 227, 255, .18);--text: #f4f1e8;--muted: rgba(244, 241, 232, .62);--zap: #7fe3ff;--zap-deep: #2aa8dc;--amber: #ffcc1f;--amber-deep: #c99400;--red: #ff4d5e;--display: "Bungee", "Fredoka", system-ui, sans-serif;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--glow-zap: 0 0 18px rgba(127, 227, 255, .45);--glow-amber: 0 0 22px rgba(255, 204, 31, .5)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);font-family:Fredoka,system-ui,sans-serif;color:var(--text);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#game{display:block;width:100vw;height:100vh;touch-action:none}body.playing #game{cursor:none}.hidden{display:none!important}svg{width:1em;height:1em;fill:currentColor;flex:none}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 55%,rgba(3,6,18,.55) 100%)}#hud{position:fixed;top:calc(12px + env(safe-area-inset-top));left:12px;right:12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px;pointer-events:none}.hud-left{display:flex;flex-wrap:wrap;gap:8px}.hud-right{display:flex;gap:8px;justify-content:flex-end}.hud-pill{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:var(--shadow);font-weight:600;font-size:17px;white-space:nowrap}.hearts{gap:4px;padding:0 10px}.hearts svg{width:24px;height:24px;color:var(--red);filter:drop-shadow(0 0 6px rgba(255,77,94,.6));transition:color .2s,filter .2s,transform .2s}.hearts svg.off{color:#f4f1e824;filter:none;transform:scale(.85)}.wave .label{font-family:var(--display);font-size:12px;color:var(--muted);letter-spacing:.5px}.wave .num{font-family:var(--display);font-size:20px;color:var(--zap)}.wave .left{display:flex;align-items:center;gap:3px;padding-left:10px;margin-left:2px;border-left:1px solid var(--line);color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}.hud-pill.bump{animation:bump .4s ease-out}.hud-timer{font-family:var(--display);font-size:34px;line-height:1;padding-top:4px;min-width:110px;text-align:center;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgba(0,0,0,.5),0 0 18px rgba(127,227,255,.35)}.icon-btn{pointer-events:auto;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:12px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:var(--shadow);color:var(--text);font-size:20px;cursor:pointer}.icon-btn:hover{border-color:var(--zap);color:var(--zap)}@keyframes bump{40%{transform:scale(1.15);border-color:var(--amber);box-shadow:var(--glow-amber)}}#boss-bar{position:fixed;top:calc(64px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(440px,calc(100vw - 32px));text-align:center;pointer-events:none}.boss-name{font-family:var(--display);color:var(--amber);font-size:14px;letter-spacing:1px;text-shadow:0 2px 0 rgba(0,0,0,.6),var(--glow-amber);margin-bottom:6px}.boss-track{height:12px;padding:2px;border-radius:999px;background:var(--glass-strong);border:1px solid rgba(255,204,31,.35);box-shadow:var(--shadow)}#boss-fill{display:block;height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#ff7a2a,var(--amber));box-shadow:0 0 10px #ffaa28b3;transition:width .15s}.banner{position:fixed;top:28%;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);padding:14px 30px 16px;border-radius:16px;background:var(--glass-strong);border:1px solid rgba(127,227,255,.4);box-shadow:var(--shadow),var(--glow-zap);font-family:var(--display);font-size:30px;color:var(--text);text-align:center;text-shadow:0 0 16px rgba(127,227,255,.6);pointer-events:none;animation:banner-in .35s cubic-bezier(.2,1.4,.4,1)}.banner small{display:block;max-width:34ch;margin:6px auto 0;font-family:Fredoka,system-ui,sans-serif;font-size:16px;font-weight:500;color:var(--muted);text-shadow:none}.banner.combo{top:auto;bottom:calc(120px + env(safe-area-inset-bottom));padding:8px 20px;background:var(--amber);border-color:transparent;color:#241a00;font-size:20px;text-shadow:none;box-shadow:var(--shadow),var(--glow-amber)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-14px) scale(.92)}}#power{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:14px;pointer-events:none}.charge{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 10px;border-radius:12px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:var(--shadow)}.charge-icon{font-size:20px;color:var(--zap);filter:drop-shadow(0 0 5px rgba(127,227,255,.8))}.charge-track{position:relative;width:170px;height:14px;border-radius:4px;background:#ffffff14;overflow:hidden}.charge-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),rgba(10,17,40,.95) calc(10% - 2px) 10%)}#charge-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--zap-deep),var(--zap));box-shadow:0 0 12px #7fe3ffcc}.charge.low .charge-icon{color:var(--red);filter:drop-shadow(0 0 5px rgba(255,77,94,.8))}.charge.low #charge-fill{background:var(--red)}.charge.low{border-color:#ff4d5e80;animation:pulse .35s ease-in-out infinite alternate}.charge.bump{animation:shake .3s}#surge-btn{--p: 0;position:relative;display:grid;place-items:center;width:78px;height:78px;padding:0;border:none;border-radius:50%;background:conic-gradient(var(--zap) calc(var(--p) * 1turn),rgba(255,255,255,.1) 0);box-shadow:var(--shadow);color:var(--muted);font-family:var(--display);font-size:13px;line-height:1.05;cursor:pointer;pointer-events:auto;touch-action:none}#surge-btn:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--glass-strong)}.surge-text{position:relative}#surge-btn.ready{background:var(--amber);color:#241a00;box-shadow:var(--shadow),0 0 28px #ffcc1fcc;animation:pulse .5s ease-in-out infinite alternate}#surge-btn.ready:before{background:radial-gradient(circle at 50% 35%,#ffe680,var(--amber))}#surge-btn:active{transform:scale(.94)}@keyframes pulse{to{transform:scale(1.07)}}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}#danger,#hurt,#surge-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0}#danger{background:radial-gradient(ellipse at center,#ff4d5e00 55%,#ff4d5e80)}#hurt{background:#ff3c4673}#surge-flash{background:radial-gradient(circle at center,#dcfaffd9,#7fe3ff40 70%)}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#04081680;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.panel,.menu{background:var(--glass);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow),inset 0 1px #ffffff0f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.panel{width:min(400px,100%);max-height:calc(100vh - 32px);overflow-y:auto;padding:28px 28px 24px;text-align:center}h1,h2{font-family:var(--display);font-weight:400;margin:0}h2{font-size:30px;margin-bottom:8px;color:var(--text)}.btn-col{display:flex;flex-direction:column;gap:10px;margin-top:20px}.btn{font-family:inherit;font-size:18px;font-weight:600;border:1px solid rgba(127,227,255,.45);border-radius:12px;padding:12px;background:#7fe3ff1f;color:var(--zap);cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s}.btn:hover{background:#7fe3ff33;box-shadow:var(--glow-zap)}.btn.big{font-family:var(--display);font-size:26px;padding:14px 56px;border:none;background:linear-gradient(180deg,#ffdc4d,var(--amber));color:#241a00;box-shadow:0 5px 0 var(--amber-deep),0 8px 26px #ffcc1f59}.btn.big:hover{box-shadow:0 5px 0 var(--amber-deep),0 8px 34px #ffcc1f99}.btn.big:active{transform:translateY(3px);box-shadow:0 2px 0 var(--amber-deep),0 4px 20px #ffcc1f66}.btn.secondary{border-color:#f4f1e829;background:#f4f1e80f;color:var(--text)}.btn.secondary:hover{background:#f4f1e81f;box-shadow:none}.btn:active{transform:translateY(2px)}.btn:focus-visible,.icon-btn:focus-visible,a:focus-visible{outline:2px solid var(--zap);outline-offset:3px}.menu-screen{align-items:safe center;overflow-y:auto;background:linear-gradient(180deg,#04081640,#040816a6);backdrop-filter:none;-webkit-backdrop-filter:none}.menu{width:min(940px,100%);margin:auto 0;padding:30px 32px 22px}.menu-head{text-align:center;margin-bottom:22px}.kicker{margin:0 0 6px;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--zap);opacity:.85}h1{font-size:clamp(40px,7vw,68px);line-height:1;color:var(--text);text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 30px rgba(127,227,255,.35)}h1 span{color:var(--zap);text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 18px rgba(127,227,255,.9),0 0 42px rgba(127,227,255,.5);animation:flicker 6s infinite}@keyframes flicker{0%,92%,94%,97%,to{opacity:1}93%,96%{opacity:.55}}.tagline{margin:12px 0 0;font-size:18px;color:var(--muted)}.menu-body{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}.menu-main{display:flex;flex-direction:column;align-items:center}.howto{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;text-align:left}.howto li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:8px;padding:12px 14px;border-radius:14px;background:#f4f1e80d;border:1px solid rgba(244,241,232,.08)}.howto svg{font-size:20px;color:var(--zap);filter:drop-shadow(0 0 5px rgba(127,227,255,.6))}.howto li:last-child svg{color:var(--red);filter:drop-shadow(0 0 5px rgba(255,77,94,.6))}.howto b{align-self:center;font-size:16px}.howto span{grid-column:1 / -1;margin-top:4px;font-size:14px;line-height:1.4;color:var(--muted)}.best-line{margin:14px 0 0;font-size:16px;color:var(--muted);min-height:1.2em}.best-line b{color:var(--amber)}.board-box{border-radius:16px;padding:16px 16px 10px;background:#0307148c;border:1px solid rgba(255,204,31,.22)}.board-title{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 10px;font-size:17px;color:var(--amber);text-shadow:var(--glow-amber)}.board-title svg{font-size:22px}.board table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}.board th{font-weight:500;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 6px 6px}.board td{padding:6px;text-align:left;border-top:1px solid rgba(255,255,255,.07)}.board th.num,.board td.num{text-align:right}.board td.rank{width:2.5em;color:var(--muted)}.board tbody tr:nth-child(1) td.rank{color:var(--amber);font-weight:700}.board tbody tr:nth-child(2) td.rank{color:#dfe3ea;font-weight:700}.board tbody tr:nth-child(3) td.rank{color:#e0a070;font-weight:700}.board td.name{font-weight:600;max-width:10em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board tr.me td{background:#ffcc1f24;color:var(--amber)}.board tr.gap td{text-align:center;color:var(--muted);border:none;padding:0}.board-empty{margin:10px 0 14px;text-align:center;color:var(--muted);font-size:15px}.board.compact{margin-top:14px;padding:8px 10px;border-radius:14px;background:#0307148c;border:1px solid rgba(255,204,31,.22)}.board.compact:empty{display:none}.board a{color:var(--amber)}.about{margin:22px 0 0;font-size:13px;line-height:1.55;color:#f4f1e873}.menu-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(244,241,232,.08);font-size:15px}.menu-links a,.over-rank a{color:var(--zap);font-weight:600;text-decoration:none}.menu-links a:hover,.over-rank a:hover{text-decoration:underline}.over-label{margin:10px 0 2px;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.over-time{font-family:var(--display);font-size:64px;line-height:1.05;color:var(--amber);text-shadow:0 4px 0 rgba(0,0,0,.45),var(--glow-amber);font-variant-numeric:tabular-nums}.over-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 4px}.stat{padding:8px 4px;border-radius:12px;background:#f4f1e80d;border:1px solid rgba(244,241,232,.08)}.stat b{display:block;font-size:22px;font-variant-numeric:tabular-nums}.stat span{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.stat.best{border-color:#ffcc1f80;background:#ffcc1f1f}.stat.best b{color:var(--amber)}.over-rank{margin:12px 0 0;font-size:16px;font-weight:600;min-height:1.2em}@media(max-width:760px){.menu-body{grid-template-columns:1fr}}@media(max-width:600px){.menu{padding:22px 16px 16px}.panel{padding:22px 16px 18px}.howto{grid-template-columns:1fr;gap:8px}.howto li{padding:10px 12px}.hud-pill{height:36px;padding:0 10px;font-size:15px}.hearts svg{width:19px;height:19px}.wave .label{display:none}.wave .num{font-size:17px}.hud-timer{font-size:24px;min-width:70px}.icon-btn{width:36px;height:36px;font-size:18px}.charge-track{width:110px}#surge-btn{width:70px;height:70px;font-size:12px}.banner{font-size:22px;padding:12px 20px 14px}#boss-bar{top:calc(106px + env(safe-area-inset-top))}.over-time{font-size:52px}}@media(prefers-reduced-motion:reduce){h1 span,#surge-btn.ready,.charge.low{animation:none}}
