@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(./orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(./orbitron-latin-700-normal-DmYOh-W9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:800;src:url(./orbitron-latin-800-normal-CQafOXEd.woff2) format("woff2"),url(./orbitron-latin-800-normal-P4cBi4I7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(./orbitron-latin-900-normal-DrIi7unX.woff2) format("woff2"),url(./orbitron-latin-900-normal-BbJatbhp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(./rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2) format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff")}:root{--cyan: #5ce1ff;--magenta: #ff3bd4;--violet: #b56bff;--yellow: #ffd23b;--red: #ff4d6d;--ink: #eef1ff;--dim: #8f96bd;--panel: rgba(10, 8, 30, .74);--line: rgba(92, 225, 255, .32);--head: "Orbitron", "Segoe UI", sans-serif;--body: "Rajdhani", "Segoe UI", sans-serif;--chamfer: polygon(14px 0, 100% 0, 100% calc(100% - 14px) , calc(100% - 14px) 100%, 0 100%, 0 14px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#05050d;overflow:hidden;color:var(--ink);font-family:var(--body);user-select:none}canvas{display:block;position:fixed;inset:0;touch-action:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}#fx{position:fixed;inset:0;pointer-events:none;z-index:50;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%);mix-blend-mode:multiply}.g,.key{display:inline-flex;align-items:center;justify-content:center;min-width:1.55em;height:1.55em;padding:0 .35em;margin:0 .12em;font:700 .82em/1 var(--body);vertical-align:middle;letter-spacing:0}.g{border-radius:999px;color:#0b0b12;box-shadow:0 0 10px currentColor}.g-a{background:#5fd35a;color:#062306;box-shadow:0 0 10px #5fd35a88}.g-b{background:#ff5148;color:#2b0402;box-shadow:0 0 10px #ff514888}.g-x{background:#3f8cff;color:#02142e;box-shadow:0 0 10px #3f8cff88}.g-y{background:#ffcf33;color:#2b2002;box-shadow:0 0 10px #ffcf3388}.g-sh{border-radius:6px;background:#d9def5;color:#11131f;box-shadow:0 0 8px #d9def566;min-width:2.1em}.g-sm,.g-st,.g-dp{background:#2a2f4a;color:#e9ecff;box-shadow:0 0 8px #5ce1ff55;border:1px solid #5ce1ff66}.key{border-radius:5px;background:linear-gradient(#2a2f4a,#1a1d30);color:#e9ecff;border:1px solid #4b5180;border-bottom-width:3px;height:1.7em}#menu{position:fixed;inset:0;z-index:20;display:none}#menu.on{display:block}#menu .shade{position:absolute;inset:0;background:linear-gradient(90deg,#04030ef5,#04030edb 38%,#04030e40 70%,#04030e0d)}#menu.modal .shade{background:#04030ec7;backdrop-filter:blur(6px)}.screen{position:absolute;left:clamp(20px,6vw,96px);top:50%;transform:translateY(-50%);width:min(560px,calc(100vw - 40px));display:none}.screen.on{display:block;animation:screenIn .32s cubic-bezier(.2,.9,.3,1)}.screen.wide{width:min(1120px,calc(100vw - 40px));left:50%;transform:translate(-50%,-50%)}.screen.center{left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 40px))}@keyframes screenIn{0%{opacity:0;translate:-24px 0}to{opacity:1;translate:0 0}}.logo{margin-bottom:clamp(18px,4vh,44px);line-height:.86}.logo .l1,.logo .l2{font-family:var(--head);font-weight:900;position:relative;display:inline-block}.logo .l1{font-size:clamp(34px,6vw,72px);color:#fff;letter-spacing:.08em;text-shadow:0 0 18px var(--cyan),0 0 40px #5ce1ff66}.logo .l2{font-size:clamp(64px,12vw,150px);letter-spacing:.02em;font-style:italic;background:linear-gradient(100deg,var(--magenta) 0%,var(--violet) 45%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px #ff3bd466)}.logo .l2:before,.logo .l2:after{content:attr(data-text);position:absolute;inset:0;background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent}.logo .l2:before{animation:glitch 3.2s infinite steps(1);text-shadow:-3px 0 var(--cyan);opacity:.7}.logo .l2:after{animation:glitch 2.7s infinite steps(1) reverse;text-shadow:3px 0 var(--magenta);opacity:.7}@keyframes glitch{0%,86%,to{clip-path:inset(0 0 100% 0);transform:none}88%{clip-path:inset(20% 0 55% 0);transform:translate(-6px)}91%{clip-path:inset(60% 0 12% 0);transform:translate(5px)}94%{clip-path:inset(40% 0 40% 0);transform:translate(-3px)}}.logo .tag{font:600 clamp(12px,1.4vw,15px) var(--body);letter-spacing:.6em;color:var(--yellow);margin-top:14px;text-shadow:0 0 10px #ffd23b88}.screen h2{font:900 clamp(30px,4.6vw,52px) var(--head);margin:0 0 22px;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 0 18px var(--cyan)}.screen h2 small{display:block;font:600 15px var(--body);letter-spacing:.4em;color:var(--yellow);text-shadow:none;margin-top:6px}.list{display:flex;flex-direction:column;gap:6px}.mi{position:relative;display:block;width:100%;padding:12px 18px 12px 46px;clip-path:var(--chamfer);transition:background .15s,padding .15s}.mi .t{display:block;font:800 clamp(18px,2.2vw,24px) var(--head);letter-spacing:.08em;text-transform:uppercase;color:#c9cdee;transition:color .15s}.mi .d{display:block;max-height:0;overflow:hidden;opacity:0;font:500 16px var(--body);color:var(--dim);transition:max-height .2s,opacity .2s,margin .2s}.mi:before{content:"";position:absolute;left:18px;top:50%;width:12px;height:12px;margin-top:-6px;border:2px solid #5ce1ff55;transform:rotate(45deg);transition:all .15s}.mi.sel{background:linear-gradient(90deg,rgba(92,225,255,.22),rgba(181,107,255,.1) 70%,transparent);padding-left:54px}.mi.sel:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.mi.sel:before{left:24px;background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 12px var(--cyan)}.mi.sel .t{color:#fff;text-shadow:0 0 14px var(--cyan)}.mi.sel .d{max-height:40px;opacity:1;margin-top:4px}.row{display:flex;align-items:center;justify-content:space-between;padding-right:14px}.row .t{font-size:clamp(15px,1.8vw,19px)}.val{display:flex;align-items:center;gap:10px;font:700 19px var(--body);color:#fff;letter-spacing:.06em}.val b{min-width:92px;text-align:center;font-weight:700}.val .arr{font-style:normal;color:var(--cyan);opacity:.3;font-size:22px;transition:opacity .15s}.mi.sel .val .arr{opacity:1}.meter{display:flex;gap:3px;min-width:92px}.meter i{width:7px;height:16px;background:#ffffff1a;transform:skew(-18deg)}.meter i.on{background:var(--yellow);box-shadow:0 0 8px #ffd23b}.menu-best{margin-top:26px;font:600 15px var(--body);letter-spacing:.3em;color:var(--dim)}.menu-best b{color:var(--yellow);font-family:var(--body);font-size:20px;letter-spacing:.06em;margin-left:8px;text-shadow:0 0 10px #ffd23b88}.foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(20px,6vw,96px);font:600 15px var(--body);color:var(--dim);letter-spacing:.05em;background:linear-gradient(0deg,rgba(4,3,14,.9),transparent)}.foot .hints{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.padchip{display:flex;align-items:center;gap:10px;padding:6px 14px;clip-path:var(--chamfer);background:#ffffff0d}.padchip svg{width:30px;height:20px}.padchip.live{color:#5fd35a;background:#5fd35a18}.padchip.live svg{filter:drop-shadow(0 0 6px #5fd35a)}.ver{opacity:.5;font-size:12px;margin-left:14px}.card{background:var(--panel);border:1px solid var(--line);clip-path:var(--chamfer);padding:18px 22px;backdrop-filter:blur(8px)}.card h3{margin:0 0 12px;font:800 15px var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}.ctrl-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto;gap:14px;margin-bottom:16px}.ctrl-grid .pad-card{grid-row:span 2}.ctrl-grid svg{width:100%;height:auto;display:block}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font:600 16px var(--body);align-items:center}.kv span:nth-child(odd){text-align:right;white-space:nowrap}.kv span:nth-child(2n){color:#c9cdee}.combo-list{display:grid;gap:8px;font:600 15px var(--body)}.combo-list div{display:flex;align-items:center;justify-content:space-between;gap:10px}.combo-list em{font-style:normal;color:var(--yellow)}.pad-note{margin-top:10px;font:500 14px var(--body);color:var(--dim)}@media(max-width:860px){.ctrl-grid{grid-template-columns:1fr}.ctrl-grid .pad-card{grid-row:auto}.screen.wide{top:20px;transform:translate(-50%);max-height:calc(100vh - 80px);overflow:auto}}.ko-title{font:900 clamp(70px,13vw,150px)/.9 var(--head);font-style:italic;letter-spacing:.02em;margin-bottom:8px;color:var(--red);text-shadow:0 0 30px #ff4d6d,0 0 70px #ff4d6d66;animation:koIn .5s cubic-bezier(.2,1.6,.4,1)}@keyframes koIn{0%{transform:scale(2.2);opacity:0}to{transform:scale(1);opacity:1}}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 22px}.stat{background:var(--panel);border:1px solid var(--line);clip-path:var(--chamfer);padding:10px 12px}.stat .k{font:600 12px var(--body);letter-spacing:.25em;color:var(--dim);text-transform:uppercase}.stat .v{font:700 32px/1.1 var(--body);color:#fff}.final{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.final .v{font:700 clamp(40px,6vw,60px) var(--body);color:#fff;text-shadow:0 0 18px var(--cyan)}.final .nb{font:800 16px var(--head);color:var(--yellow);letter-spacing:.15em;text-shadow:0 0 12px var(--yellow);animation:blink .8s infinite alternate}@keyframes blink{to{opacity:.35}}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;display:none}#hud.on{display:block}.pp{position:absolute;left:18px;top:16px;display:flex;gap:12px;align-items:stretch;padding:10px 14px 12px 10px;background:var(--panel);border:1px solid var(--line);clip-path:var(--chamfer);backdrop-filter:blur(6px)}.portrait{width:58px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#5ce1ff33,transparent 70%);border-right:1px solid var(--line);padding-right:8px}.portrait svg{width:44px;height:56px;filter:drop-shadow(0 0 6px var(--cyan))}.ppbody{width:clamp(170px,24vw,280px);display:flex;flex-direction:column;gap:6px;justify-content:center}.ppname{display:flex;justify-content:space-between;align-items:baseline;font:900 15px var(--head);letter-spacing:.2em;color:var(--cyan)}.ppname b{font:700 17px var(--body);color:#fff;letter-spacing:.05em}.hp{position:relative;height:16px;background:#ffffff12;transform:skew(-20deg);overflow:hidden}.hp i{position:absolute;left:0;top:0;bottom:0}.hp .chip{background:#fff;opacity:.85}.hp .fill{background:linear-gradient(90deg,#2ab6ff,var(--cyan) 70%,#c8f7ff);box-shadow:0 0 14px var(--cyan);transition:background .3s}.hp.low .fill{background:linear-gradient(90deg,#ff2b55,var(--red));box-shadow:0 0 14px var(--red);animation:lowpulse .6s infinite alternate}@keyframes lowpulse{to{filter:brightness(1.7)}}.slow{display:flex;align-items:center;gap:8px}.slow .bar{flex:1;height:7px;position:relative;transform:skew(-20deg);background:#ffffff10;-webkit-mask:repeating-linear-gradient(90deg,#000 0 10px,transparent 10px 12px);mask:repeating-linear-gradient(90deg,#000 0 10px,transparent 10px 12px)}.slow .bar i{position:absolute;inset:0 auto 0 0;background:var(--yellow);box-shadow:0 0 10px var(--yellow)}.slow.on .bar i{background:#fff}.slow .lbl{font:700 12px var(--body);letter-spacing:.15em;color:var(--yellow);white-space:nowrap}.wslot{width:104px;border-left:1px solid var(--line);padding-left:12px;display:flex;flex-direction:column;justify-content:center;gap:4px;opacity:.45;transition:opacity .2s}.wslot.armed{opacity:1}.wslot .wicon{height:30px}.wslot .wicon svg{height:30px;width:100%}.wslot .wname{font:800 11px var(--head);letter-spacing:.12em;text-transform:uppercase;color:#fff}.wslot .wammo{font:700 13px var(--body);color:var(--yellow);letter-spacing:.06em;font-variant-numeric:tabular-nums}.wslot .wammo:empty{display:none}.wslot .wdur{height:4px;background:#ffffff15}.wslot .wdur i{display:block;height:100%;background:var(--yellow);box-shadow:0 0 6px var(--yellow);transition:width .2s}.wslot .whint{font:700 11px var(--body);color:var(--dim);letter-spacing:.1em;white-space:nowrap}.wslot .whint .g,.wslot .whint .key{font-size:10px}.wslot.flash{animation:wflash .4s}@keyframes wflash{0%{filter:brightness(3)}to{filter:none}}.wavebox{position:absolute;left:50%;top:14px;transform:translate(-50%);text-align:center}.wavebox .lbl{font:700 12px var(--body);letter-spacing:.5em;color:var(--violet);padding-left:.5em}.wavebox .num{font:900 38px/1 var(--head);color:#fff;text-shadow:0 0 16px var(--violet)}.wavebox .sub{font:700 13px var(--body);letter-spacing:.2em;color:var(--dim);margin-top:2px}.scorebox{position:absolute;right:22px;top:14px;text-align:right}.scorebox .lbl{font:700 12px var(--body);letter-spacing:.4em;color:var(--dim)}.scorebox .sc{font:700 40px/1 var(--body);color:#fff;letter-spacing:.04em;text-shadow:0 0 12px #ffffff66;font-variant-numeric:tabular-nums}.scorebox .best{font:700 13px var(--body);letter-spacing:.25em;color:var(--dim);margin-top:4px}.scorebox .best b{color:var(--yellow)}#combo{position:absolute;right:26px;top:30%;text-align:right;opacity:0;transition:opacity .2s}#combo.on{opacity:1}#combo .n{font:900 italic 76px/.9 var(--head);color:var(--yellow);text-shadow:0 0 22px #ffd23b}#combo.pop .n{animation:pop .18s ease-out}@keyframes pop{0%{transform:scale(1.45)}to{transform:scale(1)}}#combo .lbl{font:800 16px var(--head);letter-spacing:.35em;color:var(--yellow)}#combo .rank{font:900 italic 22px var(--head);letter-spacing:.1em;margin-top:4px;min-height:26px}#combo .decay{height:4px;width:140px;margin:6px 0 0 auto;background:#ffffff15}#combo .decay i{display:block;height:100%;margin-left:auto;background:var(--yellow)}#prompt{position:absolute;left:50%;bottom:9%;transform:translate(-50%);padding:8px 20px;clip-path:var(--chamfer);background:var(--panel);border:1px solid var(--line);font:700 18px var(--body);letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .15s;white-space:nowrap}#prompt.on{opacity:1}#banner{position:fixed;left:0;right:0;top:30%;text-align:center;pointer-events:none;z-index:15;opacity:0}#banner.on{animation:banner 1.9s forwards}#banner .t{font:900 italic clamp(48px,9vw,104px)/1 var(--head);color:#fff;letter-spacing:.04em;text-shadow:0 0 26px var(--cyan),0 0 60px #5ce1ff55}#banner .s{font:800 clamp(14px,2vw,20px) var(--head);color:var(--yellow);letter-spacing:.35em;margin-top:10px;text-shadow:0 0 12px #ffd23b}#banner:before{content:"";position:absolute;left:0;right:0;top:50%;height:120%;transform:translateY(-50%) skewY(-3deg);z-index:-1;background:linear-gradient(90deg,transparent,rgba(92,225,255,.14) 20%,rgba(181,107,255,.14) 80%,transparent);border-top:1px solid #5ce1ff55;border-bottom:1px solid #b56bff55}@keyframes banner{0%{opacity:0;clip-path:inset(0 50% 0 50%)}12%{opacity:1;clip-path:inset(0 0 0 0)}80%{opacity:1;clip-path:inset(0 0 0 0);transform:none}to{opacity:0;transform:translateY(-20px)}}#toasts{position:fixed;right:22px;top:100px;display:flex;flex-direction:column;gap:8px;z-index:40;pointer-events:none;align-items:flex-end}.toast{display:flex;align-items:center;gap:10px;padding:10px 16px;clip-path:var(--chamfer);background:var(--panel);border:1px solid var(--line);font:700 16px var(--body);letter-spacing:.05em;animation:toastIn .3s cubic-bezier(.2,.9,.3,1),toastOut .4s 2.6s forwards}.toast svg{width:28px;height:18px;color:#5fd35a;filter:drop-shadow(0 0 5px #5fd35a)}@keyframes toastIn{0%{transform:translate(120%)}}@keyframes toastOut{to{opacity:0;transform:translate(40px)}}@media(max-width:700px){.wslot{display:none}.wavebox{top:92px;left:18px;transform:none;text-align:left}.scorebox .sc{font-size:22px}}
