:root{--ink: #f2f0ff;--dim: #9b95c9;--pink: #ff2e88;--cyan: #29e3ff;--gold: #ffd23f;--panel: rgba(10, 6, 26, .78);--line: rgba(160, 140, 255, .28);--display: "Audiowide", "Segoe UI", system-ui, sans-serif;--ui: "Chakra Petch", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#060318;color:var(--ink);font-family:var(--ui);user-select:none}#view{position:fixed;inset:0;width:100%;height:100%;display:block}#ui{position:fixed;inset:0;pointer-events:none}[hidden]{display:none!important}.hud{position:absolute;top:14px;left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(2,minmax(110px,auto)) 96px repeat(2,minmax(110px,auto));align-items:center;gap:14px;padding:8px 18px;background:linear-gradient(180deg,#0a061ab3,#0a061a40);border:1px solid var(--line);border-radius:10px}.hud-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.hud-label{font:600 10px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}.hud-value{font:400 22px/1 var(--display);font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(41,227,255,.55)}.lives{display:flex;gap:4px;min-height:22px;align-items:center}.lives i{display:block;width:22px;height:7px;border-radius:4px;background:linear-gradient(90deg,var(--cyan),#c9d1ff 30%,#c9d1ff 70%,var(--cyan));box-shadow:0 0 8px var(--cyan)}.hud-mid{height:52px;justify-content:center}.beat-ring{--pulse: 0;--hit: 0;width:calc(44px + var(--pulse) * 10px);height:calc(44px + var(--pulse) * 10px);border-radius:50%;border:2px solid color-mix(in srgb,var(--pink) calc(40% + var(--pulse) * 60%),transparent);box-shadow:0 0 calc(var(--pulse) * 22px + var(--hit) * 30px) color-mix(in srgb,var(--gold) calc(var(--hit) * 100%),var(--pink));display:grid;place-items:center;font:400 15px/1 var(--display);color:var(--gold);text-shadow:0 0 10px var(--gold)}.hud-power{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);font:600 12px/1 var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 10px var(--gold);opacity:0;transition:opacity .3s}.hud-power.on{opacity:1}.banner{position:absolute;top:42%;left:0;right:0;text-align:center;transform:translateY(-50%)}.banner.in{animation:banner-in .45s cubic-bezier(.2,1.6,.4,1) both}@keyframes banner-in{0%{opacity:0;transform:translateY(-50%) scale(1.6);filter:blur(8px)}to{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0)}}.banner .big{font:400 clamp(40px,7vw,84px)/1 var(--display);letter-spacing:.06em;text-shadow:0 0 24px var(--pink),3px 0 0 rgba(41,227,255,.7),-3px 0 0 rgba(255,46,136,.7)}.banner .small{margin-top:12px;font:600 16px/1.2 var(--ui);letter-spacing:.4em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 10px var(--cyan)}.banner.count .big{font-size:clamp(70px,12vw,150px);color:var(--gold);text-shadow:0 0 30px var(--gold)}.panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:28px 32px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 0 60px #ff2e8826,inset 0 0 40px #29e3ff0d;backdrop-filter:blur(6px);pointer-events:auto;text-align:center}.panel h2{margin:0 0 18px;font:400 30px/1.1 var(--display);letter-spacing:.08em;text-shadow:0 0 18px var(--pink)}.panel p{margin:0 0 12px;color:var(--dim);line-height:1.5}.menu{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.menu li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;border-radius:8px;border:1px solid transparent;font:600 17px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--dim);transition:color .12s,background .12s,border-color .12s}.menu li:only-child,.menu li:not(:has(.menu-value)){justify-content:center}.menu li.on{color:var(--ink);background:linear-gradient(90deg,#ff2e882e,#29e3ff1f);border-color:#ff2e8880;text-shadow:0 0 10px rgba(255,46,136,.8)}.menu li.disabled{opacity:.4;cursor:default}.menu-value{display:flex;align-items:center;gap:10px;color:var(--cyan);font-variant-numeric:tabular-nums}.menu-value b{font-weight:700;padding:0 4px;color:var(--pink)}.panel-title,.panel-power{background:none;border:none;box-shadow:none;backdrop-filter:none;width:min(980px,calc(100vw - 32px))}.logo{font:400 clamp(46px,8vw,104px)/.9 var(--display);white-space:nowrap;letter-spacing:.04em;color:#fff;text-shadow:0 0 18px var(--pink),0 0 48px var(--pink),4px 0 0 rgba(41,227,255,.85),-4px 0 0 rgba(255,46,136,.85);animation:logo-hum 3.2s ease-in-out infinite}@keyframes logo-hum{0%,to{text-shadow:0 0 18px var(--pink),0 0 48px var(--pink),4px 0 0 rgba(41,227,255,.85),-4px 0 0 rgba(255,46,136,.85)}50%{text-shadow:0 0 24px var(--pink),0 0 70px var(--pink),6px 0 0 rgba(41,227,255,.85),-6px 0 0 rgba(255,46,136,.85)}}.tagline{margin-top:14px;font:600 14px/1 var(--ui);letter-spacing:.5em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 10px var(--cyan)}.panel-title .menu{margin:34px auto 0;width:min(380px,100%)}.power-hint{margin-top:46px;font:600 18px/1 var(--ui);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px var(--gold);animation:blink 1.2s steps(2) infinite;pointer-events:auto;cursor:pointer}@keyframes blink{50%{opacity:.25}}.fine{margin-top:20px;font-size:13px;letter-spacing:.12em;color:var(--dim)}.tabs{display:flex;justify-content:center;gap:10px;margin-bottom:14px}.tabs span{padding:6px 14px;border-radius:6px;font:600 13px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line)}.tabs span.on{color:var(--ink);border-color:var(--pink);box-shadow:0 0 12px #ff2e8866}table.scores{width:100%;border-collapse:collapse;font:500 17px/1 var(--ui);font-variant-numeric:tabular-nums}table.scores td{padding:7px 8px;border-top:1px solid rgba(160,140,255,.12)}table.scores td:first-child{color:var(--dim);width:2.5em;text-align:right}table.scores td.ini{font-family:var(--display);letter-spacing:.15em;color:var(--cyan);text-align:left}table.scores td.pts{text-align:right}table.scores td.rd{color:var(--dim);text-align:right;font-size:13px}table.scores tr.new td{color:var(--gold);text-shadow:0 0 10px var(--gold)}.initials{display:flex;justify-content:center;gap:16px;margin:22px 0 10px}.initials span{width:64px;height:80px;display:grid;place-items:center;font:400 52px/1 var(--display);border:2px solid var(--line);border-radius:10px;color:var(--dim)}.initials span.on{color:var(--gold);border-color:var(--gold);box-shadow:0 0 22px #ffd23f80;text-shadow:0 0 14px var(--gold);animation:blink .9s steps(2) infinite}.final-score{font:400 44px/1 var(--display);color:var(--gold);text-shadow:0 0 18px var(--gold);margin:8px 0 14px}.howto{text-align:left}.howto dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 16px}.howto dt{font:600 13px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}.howto dd{margin:0;color:var(--dim);line-height:1.4}.howto h3{margin:18px 0 8px;font:400 16px/1 var(--display);letter-spacing:.1em;color:var(--pink)}.caps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;margin:0;padding:0;list-style:none;color:var(--dim);font-size:14px}.caps b{display:inline-block;width:1.6em;font-family:var(--display);color:var(--gold)}.toast{position:absolute;bottom:18px;left:50%;transform:translate(-50%);max-width:min(720px,calc(100vw - 32px));padding:10px 16px;border-radius:8px;background:#280614d9;border:1px solid rgba(255,46,136,.5);font-size:13px;color:var(--ink)}@media(prefers-reduced-motion:reduce){.logo,.power-hint,.initials span.on{animation:none}.banner.in{animation-duration:.01s}}
