@font-face{font-family:Russo One;font-style:normal;font-display:swap;font-weight:400;src:url(./russo-one-latin-400-normal-BfOuQF9V.woff2)format("woff2"),url(./russo-one-latin-400-normal-CosRecV9.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:400;src:url(./chakra-petch-latin-400-normal-SafcrIr2.woff2)format("woff2"),url(./chakra-petch-latin-400-normal-D7EtbySE.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(./chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(./chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(./chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}:root{--cyan:#2fe0ff;--yellow:#ffd21a;--orange:#ff8a1c;--red:#ff3a4a;--navy:#0a1030;--ink:#120a26;--display:"Russo One", "Arial Black", Impact, sans-serif;--ui:"Chakra Petch", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{color:#fff;height:100%;font-family:var(--ui);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#000;margin:0;overflow:hidden}#app{background:#000;position:fixed;inset:0;overflow:hidden}#view{width:100%;height:100%;display:block;position:absolute;inset:0}#view.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}.scanlines{pointer-events:none;z-index:1;background-image:linear-gradient(#0000 50%,#0000004d 50%);position:absolute;inset:0;box-shadow:inset 0 0 18vmin #0000008c}.ui{pointer-events:none;z-index:2;position:absolute;inset:0}.fatal{text-align:center;font-family:var(--ui);color:#fff;background:var(--navy);place-content:center;padding:24px;display:grid;position:absolute;inset:0}.fatal b{font-family:var(--display);color:var(--yellow);font-size:48px}.blink{animation:1s steps(2,start) infinite blink}@keyframes blink{to{opacity:0}}.hud{text-shadow:0 2px #000c;transition:opacity .4s;position:absolute;inset:0}.hud.hidden{opacity:0}.hud-top{justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 22px 0;display:flex;position:absolute;top:0;left:0;right:0}.pl{width:min(38vw,520px)}.pl.p2{text-align:right}.pl-name{font-family:var(--display);letter-spacing:2px;align-items:center;gap:8px;margin-bottom:4px;font-size:22px;font-style:italic;display:flex}.p2 .pl-name{flex-direction:row-reverse}.pl-tag{color:var(--ink);background:var(--cyan);text-shadow:none;padding:1px 7px;font-size:13px;font-style:normal;transform:skew(-15deg)}.p2 .pl-tag{background:var(--red);color:#fff}.hpbar{background:#040828b3;border:2px solid #ffffffe6;height:22px;position:relative;overflow:hidden;transform:skew(-24deg);box-shadow:0 0 0 2px #0009,0 3px #00000080}.p2 .hpbar{transform:skew(24deg)}.hp-fill,.hp-lag{transform-origin:0;position:absolute;inset:0}.p2 .hp-fill,.p2 .hp-lag{transform-origin:100%}.hp-fill{background:linear-gradient(#d8fff6 0%,#48f0c8 30%,#10b890 70%,#087a62 100%);transition:transform 80ms linear}.hp-lag{background:linear-gradient(#fff7b8,#ff5a3a);transition:transform .6s ease-in .35s}.warn .hp-fill{background:linear-gradient(#fffbd0 0%,#ffe24a 35%,#f0a010 100%)}.danger .hp-fill{background:linear-gradient(#ffd0d0 0%,#ff4a4a 35%,#a01020 100%);animation:.5s steps(2,start) infinite hpblink}@keyframes hpblink{to{filter:brightness(1.8)}}.hp-ticks{background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 2px),#00000073 calc(10% - 2px) 10%);position:absolute;inset:0}.pl-row{align-items:baseline;gap:8px;margin-top:3px;padding:0 4px;display:flex}.p2 .pl-row{flex-direction:row-reverse}.hp-num{font-family:var(--display);color:#fff;min-width:52px;font-size:24px;font-style:italic}.hp-label{letter-spacing:3px;opacity:.8;font-size:11px}.pips{gap:6px;margin-left:auto;display:flex}.p2 .pips{margin-left:0;margin-right:auto}.pip{background:#0006;border:2px solid #fffc;width:14px;height:14px;transform:rotate(45deg)}.pip.on{background:var(--yellow);box-shadow:0 0 10px var(--yellow)}.timer-box{text-align:center;min-width:110px}.timer-label,.round-label{letter-spacing:4px;opacity:.85;font-size:11px}.timer{font-family:var(--display);color:var(--yellow);-webkit-text-stroke:2px var(--ink);text-shadow:0 4px #000,0 0 18px #ffc82880;font-size:56px;font-style:italic;line-height:1}.timer.low{color:var(--red);animation:.5s steps(2,start) infinite hpblink}.reticle{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.hp-fill,.hp-lag,.g-fill,.off-arrow{will-change:transform}.ret-ring{border:2px solid #6effe6d9;border-radius:2px;width:60px;height:60px;animation:3s linear infinite spin;position:absolute;top:-30px;left:-30px;box-shadow:0 0 8px #6effe659}.ret-ring2{border-style:dashed;width:36px;height:36px;animation-duration:1.6s;animation-direction:reverse;top:-18px;left:-18px}.locked .ret-ring{border-color:#ff4a4a;animation-duration:.9s;box-shadow:0 0 10px #ff3c3c99}.ret-dist{font-family:var(--display);color:#a0fff0f2;font-size:15px;font-style:italic;position:absolute;top:12px;left:34px}.ret-dist:after{content:"m";margin-left:1px;font-size:11px}.ret-lock{font-family:var(--display);letter-spacing:2px;color:#ff5a5a;font-size:13px;animation:.4s steps(2,start) infinite blink;display:none;position:absolute;top:-26px;left:34px}.locked .ret-lock{display:block}.locked .ret-dist{color:#ffb0b0}@keyframes spin{0%{transform:rotate(45deg)}to{transform:rotate(405deg)}}.off-arrow{clip-path:polygon(100% 50%,0 0,22% 50%,0 100%);filter:drop-shadow(0 0 6px #ff4a4a);background:#ff4a4a;width:32px;height:32px;animation:.35s steps(2,start) infinite hpblink;position:absolute;top:-16px;left:-16px}.gauges{align-items:flex-end;gap:18px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.gauge{opacity:.85;width:168px}.g-cw{width:196px}.g-label{font-family:var(--display);letter-spacing:2px;color:#ffb070;font-size:18px;font-style:italic}.g-bar{background:#00000080;border:2px solid #ffffffbf;height:11px;overflow:hidden;transform:skew(-30deg)}.g-fill{transform-origin:0;background:linear-gradient(#ffd0a0,#ff7a20);height:100%}.g-name{letter-spacing:2px;opacity:.85;margin-top:3px;font-size:10px}.gauge.ready{opacity:1}.gauge.ready .g-label{color:var(--cyan)}.gauge.ready .g-fill{box-shadow:0 0 10px var(--cyan);background:linear-gradient(#e0ffff,#2fd0ff)}.g-cw.ready .g-fill{background:linear-gradient(#fff4c0,#ffd21a)}.g-cw.ready .g-label{color:var(--yellow)}.en{opacity:.9;align-items:center;gap:10px;width:340px;display:flex;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}.en-label{font-family:var(--display);letter-spacing:2px;color:#8dffcf;font-size:14px;font-style:italic}.en-bar{background:#00000080;border:2px solid #ffffffb3;flex:1;height:7px;overflow:hidden;transform:skew(-30deg)}.en-fill{transform-origin:0;background:linear-gradient(#e8fff4,#2fe08f);height:100%}.en.low .en-fill{background:linear-gradient(#fff2c4,#ffb020)}.en.out .en-label{color:var(--red)}.en.out .en-fill{background:linear-gradient(to bottom, #ffd4d4, var(--red));animation:.24s steps(2,end) infinite enblink}@keyframes enblink{50%{opacity:.35}}.gauge.pulse .g-bar{animation:.35s ease-out gpulse}@keyframes gpulse{0%{filter:brightness(2);box-shadow:0 0 22px #fff}}.announce{text-align:center;position:absolute;top:34%;left:0;right:0}.ann-text{font-family:var(--display);letter-spacing:4px;background:linear-gradient(#fff 15%,#fff27a 45%,#ff9a1c 75%,#ff4a1c 100%);color:#0000;-webkit-text-stroke:3px var(--ink);filter:drop-shadow(0 5px #000000d9);opacity:0;text-shadow:none;-webkit-background-clip:text;background-clip:text;padding:0 .2em;font-size:clamp(48px,10vw,112px);font-style:italic;line-height:1.1;display:inline-block}.ann-text.show{animation:.42s cubic-bezier(.2,1.6,.4,1) forwards annIn}.ann-text.go{background-image:linear-gradient(#fff 15%,#9ff6ff 50%,#20a8ff 100%);font-size:clamp(64px,14vw,160px)}.ann-text.lose,.ann-text.timeup{background-image:linear-gradient(#fff 15%,#b8c8ff 50%,#4a5cff 100%)}.ann-text.finish{background-image:linear-gradient(#fff 10%,#ffb0a0 45%,#ff2a3a 100%)}@keyframes annIn{0%{opacity:0;transform:scale(2.6)skew(-12deg)}60%{opacity:1}to{opacity:1;transform:scale(1)skew(-8deg)}}.ann-sub{letter-spacing:6px;font-size:16px}.stage-banner{text-align:center;border-top:2px solid var(--cyan);border-bottom:2px solid var(--cyan);background:linear-gradient(90deg,#0000,#0a1030d9 20% 80%,#0000);padding:14px 0;transition:transform .5s cubic-bezier(.2,.9,.3,1);position:absolute;top:60%;left:0;right:0;transform:translate(-110%)}.stage-banner.show{transform:translate(0)}.sb-stage{letter-spacing:8px;color:var(--cyan);font-size:14px}.sb-vs{font-family:var(--display);letter-spacing:6px;color:var(--yellow);font-size:clamp(28px,5vw,52px);font-style:italic}.dmg-vignette{pointer-events:none;opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 14vmin #ff1e1ef2}.dmg-vignette.hit{animation:.35s ease-out dmg}.dmg-vignette.heavy{background:#ff28282e;animation:.6s ease-out dmg}@keyframes dmg{0%{opacity:1}to{opacity:0}}.status{text-align:center;font-family:var(--display);letter-spacing:6px;font-size:22px;font-style:italic;position:absolute;top:118px;left:0;right:0}.status.danger{color:var(--red);animation:.5s steps(2,start) infinite blink}.status.down{color:var(--yellow)}.status.guard{color:var(--cyan)}.controls-hint{text-align:center;letter-spacing:1px;opacity:0;background:#060a22b8;border:1px solid #2fe0ff80;width:max-content;max-width:94vw;padding:6px 14px;font-size:13px;transition:opacity .6s;position:absolute;bottom:102px;left:50%;transform:translate(-50%)}.controls-hint b{color:var(--yellow)}.controls-hint.show{opacity:1}@media (pointer:coarse){.controls-hint{display:none}}.screen-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.screen-flash.on{animation:.7s ease-out dmg}.overlay{pointer-events:auto;text-align:center;background:#040618a8;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:absolute;inset:0}.overlay.hidden{display:none}.ov-title{font-family:var(--display);letter-spacing:4px;background:linear-gradient(#fff 15%,#fff27a 50%,#ff8a1c 100%);color:#0000;-webkit-text-stroke:2px var(--ink);filter:drop-shadow(0 4px #000);-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,8vw,96px);font-style:italic}.ov-title.small{font-size:clamp(30px,5vw,56px)}.ov-title.gameover{background-image:linear-gradient(#fff 15%,#b8c8ff 50%,#4a5cff 100%)}.ov-kicker,.ov-hint{letter-spacing:5px;color:#cfe8ff;font-size:15px}.result .count{font-family:var(--display);color:var(--yellow);-webkit-text-stroke:3px var(--ink);filter:drop-shadow(0 5px #000);font-size:140px;font-style:italic;line-height:1}.result .stats{gap:8px;min-width:min(440px,90vw);display:grid}.result .stats div{letter-spacing:3px;border-bottom:1px solid #2fe0ff59;justify-content:space-between;padding:4px 2px;font-size:18px;display:flex}.result .stats b{font-family:var(--display);color:var(--yellow);font-weight:400}.menu{flex-direction:column;align-items:center;gap:4px;display:flex}.menu .item{font-family:var(--display);letter-spacing:3px;color:#ffffffb8;cursor:pointer;pointer-events:auto;padding:4px 26px;font-size:22px;position:relative;transform:skew(-10deg)}.menu .item i{color:var(--cyan);margin-left:10px;font-style:normal}.menu .item.sel{color:#fff;background:linear-gradient(90deg,#0000,#2fe0ff59 20% 80%,#0000)}.menu .item.sel:before{content:"▶";color:var(--yellow);animation:.6s steps(2,start) infinite blink;position:absolute;left:2px}.screen{pointer-events:auto;position:absolute;inset:0}.title-screen{cursor:pointer;background:radial-gradient(at 50% 30%,#0000 40%,#00000073 100%);flex-direction:column;justify-content:space-between;align-items:center;padding:7vh 16px 3vh;display:flex}.title-screen.started{cursor:default}.logo-wrap{text-align:center;animation:1.1s cubic-bezier(.2,1.4,.4,1) logoIn}@keyframes logoIn{0%{opacity:0;filter:blur(10px);transform:scale(3)translateY(-10%)}}.logo-kicker{font-family:var(--display);letter-spacing:1.1em;color:#fff;text-shadow:0 0 10px var(--cyan), 0 2px 0 #000;margin-right:-1.1em;font-size:clamp(14px,2.4vw,26px)}.logo{font-family:var(--display);letter-spacing:.02em;background:linear-gradient(#fff 0%,#e8f6ff 38%,#4ab8ff 52%,#1a3cbf 60%,#8ad8ff 78%,#fff 100%);color:#0000;-webkit-text-stroke:3px #0a1030;filter:drop-shadow(0 6px #0a1030)drop-shadow(0 0 24px #2fc8ff8c);-webkit-background-clip:text;background-clip:text;font-size:clamp(54px,13vw,168px);font-style:italic;line-height:.95;transform:skew(-10deg)}.logo .dash{background:linear-gradient(#fff7c0,#ffd21a 50%,#ff7a10);-webkit-background-clip:text;background-clip:text}.logo-sub{letter-spacing:.6em;color:var(--yellow);text-shadow:0 2px #000;margin-top:10px;font-size:clamp(12px,1.8vw,18px)}.press-start{font-family:var(--display);letter-spacing:8px;color:#fff;text-shadow:0 0 14px var(--cyan), 0 3px 0 #000;font-size:clamp(22px,3.4vw,34px)}.title-screen .menu{background:#060a2299;border-top:2px solid #2fe0ff99;border-bottom:2px solid #2fe0ff99;min-width:min(560px,92vw);padding:14px 10px;display:none}.title-screen.started .menu{display:flex}.title-screen.started .press-start{display:none}.title-screen.leaving{animation:.45s forwards fadeOut}@keyframes fadeOut{to{opacity:0;filter:brightness(3)}}.title-foot{letter-spacing:2px;opacity:.7;text-align:center;font-size:11px}.controls-panel{z-index:5;background:#040618e6;justify-content:flex-start;overflow-y:auto}.controls-panel>:first-child{margin-top:auto}.controls-panel>:last-child{margin-bottom:auto}.ctl-touch{display:none}body.touch .ctl-touch{order:-1;display:block}.ctl-cols{text-align:left;flex-wrap:wrap;justify-content:center;gap:40px;max-width:920px;display:flex}.ctl-col{min-width:300px;max-width:420px}.ctl-col h3{font-family:var(--display);color:var(--cyan);letter-spacing:3px;margin:14px 0 8px;font-size:17px;font-weight:400}.ctl-col dl{grid-template-columns:max-content 1fr;gap:5px 14px;margin:0;font-size:14px;display:grid}.ctl-col dt{color:var(--yellow);font-weight:700}.ctl-col dd{margin:0}.ctl-col p{margin:0;font-size:14px;line-height:1.5}.ctl-tips{color:#cfe8ff;flex-wrap:wrap;justify-content:center;gap:8px 18px;max-width:900px;font-size:13px;display:flex}.ctl-tips span:before{content:"◆ ";color:var(--orange)}.select-screen{background:linear-gradient(90deg,#040618bf 0%,#04061833 45%,#0000 60%)}.sel-header{position:absolute;top:4vh;left:5vw}.sel-kicker{letter-spacing:6px;color:var(--cyan);font-size:13px}.sel-title{font-family:var(--display);letter-spacing:3px;background:linear-gradient(#fff 20%,#fff27a 55%,#ff8a1c);color:#0000;-webkit-text-stroke:2px var(--ink);filter:drop-shadow(0 4px #000);-webkit-background-clip:text;background-clip:text;font-size:clamp(32px,5.5vw,66px);font-style:italic}.sel-timer{text-align:center;position:absolute;top:4vh;right:5vw}.sel-timer span{letter-spacing:4px;font-size:12px;display:block}.sel-timer b{font-family:var(--display);color:var(--yellow);-webkit-text-stroke:2px var(--ink);font-size:58px;font-style:italic;font-weight:400}.sel-info{width:min(430px,44vw);position:absolute;top:24vh;left:5vw}.sel-name{cursor:pointer}.sel-info.swap{animation:.35s cubic-bezier(.2,1,.3,1) infoIn}@keyframes infoIn{0%{opacity:0;transform:translate(-30px)}}.sel-code{letter-spacing:4px;color:var(--cyan);font-size:13px}.sel-name{font-family:var(--display);color:#fff;-webkit-text-stroke:2px var(--ink);filter:drop-shadow(0 5px #000);font-size:clamp(56px,9vw,104px);font-style:italic;line-height:1}.sel-blurb{color:#dfe8ff;margin:10px 0 16px;font-size:15px;line-height:1.45}.sel-stats{gap:6px;margin-bottom:16px;display:grid}.stat{letter-spacing:3px;align-items:center;gap:12px;font-size:13px;display:flex}.stat span{width:72px}.stat i{gap:4px;display:flex}.stat b,.stat u{width:30px;height:10px;display:block;transform:skew(-25deg)}.stat b{background:linear-gradient(#fff7c0,#ffb21a);box-shadow:0 0 6px #ffc82899}.stat u{background:#ffffff26}.sel-weapons{letter-spacing:2px;gap:4px;font-size:15px;display:grid}.sel-weapons em{min-width:64px;font-style:normal;font-family:var(--display);color:var(--orange);margin-right:10px;display:inline-block}.sel-roster{flex-wrap:wrap;justify-content:center;gap:12px;width:max-content;max-width:96vw;display:flex;position:absolute;bottom:8vh;left:50%;transform:translate(-50%)}.chip{font-family:var(--display);letter-spacing:3px;cursor:pointer;opacity:.7;background:#060a22b3;border:2px solid #ffffff59;padding:8px 22px;font-size:20px;font-style:italic;transform:skew(-12deg)}.chip.on{border-color:var(--yellow);background:var(--c);opacity:1;box-shadow:0 0 16px #ffd21a80}.sel-arrow{color:var(--yellow);cursor:pointer;text-shadow:0 0 12px #ffd21ab3;padding:16px 20px;font-size:40px;animation:.8s ease-in-out infinite alternate nudge;position:absolute;top:40vh}.sel-arrow.left{left:40vw}.sel-arrow.right{right:4vw}@keyframes nudge{to{transform:translate(6px)}}.sel-arrow.left{animation-direction:alternate-reverse}.sel-footer{text-align:center;letter-spacing:3px;opacity:.8;font-size:13px;position:absolute;bottom:3vh;left:0;right:0}.sel-footer .taps,body.touch .sel-footer .keys{display:none}body.touch .sel-footer .taps{display:inline}@media (max-height:760px){.sel-info{top:21vh}.sel-name{font-size:clamp(48px,min(9vw,12vh),104px)}.sel-blurb{margin:6px 0 10px}.sel-stats{margin-bottom:10px}}@media (max-height:600px){.sel-header{top:3vh}.sel-kicker{letter-spacing:4px;font-size:10px}.sel-title{font-size:clamp(22px,8vh,48px)}.sel-timer b{font-size:clamp(30px,10vh,58px)}.sel-info{width:min(440px,62vw);top:21vh;bottom:auto}.sel-code{font-size:10px}.sel-name{font-size:clamp(26px,10vh,60px)}.sel-blurb{display:none}.sel-stats{gap:3px;margin:4px 0 6px}.stat{font-size:10px}.stat span{width:56px}.stat b,.stat u{width:18px;height:7px}.sel-weapons{letter-spacing:1px;grid-template-columns:auto auto;gap:2px 16px;font-size:11px}.sel-weapons em{min-width:0;margin-right:6px}.sel-roster{gap:6px;bottom:9vh}.chip{letter-spacing:1px;padding:4px 10px;font-size:13px}.sel-arrow{display:none}.sel-footer{letter-spacing:2px;font-size:10px;bottom:1.5vh}}.select-screen.chosen .sel-arrow,.select-screen.chosen .sel-footer{display:none}.select-screen.chosen .sel-name{color:var(--yellow);animation:.25s steps(2,start) 4 chosenFlash}@keyframes chosenFlash{to{color:#fff}}.ending-screen{text-align:center;cursor:pointer;flex-direction:column;justify-content:space-between;align-items:center;padding:6vh 16px 5vh;display:flex}.end-kicker{letter-spacing:6px;color:var(--cyan);font-size:14px}.end-title{font-family:var(--display);background:linear-gradient(#fff 15%,#fff27a 50%,#ff8a1c);color:#0000;-webkit-text-stroke:2px var(--ink);filter:drop-shadow(0 5px #000);-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,8vw,96px);font-style:italic}.end-sub{letter-spacing:6px;font-size:18px}.end-credits{letter-spacing:4px;color:#dfe8ff;gap:6px;font-size:15px;display:grid}.end-credits div:first-child{font-family:var(--display);color:var(--yellow);font-size:26px}@media (max-width:900px){.chip{letter-spacing:2px;padding:6px 12px;font-size:15px}.sel-roster{gap:6px}}@media (max-width:760px){.pl-name{font-size:16px}.timer{font-size:40px}.gauge,.g-cw{width:28vw}.en{width:52vw;bottom:54px}.g-name,.controls-hint{display:none}.sel-title{font-size:clamp(22px,7.5vw,66px)}.sel-kicker{letter-spacing:3px;font-size:10px}.sel-timer b{font-size:40px}.sel-info{width:88vw;top:auto;bottom:19vh}.sel-arrow{top:22vh}.sel-arrow.left{left:3vw}}@media (max-width:760px) and (max-height:600px){.sel-title{font-size:clamp(22px,8vh,48px)}.sel-timer b{font-size:clamp(30px,10vh,58px)}.sel-info{width:min(440px,62vw);top:21vh;bottom:auto}}.context-lost{z-index:50;color:#fff;text-align:center;cursor:pointer;background:#040618eb;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.context-lost.hidden{display:none}.context-lost b{font-family:var(--display);color:var(--yellow);font-size:34px;font-style:italic}.fps-meter{z-index:40;font:600 12px var(--ui);color:#9ff6ff;pointer-events:none;background:#0000008c;padding:2px 8px;position:absolute;bottom:6px;left:8px}@media (prefers-reduced-motion:reduce){.blink,.timer.low,.danger .hp-fill,.off-arrow,.status.danger{animation:none}}.vs-screen{background:linear-gradient(#0406188c 0%,#04061800 30% 45%,#040618d9 100%)}.vs-panel{left:50%;bottom:max(4vh, env(safe-area-inset-bottom));text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(600px,92vw);display:flex;position:absolute;transform:translate(-50%)}.vs-note{color:#dfe8ff;text-shadow:0 2px #000;margin:0 0 4px;font-size:15px;line-height:1.5}.vs-label{letter-spacing:6px;color:var(--cyan);font-size:14px}.vs-btn{min-width:min(340px,80vw);font-family:var(--display);letter-spacing:3px;color:#fff;cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#060a22c7;border:2px solid #2fe0ff80;padding:11px 22px;font-size:22px;transition:background .12s,border-color .12s;transform:skew(-10deg)}.vs-btn.small{opacity:.85;min-width:min(220px,60vw);padding:8px 18px;font-size:16px}.vs-btn.sel,.vs-btn:hover{border-color:var(--yellow);background:linear-gradient(90deg,#2fe0ff47,#2fe0ff73,#2fe0ff47);box-shadow:0 0 16px #ffd21a59}.vs-btn:active{transform:skew(-10deg)scale(.97)}.vs-code{font-family:var(--display);letter-spacing:.18em;color:var(--yellow);-webkit-text-stroke:2px var(--ink);filter:drop-shadow(0 5px #000);-webkit-user-select:text;user-select:text;margin-right:-.18em;font-size:clamp(56px,14vw,96px);font-style:italic;line-height:1}.vs-input{width:min(300px,80vw);font-family:var(--display);text-align:center;letter-spacing:.3em;color:var(--yellow);border:2px solid var(--cyan);caret-color:var(--yellow);text-transform:uppercase;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#0000008c;outline:none;padding:6px 0 6px .3em;font-size:54px}.vs-input::placeholder{color:#ffffff40}.vs-input.bad{border-color:var(--red);animation:.3s shake}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.vs-status{letter-spacing:3px;color:#cfe8ff;word-break:break-all;justify-content:center;align-items:center;gap:10px;min-height:24px;font-size:14px;display:flex}.spinner{border:3px solid #2fe0ff40;border-top-color:var(--cyan);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spinLoader}@keyframes spinLoader{to{transform:rotate(360deg)}}.vs-pick{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;margin-bottom:6px;display:grid}.vs-side .vs-tag{letter-spacing:5px;color:var(--cyan);font-size:13px}.vs-side.rival .vs-tag{color:var(--red)}.vs-name{justify-content:center;align-items:center;gap:10px;display:flex}.vs-name b{font-family:var(--display);-webkit-text-stroke:1px var(--ink);text-shadow:0 3px #000;font-size:clamp(30px,6vw,44px);font-style:italic;font-weight:400}.vs-name .arr{color:var(--yellow);cursor:pointer;pointer-events:auto;padding:4px 8px;font-size:26px}.vs-name .arr.off{opacity:.2;cursor:default}.vs-state{letter-spacing:4px;opacity:.75;font-size:13px}.vs-state.on{color:var(--yellow);opacity:1}.vs-vs{font-family:var(--display);color:var(--yellow);-webkit-text-stroke:2px var(--ink);font-size:44px;font-style:italic}.vs-ping{letter-spacing:2px;color:var(--cyan);opacity:.7;min-height:14px;font-size:11px}@media (max-height:480px){.vs-screen .sel-header{top:2vh}.vs-screen .sel-title{font-size:30px}.vs-btn{padding:7px 18px;font-size:18px}.vs-code{font-size:54px}}@media (max-height:520px){.title-screen{padding:3vh 12px 2vh}.logo{font-size:clamp(40px,9vw,84px)}.logo-kicker{font-size:12px}.logo-sub{margin-top:4px;font-size:11px}.title-screen .menu{padding:6px 10px}.menu .item{padding:2px 22px;font-size:16px}.title-foot{display:none}}.vs-panel{background:linear-gradient(#0406188c,#040618d9 35%);border-top:2px solid #2fe0ff73;padding:16px 18px 12px;box-shadow:0 -10px 40px #04061899}.split-divider{pointer-events:none;z-index:1;background:#05081c;border-top:2px solid #2fe0ffd9;border-bottom:2px solid #2fe0ffd9;height:8px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 14px #2fe0ff73}.hud-view{height:50%;position:absolute;left:0;right:0;overflow:hidden}.hud-view.v0{top:0}.hud-view.v1{top:50%}.hud.split .hud-top{padding:10px 18px 0}.hud.split .pl{width:min(34vw,470px)}.hud.split .pl-name{margin-bottom:2px;font-size:17px}.hud.split .pl-tag{font-size:11px}.hud.split .hpbar{height:16px}.hud.split .pl-row{margin-top:1px}.hud.split .hp-num{min-width:40px;font-size:18px}.hud.split .hp-label{letter-spacing:2px;font-size:9px}.hud.split .pip{width:11px;height:11px}.hud.split .timer-box{min-width:84px}.hud.split .timer{font-size:40px}.hud.split .timer-label,.hud.split .round-label{letter-spacing:3px;font-size:9px}.hud.split .status{font-size:17px;top:84px}.hud.split .gauges{gap:14px;bottom:10px}.hud.split .gauge{width:132px}.hud.split .g-cw{width:152px}.hud.split .g-label{font-size:14px}.hud.split .g-name{display:none}.hud.split .en{width:280px;bottom:46px}.hud.split .announce{top:28%}.hud.split .ann-text{font-size:clamp(34px,6.5vw,84px)}.hud.split .ann-text.go{font-size:clamp(44px,9vw,116px)}.hud.split .stage-banner{padding:8px 0;top:56%}.hud.split .sb-vs{font-size:clamp(22px,3.4vw,38px)}.hud.split .dmg-vignette{box-shadow:inset 0 0 9vmin #ff1e1ef2}.ally{letter-spacing:2px;align-items:center;gap:7px;margin-top:4px;padding:0 4px;font-size:11px;display:flex}.ally-tag{font-family:var(--display);color:var(--ink);background:var(--cyan);text-shadow:none;padding:0 5px;font-size:10px;transform:skew(-15deg)}.ally-mech{opacity:.85}.ally-bar{background:#040828b3;border:1px solid #fffc;width:120px;height:7px;overflow:hidden;transform:skew(-24deg)}.ally-fill{transform-origin:0;background:linear-gradient(#d8fff6,#10b890);height:100%;transition:transform 80ms linear}.ally.danger .ally-fill{background:linear-gradient(#ffd0d0,#ff4a4a)}.ally.out{opacity:.45}.pause-note:empty{display:none}.xbox-note{letter-spacing:2px;color:#a8ffa8;font-size:12px}.pause-note.alert{color:var(--yellow);max-width:min(640px,90vw);line-height:1.5}.lc-panel .vs-btn small{font-family:var(--ui);letter-spacing:2px;opacity:.8;margin-left:8px;font-size:13px}.lc-desc{letter-spacing:1px;color:#cfe8ff;text-shadow:0 2px #000;min-height:20px;font-size:14px}.lc-seat .lc-dev{letter-spacing:3px;min-height:15px;color:var(--cyan);opacity:.8;margin-top:3px;font-size:11px}.lc-seat.open .vs-name b{opacity:.4}.lc-seat .lc-state{cursor:pointer;pointer-events:auto}.lc-hint{letter-spacing:2px;opacity:.75;font-size:12px}.xbox-hint{letter-spacing:1px;text-align:center;color:#e6ffe6;text-shadow:0 1px #000;background:#08340ce0;border:1px solid #78dc78b3;max-width:min(640px,92vw);padding:6px 12px;font-size:13px;line-height:1.5}.xbox-hint b{color:#a8ffa8}.xbox-hint.nudge{animation:.5s ease-out 2 xbox-nudge}@keyframes xbox-nudge{30%{background:#287828f2;transform:scale(1.06)}}body.touch #app{touch-action:none;-webkit-touch-callout:none}.tc{--s:1;z-index:1;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:var(--display);position:absolute;inset:0}.tc-zone{pointer-events:auto;touch-action:none;width:42%;position:absolute;top:110px;bottom:0;left:0}.tc-stick{--size:calc(128px * var(--s));left:calc(env(safe-area-inset-left) + 122px * var(--s));top:calc(100% - env(safe-area-inset-bottom) - 112px * var(--s));width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);opacity:.45;pointer-events:none;background:radial-gradient(circle,#0a103026 0%,#0a103073 70%);border:2px solid #2fe0ff73;border-radius:50%;transition:opacity .12s;position:absolute;box-shadow:inset 0 0 18px #2fe0ff2e}.tc-stick:before,.tc-stick:after{content:"";background:#2fe0ff59;position:absolute;top:50%;left:50%}.tc-stick:before{width:70%;height:2px;transform:translate(-50%,-50%)}.tc-stick:after{width:2px;height:70%;transform:translate(-50%,-50%)}.tc-stick.on{opacity:1;transition:none}.tc-knob{--k:calc(58px * var(--s));width:var(--k);height:var(--k);margin:calc(var(--k) / -2) 0 0 calc(var(--k) / -2);z-index:1;will-change:transform;background:radial-gradient(circle at 40% 35%,#e8fbff 0%,#6fe6ff 35%,#1b7fb8 100%);border:2px solid #ffffffd9;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 14px #2fe0ff8c,0 3px #00000073}.tc-btn{--x:0;--y:0;--d:64;width:calc(var(--d) * var(--s) * 1px);height:calc(var(--d) * var(--s) * 1px);right:calc(env(safe-area-inset-right) + (var(--x) - var(--d) / 2) * var(--s) * 1px);bottom:calc(env(safe-area-inset-bottom) + (var(--y) - var(--d) / 2) * var(--s) * 1px);font-size:calc(15px * var(--s));letter-spacing:1px;color:#fff;text-shadow:0 2px #000000b3;pointer-events:auto;touch-action:none;background:radial-gradient(circle at 50% 35%,#ffffff38 0%,#0a10308c 70%);border:2px solid #ffffff8c;border-radius:50%;place-items:center;font-style:italic;transition:transform 60ms,background-color 60ms;display:grid;position:absolute;box-shadow:inset 0 0 12px #2fe0ff40,0 3px #00000059}.tc-btn.on{background:radial-gradient(circle at 50% 40%,#ffffffd9 0%,#2fe0ffbf 45%,#0a3c78cc 100%);border-color:#fff;transition:none;transform:scale(.9);box-shadow:0 0 18px #2fe0ffd9}.tc-rw{font-size:calc(22px * var(--s));background:radial-gradient(circle at 50% 35%,#fff0a059 0%,#7846008c 72%);border-color:#ffd21ae6;box-shadow:inset 0 0 14px #ffd21a59,0 3px #00000059}.tc-rw.on{background:radial-gradient(circle at 50% 40%,#fffbe0 0%,#ffd21a 45%,#c06a00 100%);box-shadow:0 0 22px #ffd21ae6}.tc-lw{border-color:#ff8a1cd9}.tc-cw{border-color:#ff5aa0d9}.tc-cw.on{background:radial-gradient(circle at 50% 40%,#fff 0%,#ff7ac0 45%,#8a1050 100%);box-shadow:0 0 18px #ff5aa0d9}.tc-jump,.tc-dash{font-size:calc(13px * var(--s));border-color:#2fe0ffbf}.tc-guard{font-size:calc(11px * var(--s));opacity:.85}.tc-pause{left:calc(env(safe-area-inset-left) + 22px);pointer-events:auto;touch-action:none;background:#0a103080;border:2px solid #ffffff80;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:40px;height:40px;display:flex;position:absolute;top:112px}.tc-pause i{background:#fff;border-radius:1px;width:5px;height:16px;display:block}body.touch-battle .gauges{transform-origin:top;top:98px;bottom:auto;transform:translate(-50%)scale(.6)}body.touch-battle .controls-hint{display:none}body.touch-battle .en{transform-origin:top;top:124px;bottom:auto;transform:translate(-50%)scale(.6)}body.touch-battle .status{top:146px}.tc-rotate{z-index:60;color:#fff;font-family:var(--display);letter-spacing:5px;text-align:center;background:#0a1030;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:24px;font-size:20px;display:none;position:fixed;inset:0}.tc-phone{border:4px solid var(--cyan);border-radius:10px;width:56px;height:96px;animation:2.2s ease-in-out infinite tc-turn;box-shadow:0 0 18px #2fe0ff80}@keyframes tc-turn{0%,25%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait){body.touch .tc-rotate{display:flex}}
