@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(./bebas-neue-latin-400-normal-9mHNbWWO.woff2)format("woff2"),url(./bebas-neue-latin-400-normal-Bi-ndsyu.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(./inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(./inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:900;src:url(./inter-latin-900-normal-D4nM5aha.woff2)format("woff2"),url(./inter-latin-900-normal-EUCDUbiG.woff)format("woff")}:root{--p1:#ff3b3b;--p2:#2f8bff;--gold:#ffd23f;--ink:#0b0b10;--hud-font:"Bebas Neue", "Impact", sans-serif;--ui-font:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body{color:#fff;height:100%;font-family:var(--ui-font);cursor:default;-webkit-user-select:none;user-select:none;background:#000;margin:0;overflow:hidden}canvas#game{width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}.screen{pointer-events:auto;display:none;position:absolute;inset:0}.screen.on{display:block}#hud{display:none;position:absolute;inset:0}#hud.on{display:block}.hud-top{grid-template-columns:1fr auto 1fr;align-items:start;gap:1.6vw;display:grid;position:absolute;top:3.2vh;left:3vw;right:3vw}.side{flex-direction:column;gap:.6vh;display:flex}.side.p2{align-items:flex-end}.bar-row{align-items:center;gap:.8vw;width:100%;display:flex}.side.p2 .bar-row{flex-direction:row-reverse}.portrait{width:6.2vh;height:6.2vh;font-family:var(--hud-font);color:#fff;text-shadow:0 2px #000;background-position:top;background-size:cover;border:.35vh solid #fff;border-radius:.8vh;flex:none;place-items:center;font-size:3.6vh;display:grid;box-shadow:0 .4vh 1.5vh #00000080}.bar{background:#0a0a10bf;border:.3vh solid #ffffffe6;flex:1;height:3.4vh;position:relative;overflow:hidden;transform:skew(-18deg);box-shadow:0 .4vh 1.4vh #00000080}.side.p2 .bar{transform:skew(18deg)}.bar .trail,.bar .fill{width:100%;position:absolute;top:0;bottom:0;left:0}.side.p2 .bar .trail,.side.p2 .bar .fill{left:auto;right:0}.bar .trail{background:#fff3c4;transition:width .45s ease-in .35s}.bar .fill{background:linear-gradient(#ffe066 0%,#ffb300 55%,#e08900 100%)}.bar .fill.low{background:linear-gradient(#ff6b6b 0%,#e53935 60%,#a31515 100%);animation:.6s infinite alternate pulse}@keyframes pulse{0%{filter:brightness()}to{filter:brightness(1.35)}}.name{font-family:var(--hud-font);letter-spacing:.1vh;text-shadow:0 .3vh #000,0 0 1vh #000000b3;padding:0 1vw;font-size:3.6vh;line-height:1}.wins{gap:.6vw;padding:0 1vw;display:flex}.side.p2 .wins{flex-direction:row-reverse}.pip{background:#0006;border:.3vh solid #fff;border-radius:50%;width:2vh;height:2vh}.pip.on{background:var(--gold);box-shadow:0 0 1.2vh var(--gold)}.timer{font-family:var(--hud-font);text-align:center;text-shadow:0 .5vh #000,0 0 2vh #0009;min-width:11vh;font-size:9vh;line-height:.9}.timer.low{color:#ff5252;animation:.5s infinite alternate pulse}.combo{font-family:var(--hud-font);text-shadow:0 .4vh #000;opacity:0;line-height:.9;transition:opacity .2s;position:absolute;top:24vh}.combo.on{opacity:1}.combo.p1{text-align:left;left:4vw}.combo.p2{text-align:right;right:4vw}.combo .hits{color:var(--gold);font-size:8vh}.combo .lbl{font-size:3.5vh}.combo .dmg{opacity:.85;font-size:2.6vh;font-family:var(--ui-font);font-weight:700}.announce{text-align:center;font-family:var(--hud-font);color:#fff;letter-spacing:.6vh;-webkit-text-stroke:.35vh #000;text-shadow:0 1vh #0009,0 0 6vh #ff780099;opacity:0;pointer-events:none;font-size:17vh;line-height:1;position:absolute;top:34vh;left:0;right:0}.announce.show{animation:1.25s cubic-bezier(.2,1.4,.4,1) forwards announce}.announce.ko{color:#ff2b2b;text-shadow:0 1vh #0009,0 0 8vh #f00c;font-size:26vh}.announce.fight{color:var(--gold)}.announce.small{font-size:12vh}@keyframes announce{0%{opacity:0;transform:scale(2.6)}12%{opacity:1;transform:scale(.95)}18%{transform:scale(1.04)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}.badge{font-family:var(--hud-font);color:#f35;text-shadow:0 .3vh #000;opacity:0;font-size:5vh;position:absolute;top:15vh}.badge.p1{left:4vw}.badge.p2{right:4vw}.badge.show{animation:.9s ease-out forwards badge}@keyframes badge{0%{opacity:0;transform:translateY(1vh)scale(1.4)}15%{opacity:1;transform:none}75%{opacity:1}to{opacity:0}}#flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}#flash.go{animation:.35s ease-out flash}@keyframes flash{0%{opacity:.85}to{opacity:0}}.menu-bg{background:radial-gradient(at 50% 120%,#ff500059,#0000 60%),radial-gradient(at 50% -20%,#5028ff59,#0000 60%),linear-gradient(#08070d,#14101f);position:absolute;inset:0}.logo{text-align:center;font-family:var(--hud-font);letter-spacing:.8vh;color:var(--gold);-webkit-text-stroke:.4vh #000;text-shadow:0 1.2vh #b23a00,0 2vh 4vh #000c;font-size:22vh;line-height:.85;position:absolute;top:18vh;left:0;right:0;transform:rotate(-3deg)}.logo small{color:#fff;letter-spacing:2vh;-webkit-text-stroke:.2vh #000;text-shadow:0 .5vh #000;margin-top:2vh;font-size:6vh;display:block}.press{text-align:center;font-family:var(--hud-font);letter-spacing:.6vh;text-shadow:0 .4vh #000;font-size:6vh;animation:1.1s infinite blink;position:absolute;bottom:22vh;left:0;right:0}@keyframes blink{50%{opacity:.25}}.devices{justify-content:center;gap:3vw;font-size:2.2vh;font-weight:700;display:flex;position:absolute;bottom:7vh;left:0;right:0}.dev{text-align:center;background:#ffffff14;border:.25vh solid #fff3;border-radius:1vh;min-width:22vw;padding:1vh 2vw}.dev.p1.on{border-color:var(--p1);background:#ff3b3b2e}.dev.p2.on{border-color:var(--p2);background:#2f8bff2e}.dev b{font-family:var(--hud-font);letter-spacing:.3vh;font-size:3.2vh;display:block}.hint{opacity:.7;text-align:right;font-size:1.8vh;position:absolute;top:3vh;right:3vw}.sound{z-index:5;background:var(--gold);color:var(--ink);white-space:nowrap;border-radius:1vh;padding:1vh 2.4vw;font-size:2.6vh;font-weight:900;animation:1.4s ease-in-out infinite alternate soundPulse;display:none;position:absolute;top:2.4vh;left:50%;transform:translate(-50%);box-shadow:0 0 0 .3vh #000,0 .6vh 2.4vh #0009}.sound.on{display:block}#select .sound{padding:.6vh 2vw;font-size:2.1vh;top:auto;bottom:.9vh}@keyframes soundPulse{0%{filter:brightness()}to{filter:brightness(1.25)}}.title-bar{text-align:center;font-family:var(--hud-font);letter-spacing:.5vh;text-shadow:0 .5vh #000;font-size:7.5vh;position:absolute;top:4vh;left:0;right:0}.grid{gap:1vh;display:grid;position:absolute;bottom:7vh;left:50%;transform:translate(-50%)}.tile{width:12vh;height:12vh;font-family:var(--hud-font);letter-spacing:.2vh;text-shadow:0 .2vh #000;background:#222 top/cover;border:.3vh solid #ffffff40;border-radius:1vh;place-items:end center;padding-bottom:.4vh;font-size:2.4vh;display:grid;position:relative;overflow:hidden}.tile .mono{opacity:.9;place-items:center;font-size:6vh;display:grid;position:absolute;inset:0}.tile.c1{box-shadow:0 0 0 .5vh var(--p1), 0 0 2.5vh var(--p1);z-index:2}.tile.c2{box-shadow:0 0 0 .5vh var(--p2), 0 0 2.5vh var(--p2);z-index:2}.tile.c1.c2{box-shadow:0 0 0 .5vh var(--p1), 0 0 0 1vh var(--p2)}.tag{border-radius:.4vh;padding:0 .6vh;font-size:2vh;position:absolute;top:.3vh}.tag.t1{background:var(--p1);left:.3vh}.tag.t2{background:var(--p2);right:.3vh}.big{flex-direction:column;justify-content:flex-end;width:34vw;height:52vh;display:flex;position:absolute;top:14vh}.big.p1{left:3vw}.big.p2{text-align:right;align-items:flex-end;right:3vw}.big .art{filter:drop-shadow(0 2vh 3vh #0009);background:bottom/contain no-repeat;position:absolute;inset:0}.big .art.mono{font-family:var(--hud-font);color:#ffffff14;place-items:center;font-size:30vh;display:grid}.big .nm{font-family:var(--hud-font);text-shadow:0 .6vh #000;font-size:10vh;line-height:.9;position:relative}.big .tg{opacity:.9;text-shadow:0 .2vh #000;font-size:2.4vh;font-weight:700;position:relative}.big .st{font-family:var(--hud-font);color:var(--gold);text-shadow:0 .3vh #000;margin-top:1vh;font-size:4vh;position:relative}.big.p1 .nm{color:#ffd0d0}.big.p2 .nm{color:#d0e4ff}.big .ready{font-family:var(--hud-font);color:var(--gold);letter-spacing:.4vh;font-size:5vh;position:relative}.big .wait{font-family:var(--hud-font);opacity:.7;font-size:3.6vh;position:relative}.stage-grid{grid-template-columns:repeat(4,21vw);gap:1.6vh;display:grid;position:absolute;top:16vh;left:50%;transform:translate(-50%)}.stile{background:#222 50%/cover;border:.3vh solid #fff3;border-radius:1.2vh;height:23vh;position:relative;overflow:hidden}.stile .sn{font-family:var(--hud-font);background:linear-gradient(#0000,#000000d9);padding:1vh 1.2vh .6vh;font-size:3.8vh;position:absolute;bottom:0;left:0;right:0}.stile .ss{font-family:var(--ui-font);opacity:.8;font-size:1.5vh;font-weight:700}.stile.sel{border-color:var(--gold);box-shadow:0 0 0 .4vh var(--gold), 0 0 3vh #ffd23f99;transform:scale(1.03)}.footer{text-align:center;opacity:.8;font-size:2vh;font-weight:700;position:absolute;bottom:3vh;left:0;right:0}.footer kbd{font-family:var(--hud-font);background:#ffffff26;border-radius:.5vh;margin:0 .3vh;padding:0 .8vh;font-size:2.6vh}.vs{grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:absolute;inset:0}.vs .half{flex-direction:column;justify-content:center;height:100%;padding:0 5vw;display:flex}.vs .half.p1{background:linear-gradient(90deg,#ff3b3b73,#0000)}.vs .half.p2{text-align:right;background:linear-gradient(270deg,#2f8bff73,#0000);align-items:flex-end}.vs .vn{font-family:var(--hud-font);text-shadow:0 .8vh #000;font-size:13vh;line-height:.85}.vs .vt{opacity:.9;font-size:2.6vh;font-weight:700}.vs .x{font-family:var(--hud-font);color:var(--gold);-webkit-text-stroke:.4vh #000;text-shadow:0 1vh #000;font-size:22vh;animation:.6s cubic-bezier(.2,1.6,.4,1) vsPop}.vs .stg{text-align:center;font-family:var(--hud-font);letter-spacing:.4vh;opacity:.9;font-size:4.4vh;position:absolute;bottom:8vh;left:0;right:0}@keyframes vsPop{0%{opacity:0;transform:scale(3)}to{opacity:1;transform:none}}.overlay{background:#05050ab8;place-items:center;display:grid;position:absolute;inset:0}.panel{text-align:center;min-width:40vw}.panel h2{font-family:var(--hud-font);color:var(--gold);text-shadow:0 .6vh #000;margin:0 0 3vh;font-size:10vh;line-height:.9}.panel .opt{font-family:var(--hud-font);letter-spacing:.3vh;opacity:.6;border-radius:1vh;width:-moz-fit-content;width:fit-content;margin:.6vh auto;padding:.6vh 3vw;font-size:5vh}.panel .opt.sel{opacity:1;box-shadow:inset 0 0 0 .3vh var(--gold);background:#ffffff1f}.panel .controls{text-align:left;opacity:.9;grid-template-columns:auto auto;justify-content:center;gap:.6vh 3vw;margin-top:4vh;font-size:2.1vh;display:grid}.panel .controls b{font-family:var(--hud-font);letter-spacing:.2vh;color:var(--gold);font-size:2.8vh}.result-sub{opacity:.85;margin-top:-2vh;margin-bottom:3vh;font-size:2.6vh;font-weight:700}.result-stats{border-collapse:collapse;opacity:.9;margin:3vh auto 0;font-size:2.3vh}.result-stats th{font-family:var(--hud-font);letter-spacing:.2vh;color:var(--gold);padding:0 2.5vw .6vh;font-size:2.8vh;font-weight:400}.result-stats td{text-align:center;padding:.3vh 2.5vw;font-weight:700}.result-stats td:first-child{text-align:right;opacity:.75;font-weight:500}.toast{opacity:0;background:#000000bf;border:.25vh solid #ffffff4d;border-radius:1vh;padding:1.2vh 2vw;font-size:2.2vh;font-weight:700;transition:opacity .3s;position:absolute;bottom:4vh;left:50%;transform:translate(-50%)}.toast.on{opacity:1}#fps{opacity:.6;font:12px monospace;display:none;position:absolute;bottom:.5vh;left:.5vw}#fps.on{display:block}.meter{--sig:#ffd23f;align-items:center;gap:.8vw;width:30vw;display:flex;position:absolute;bottom:3.5vh}.meter.p1{left:3vw}.meter.p2{flex-direction:row-reverse;right:3vw}.mlabel{font-family:var(--hud-font);letter-spacing:.3vh;text-shadow:0 .3vh #000;opacity:.75;font-size:3vh}.mbar{background:#0a0a10b3;border:.25vh solid #ffffffbf;flex:1;height:1.6vh;position:relative;overflow:hidden;transform:skew(-18deg)}.meter.p2 .mbar{transform:skew(18deg)}.mfill{background:linear-gradient(90deg, #4fc3ff, var(--sig));width:0;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.meter.p2 .mfill{background:linear-gradient(270deg, #4fc3ff, var(--sig));left:auto;right:0}.mhint{font-family:var(--hud-font);color:var(--sig);opacity:0;text-shadow:0 .3vh #000;font-size:2.6vh}.meter.full .mlabel{opacity:1;color:var(--sig);animation:.35s infinite alternate pulse}.meter.full .mfill{box-shadow:0 0 1.5vh var(--sig);animation:.35s infinite alternate pulse}.meter.full .mhint{opacity:1}#superflash{pointer-events:none;opacity:0;--sig:#ffd23f;background:radial-gradient(#0000 20%,#000000c7 75%);position:absolute;inset:0}#superflash.go{animation:.75s ease-out forwards sfFade}#superflash .sf-band{background:linear-gradient(90deg, transparent, var(--sig) 18%, var(--sig) 82%, transparent);height:14vh;box-shadow:0 0 6vh var(--sig);flex-direction:column;justify-content:center;padding:0 16vw;display:flex;position:absolute;top:15vh;left:-10vw;right:-10vw;transform:skewY(-4deg)}#superflash.right .sf-band{text-align:right;align-items:flex-end}#superflash .sf-who{font-family:var(--hud-font);color:#000;letter-spacing:.4vh;font-size:4vh}#superflash .sf-name{font-family:var(--hud-font);color:#fff;-webkit-text-stroke:.25vh #000;text-shadow:0 .6vh #0009;font-size:8vh;line-height:.9}#superflash.go.left .sf-band{animation:.75s cubic-bezier(.2,1.2,.3,1) forwards sfInL}#superflash.go.right .sf-band{animation:.75s cubic-bezier(.2,1.2,.3,1) forwards sfInR}@keyframes sfFade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes sfInL{0%{transform:skewY(-4deg)translate(-60vw)}to{transform:skewY(-4deg)translate(0)}}@keyframes sfInR{0%{transform:skewY(-4deg)translate(60vw)}to{transform:skewY(-4deg)translate(0)}}#select .menu-bg{opacity:.35}#select .big .art.mono{opacity:.25}#select .big .art{opacity:0}#select .big{width:24vw;height:46vh;top:18vh}.intro-card{opacity:0;--sig:#ffd23f;border-left:1vh solid var(--sig);background:linear-gradient(90deg,#000000d9,#0006);max-width:40vw;padding:1.4vh 2.4vw;position:absolute;top:30vh}.intro-card.p1{left:0}.intro-card.p2{text-align:right;border-left:0;border-right:1vh solid var(--sig);background:linear-gradient(270deg,#000000d9,#0006);right:0}.ic-name{font-family:var(--hud-font);color:#fff;text-shadow:0 .5vh #000;font-size:9vh;line-height:.9}.ic-tag{color:var(--sig);margin-top:.6vh;font-size:2.4vh;font-weight:700}.intro-card.p1.go{animation:1.7s cubic-bezier(.2,1.1,.3,1) forwards icInL}.intro-card.p2.go{animation:1.7s cubic-bezier(.2,1.1,.3,1) forwards icInR}@keyframes icInL{0%{opacity:0;transform:translate(-50vw)}15%{opacity:1;transform:none}85%{opacity:1;transform:none}to{opacity:0;transform:translate(-10vw)}}@keyframes icInR{0%{opacity:0;transform:translate(50vw)}15%{opacity:1;transform:none}85%{opacity:1;transform:none}to{opacity:0;transform:translate(10vw)}}.ccard{opacity:.95;grid-template-columns:auto auto;gap:.8vh 2vw;margin-top:3vh;font-size:2.2vh;font-weight:700;display:grid}.vs .half.p2 .ccard{justify-items:end}.ccard kbd{text-align:center;min-width:3.4vh;font-family:var(--hud-font);background:#ffffff24;border:.2vh solid #ffffff59;border-radius:.6vh;margin-right:.6vh;padding:.1vh .7vh;font-size:2.8vh;display:inline-block}
