@import "https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Outfit:wght@500;700;800&family=Space+Mono:wght@400;700&display=swap";.winamp-desktop{z-index:30;color:#d7d3c6;background:#000;font-family:Tahoma,Verdana,Segoe UI,sans-serif;position:fixed;inset:0;overflow:auto}.winamp-desktop[hidden]{display:none!important}.winamp-stack{gap:8px;width:min(520px,100% - 24px);margin:28px auto 48px;display:grid}.wa-window{background:linear-gradient(#4a4a68 0%,#2a2a44 18%,#24243c 100%);border:1px solid #07070d;padding:4px;box-shadow:inset 0 0 0 1px #8a7b45,inset 0 0 0 3px #161624,0 10px #000}.wa-titlebar{color:#e6c35c;letter-spacing:.38em;text-indent:.38em;text-align:center;background:linear-gradient(#3a3a56,#1a1a2c);grid-template-columns:18px 1fr 18px;align-items:center;height:22px;font-size:11px;font-weight:700;display:grid}.wa-titlebar span{text-shadow:0 1px #000,0 0 6px #000}.wa-mark{background:linear-gradient(#7dffa0,#1d8a3a);width:9px;height:9px;margin-left:4px;box-shadow:inset 0 0 0 1px #062}.wa-close{color:#eee6c8;cursor:pointer;background:linear-gradient(#6a6a84,#343448);border:1px solid #111;justify-self:end;width:14px;height:13px;margin-right:3px;padding:0;font-size:10px;line-height:1;box-shadow:inset 1px 1px #9a9ab4}.wa-main,.wa-eq-face,.wa-pl-foot{padding:8px}.wa-main{grid-template-columns:132px 1fr;gap:8px;display:grid}.wa-scope{background:#070b12;width:100%;height:86px;display:block;box-shadow:inset 0 0 0 1px #000,inset 0 0 0 2px #3a3a28}.wa-readout{align-content:start;gap:6px;min-width:0;display:grid}.wa-ticker{background:#06140c;height:18px;overflow:hidden;box-shadow:inset 0 0 0 1px #000}.wa-ticker-text{white-space:nowrap;color:#3dff6a;text-shadow:0 0 6px #14ff5a88;font-family:Lucida Console,Courier New,monospace;font-size:13px;line-height:18px;display:inline-block}.wa-ticker-text.is-scrolling{animation:12s linear infinite wa-scroll}@keyframes wa-scroll{0%{transform:translate(8%)}to{transform:translate(-70%)}}.wa-meta{color:#b7b3a4;letter-spacing:.04em;align-items:center;gap:8px;font-size:10px;display:flex}.wa-meta strong{color:#efe8d2;font-weight:700}.wa-led{color:#4a4a52;letter-spacing:.08em;background:#1a1a22;border:1px solid #111;padding:1px 4px;font-size:9px}.wa-led.is-lit{color:#39ff6a;background:#062;box-shadow:inset 0 0 6px #0f68}.wa-seek-row,.wa-transport{align-items:center;gap:6px;display:flex}.wa-seek,.wa-volume{accent-color:#d7d2c4;width:100%;height:14px}.wa-volume{width:78px}.wa-transport{grid-column:1/-1}.wa-btn{color:#e6e0d0;letter-spacing:.04em;cursor:pointer;background:linear-gradient(#5c5c7a,#323248);border:1px solid #0c0c14;min-width:28px;min-height:26px;padding:0 6px;font-family:Tahoma,Verdana,sans-serif;font-size:11px;box-shadow:inset 1px 1px #9797b0,inset -1px -1px #191926}.wa-btn.is-on{color:#39ff6a;background:linear-gradient(#2a4a34,#1a3024);box-shadow:inset 0 0 8px #0f64,inset 1px 1px #222}.wa-transport-spacer{flex:1}.wa-eq-face{grid-template-columns:auto auto 1fr auto;align-items:end;gap:8px;display:grid}.wa-eq-toggles{align-content:center;gap:6px;display:grid}.wa-sliders,.wa-preamp{align-items:flex-end;gap:4px;min-height:118px;display:flex}.wa-fader{cursor:ns-resize;touch-action:none;width:28px;height:118px;position:relative}.wa-fader-track{background:linear-gradient(#1a1a22,#3a3a28 50%,#1a1a22);width:4px;position:absolute;top:4px;bottom:18px;left:12px;box-shadow:inset 0 0 0 1px #000}.wa-fader-thumb{background:linear-gradient(#ffe56a,#c49a12);width:16px;height:10px;position:absolute;left:6px;box-shadow:inset 0 1px #fff3a4,0 1px #000}.wa-fader span{color:#b7b3a4;letter-spacing:0;text-align:center;font-size:8px;position:absolute;bottom:0;left:0;right:0}.wa-playlist{background:#070b18;max-height:196px;margin:0;padding:4px;overflow:auto;box-shadow:inset 0 0 0 1px #000}.wa-track{color:#d5d8ea;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:2.4em minmax(0,1fr) auto;gap:8px;width:100%;padding:1px 6px;font-family:Lucida Console,Courier New,monospace;font-size:13px;line-height:1.35;display:grid}.wa-track.is-current,.wa-track:hover,.wa-track:focus-visible{color:#f4f7ff;background:#243bff;outline:none}.wa-time{color:#9eb0e8;white-space:nowrap}.wa-track.is-current .wa-time{color:#fff}.wa-pl-foot{align-items:center;gap:6px;display:flex}.wa-clock{color:#3dff6a;text-shadow:0 0 6px #14ff5a88;min-width:72px;font-family:Lucida Console,Courier New,monospace;font-size:12px}.wa-milk{background:#000;width:100%;height:min(360px,52vh);display:block}.wa-fighter-name{color:#7ee7ff;letter-spacing:.14em;text-align:center;margin:0;padding:4px 8px 6px;font-family:Lucida Console,Courier New,monospace;font-size:12px}@media (max-width:560px){.wa-main,.wa-eq-face{grid-template-columns:1fr}.wa-scope{height:64px}.wa-sliders{overflow-x:auto}}:root{color:#f8f1d4;font-synthesis:none;background:#090516;font-family:Space Mono,monospace}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{height:100%;min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 15%,#2f1350 0,#0000 40%),repeating-linear-gradient(0deg,#0d081c 0 2px,#090516 2px 4px);min-height:100dvh;overflow-x:hidden}button,input,select{font:inherit}.game-shell{--game-chrome-height:94px;--game-stage-width:min(100vw, calc((100dvh - var(--game-chrome-height)) * 16 / 9));background:#05030b;flex-direction:column;justify-content:center;align-items:center;height:100dvh;min-height:100vh;display:flex;position:relative;overflow:hidden}.game-shell.game-chrome-hidden{--game-chrome-height:0px}.game-shell:fullscreen{width:100vw;min-height:100dvh}.top-bar,.controls{width:var(--game-stage-width);color:#a990bd;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:44px;margin:0 auto;font-size:11px;display:flex}.top-bar-actions{align-items:center;gap:16px;display:flex}.top-bar button{color:#70efff;cursor:pointer;text-transform:uppercase;background:0 0;border:0}.game-chrome-hidden .top-bar{z-index:210;width:auto;min-height:0;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));pointer-events:none;margin:0;position:absolute}.game-chrome-hidden .top-bar>#exit-game,.game-chrome-hidden .top-bar>#room-label,.game-chrome-hidden .top-bar-actions>:not(#open-options-game){display:none}.game-chrome-hidden #open-options-game{pointer-events:auto;background:#090516c7;border:1px solid #70efff99;padding:6px 8px}.options-dialog{width:min(520px,100% - 32px);max-height:calc(100dvh - 24px);color:inherit;background:0 0;border:3px solid #473160;padding:0;overflow:hidden}.options-dialog::backdrop{background:#05030bcc}.options-panel{background:#120b22;border:3px solid #f7e05e;max-height:calc(100dvh - 24px);padding:24px;overflow:auto;box-shadow:8px 8px #05030b}.options-panel h2{color:#fff4cb;letter-spacing:.02em;margin:0 0 18px;font-family:Black Ops One,impact,sans-serif;font-size:42px;font-weight:400;line-height:.9}.audio-options,.game-options,.control-options{gap:12px;margin-bottom:22px;display:grid}.game-options{border-block:1px solid #473160;padding-block:16px}.options-match-label{color:#70efff;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.options-match-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.options-match-actions .arcade-button{min-height:38px;font-size:10px}.options-control-reference{background:#090516;border:1px solid #473160;padding:10px}.options-control-reference .control-hints{color:#a990bd;text-transform:uppercase;justify-content:flex-start;gap:8px 14px;font-size:9px}.volume-row{color:#f8f1d4;letter-spacing:.08em;text-transform:uppercase;grid-template-columns:132px 1fr 44px;align-items:center;gap:12px;font-size:12px;font-weight:700;display:grid}.volume-row input[type=range]{appearance:none;cursor:pointer;background:#090516;border:3px solid #473160;width:100%;height:18px}.volume-row input[type=range]::-webkit-slider-thumb{appearance:none;background:#f7e05e;border:3px solid #090516;width:18px;height:28px}.volume-row input[type=range]::-moz-range-thumb{background:#f7e05e;border:3px solid #090516;width:18px;height:28px}.volume-row output{color:#70efff;font-variant-numeric:tabular-nums;text-align:right}.options-toggle{color:#f8f1d4;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.options-toggle input{accent-color:#f7e05e;width:18px;height:18px}.options-hint{color:#a990bd;letter-spacing:.04em;text-transform:none;margin:4px 0 0;font-size:11px}.options-panel .arcade-button{width:100%}#game{width:var(--game-stage-width);aspect-ratio:16/9;background:#080512;place-items:center;min-height:0;display:grid;box-shadow:0 0 42px #6d2f8b44}#game canvas{max-width:100%;max-height:100%;image-rendering:pixelated;width:100%!important;height:100%!important}.touch-controls{z-index:200;right:50%;bottom:calc(10px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;width:min(100vw - 16px,940px);display:none;position:fixed;transform:translate(50%)}.touch-controls .touch-control,.touch-controls .touch-joystick{pointer-events:auto}.touch-control{color:#f8f1d4;font:inherit;text-shadow:2px 2px #000;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#100921c9;border:2px solid #70efffcc;border-radius:12px;font-size:11px;line-height:1;box-shadow:inset 0 0 14px #70efff1f,3px 4px #030208aa}.touch-control.pressed,.touch-control:active{color:#090516;background:#f7e05ee6;border-color:#f7e05e;transform:translate(2px,2px)scale(.96);box-shadow:inset 0 0 12px #fff6}.touch-dpad{display:block}.touch-joystick{--joystick-x:0px;--joystick-y:0px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(circle,#70efff12 0 34%,#0000 35%),repeating-radial-gradient(circle,#70efff1c 0 2px,#0000 3px 18px),#100921b8;border:2px solid #70efffaa;border-radius:50%;width:clamp(112px,31vw,146px);height:clamp(112px,31vw,146px);padding:0;position:relative;overflow:hidden;box-shadow:inset 0 0 26px #70efff2e,3px 4px #030208aa}.touch-joystick:before,.touch-joystick:after{content:"";background:#70efff38;position:absolute}.touch-joystick:before{width:70%;height:2px;top:50%;left:15%}.touch-joystick:after{width:2px;height:70%;top:15%;left:50%}.touch-joystick-ring{border:1px solid #70efff4f;border-radius:50%;position:absolute;inset:14%}.touch-joystick-thumb{z-index:2;width:44%;height:44%;transform:translate(calc(-50% + var(--joystick-x)), calc(-50% + var(--joystick-y)));pointer-events:none;background:radial-gradient(circle at 38% 34%,#c7faff,#3a9fc4 55%,#102d53 100%);border:3px solid #dffcff;border-radius:50%;transition:transform 70ms ease-out;position:absolute;top:50%;left:50%;box-shadow:inset -5px -7px #06172c66,0 5px 13px #0009}.touch-joystick.pressed{border-color:#f7e05ecc;box-shadow:inset 0 0 30px #f7e05e26,2px 3px #030208aa}.touch-joystick.pressed .touch-joystick-thumb{transition:none}.touch-actions{align-items:flex-end;gap:clamp(6px,2vw,12px);display:flex}.touch-actions .touch-control{border-radius:50%}.touch-special{border-color:#ff8ee3cc;width:clamp(42px,12vw,56px);height:clamp(42px,12vw,56px)}.touch-jump{border-color:#7dff8acc;width:clamp(52px,15vw,66px);height:clamp(52px,15vw,66px);font-size:9px}.touch-attack{border-color:#f7e05ecc;width:clamp(60px,18vw,78px);height:clamp(60px,18vw,78px);font-size:12px}.controls{flex-wrap:wrap;justify-content:center;gap:12px 22px;min-height:50px}@media (hover:none) and (pointer:coarse){body{overscroll-behavior:none}.touch-controls{display:flex}.game-shell>.controls{display:none}}html.touch-overlay-on .touch-controls{display:flex}html.touch-overlay-off .touch-controls,html.touch-overlay-on .game-shell>.controls{display:none}html.touch-overlay-off .game-shell>.controls{display:flex}html .game-shell.game-chrome-hidden>.controls{display:none}.control-hints{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;display:flex}.control-hints[hidden]{display:none}kbd{color:#f8f1d4;background:#1a1028;border:1px solid #6c577d;padding:2px 5px;box-shadow:2px 2px #000}@media (min-width:761px){html,body,#app{height:100dvh;overflow:hidden}#app{place-items:center;min-width:0;display:grid}.game-shell{width:100%;min-height:100dvh}}@media (max-width:760px){.volume-row{grid-template-columns:1fr 40px;gap:8px}.volume-row span{grid-column:1/-1}}@property --u{syntax:"<length>";inherits:true;initial-value:1px}body{background:#07080d}#app{place-items:center;min-width:0;height:100dvh;display:grid;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.menu-frame{width:min(100%,160dvh);min-width:0;max-width:100%;height:min(100%,75dvw);min-height:0;container-type:size}.menu{--u:clamp(.72px, calc(100cqh / 800), 1.9px);--gold:#f3c534;--gold-deep:#b9820f;--css-ink:#f7f4ea;--css-muted:#9aa3b5;--css-line:#ffffff17;--panel:#0f121a;--field:#1a1f2b;--field-hover:#252c3c;--control-h:max(32px, calc(44 * var(--u)));--console-w:clamp(220px, calc(320 * var(--u)), 34cqw);width:100%;min-width:0;height:100%;min-height:0;padding:calc(14 * var(--u)) calc(20 * var(--u));grid-template-columns:minmax(0, 1fr) var(--console-w);column-gap:calc(16 * var(--u));row-gap:calc(12 * var(--u));color:var(--css-ink);font-family:Outfit,Avenir Next,Segoe UI,sans-serif;font-size:max(12px, calc(14 * var(--u)));grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top top""roster roster""slots console""foot foot";margin:0;display:grid;overflow:hidden}.css-top{align-items:center;gap:calc(12 * var(--u));grid-area:top;grid-template-columns:1fr auto 1fr;display:grid}.marquee{justify-self:start;min-width:0}h1{color:#fff;font-family:Black Ops One,impact,sans-serif;font-size:max(20px, calc(32 * var(--u)));letter-spacing:.01em;margin:0;font-weight:400;line-height:.9}h1 span{color:var(--gold)}.css-mode{min-width:calc(150 * var(--u));padding:calc(6 * var(--u)) calc(22 * var(--u)) calc(8 * var(--u));background:var(--gold);box-shadow:0 calc(3 * var(--u)) 0 var(--gold-deep);color:#1a1408;text-align:center;border-radius:999px;justify-self:center}.css-mode-kicker,#join-step-label{font-size:max(9px, calc(11 * var(--u)));letter-spacing:.16em;text-transform:uppercase;margin:0;font-weight:800}#join-heading{font-size:max(14px, calc(20 * var(--u)));letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:800;line-height:1.05}.css-top-links{justify-self:end;gap:calc(8 * var(--u));display:flex}.options-link,.soundtrack-link{min-height:max(30px, calc(34 * var(--u)));padding:0 calc(14 * var(--u));border:1px solid var(--css-line);color:var(--css-muted);cursor:pointer;font-size:max(11px, calc(12 * var(--u)));letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:999px;font-weight:800;transition:color .12s,border-color .12s,background .12s}.options-link:hover,.soundtrack-link:hover,.options-link:focus-visible,.soundtrack-link:focus-visible,.options-link.is-cursor{color:#fff;background:#ffffff0d;border-color:#fff5;outline:none}.options-link.is-cursor,.options-link:focus-visible{outline-offset:2px;outline:2px solid #fff}.character-select{grid-area:roster;min-width:0;position:relative}.roster-count{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.character-grid{--roster-cols:var(--roster-count,9);--tile-max:min(calc(150 * var(--u)), 19cqh);grid-template-columns:repeat(var(--roster-cols), minmax(0, var(--tile-max)));justify-content:center;gap:calc(8 * var(--u));padding:calc(4 * var(--u)) 0;display:grid}.character-card{aspect-ratio:1;border-radius:calc(8 * var(--u));color:#1a1408;min-width:0;box-shadow:0 calc(3 * var(--u)) 0 #0009;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;background:linear-gradient(#ffe56a 0%,#e2a51a 100%);border:0;padding:0;transition:transform .12s,box-shadow .12s,filter .12s;position:relative;overflow:hidden;container:card/inline-size}.character-card:focus{outline:none}.character-card:focus-visible,.character-card.is-cursor{outline-offset:3px;z-index:3;outline:3px solid #fff}.character-card.selected{z-index:2;outline-offset:3px;box-shadow:0 0 0 calc(6 * var(--u)) color-mix(in srgb, var(--local-color,#f7e05e) 35%, transparent), 0 calc(8 * var(--u)) calc(20 * var(--u)) calc(-4 * var(--u)) var(--local-color,#f7e05e);transform:translateY(calc(-3 * var(--u)));outline:3px solid #fff}@media (hover:hover){.character-card:hover{filter:brightness(1.08);transform:translateY(calc(-3 * var(--u)))}}.character-card:active{transform:translateY(0)scale(.97)}.fighter-picks{z-index:5;flex-wrap:wrap-reverse;justify-content:flex-end;gap:3px;max-width:90%;display:flex;position:absolute;top:5%;right:5%}.fighter-pick{background:var(--pick-color,#f7e05e);color:#111;border:2px solid #111;border-radius:999px;place-items:center;min-width:clamp(18px,26cqi,32px);height:clamp(16px,18cqi,24px);padding:0 4px;font-size:clamp(9px,11cqi,13px);font-weight:800;line-height:1;display:grid;box-shadow:0 2px #0006}.fighter-portrait{display:block;position:absolute;inset:0 0 14%;overflow:hidden;container:fighter-portrait/size}.fighter-portrait-sprite{--frame:max(360cqh, 320cqw);width:var(--frame);aspect-ratio:1;top:calc(-.11 * var(--frame));image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;background-size:800% 600%;display:block;position:absolute;left:50%;transform:translate(-50%)}.fighter-portrait-sprite[data-fighter=joshuathomasgray]{--frame:max(340cqh, 300cqw);top:calc(-.02 * var(--frame))}.fighter-portrait-sprite[data-fighter=krusical]{top:calc(-.08 * var(--frame))}.fighter-portrait-sprite[data-fighter=haley]{top:calc(-.19 * var(--frame))}.portrait-placeholder,.portrait-placeholder>span{display:block;position:absolute}.portrait-placeholder{inset:0}.portrait-head{aspect-ratio:.82;z-index:2;background:#1a1408;width:34%;top:18%;left:33%}.portrait-hair,.portrait-neck,.portrait-shoulders{display:none}.fighter-name{z-index:3;color:#fff;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#14161ded;justify-content:center;align-items:center;height:14%;padding:0 4%;font-size:clamp(8px,9cqi,15px);font-weight:800;line-height:1;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.character-card.selected .fighter-name{color:#111;background:#fff}.player-slots{--slot-max:calc(400 * var(--u));min-width:0;min-height:0;padding:calc(12 * var(--u));grid-area:slots;grid-template-columns:repeat(var(--slot-cols,1), minmax(0, var(--slot-max)));grid-template-rows:repeat(var(--slot-rows,1), minmax(0, 1fr));justify-content:center;gap:calc(10 * var(--u));border:1px solid var(--css-line);border-radius:calc(14 * var(--u));background:radial-gradient(ellipse 55% 45% at 50% 100%, #f3c5341f, transparent 70%), repeating-linear-gradient(115deg, #ffffff05 0 calc(14 * var(--u)), transparent calc(14 * var(--u)) calc(28 * var(--u))), linear-gradient(180deg, #0b0d13, #121520);margin:0;list-style:none;display:grid;position:relative;overflow:hidden}.player-slots[data-count="1"]{--slot-max:calc(430 * var(--u))}.player-slot{--plate-h:clamp(24px, 12cqi, 46px);isolation:isolate;border-radius:calc(12 * var(--u));background:linear-gradient(165deg, color-mix(in srgb, var(--slot-color) 78%, #fff) 0%, color-mix(in srgb, var(--slot-color) 42%, #151923) 46%, #10131a 100%);min-width:0;min-height:0;box-shadow:inset 0 0 0 1px #ffffff26, 0 calc(6 * var(--u)) calc(18 * var(--u)) #0008;color:#fff;animation:.22s ease-out both slot-in;position:relative;overflow:hidden;container:slot/size}.player-slot:before{z-index:-1;background:repeating-linear-gradient(115deg, #ffffff12 0 6%, transparent 6% 12%), radial-gradient(ellipse 60% 16% at 50% calc(100% - var(--plate-h)), #0007, transparent 70%);content:"";position:absolute;inset:0}.player-slot.is-local{box-shadow:inset 0 0 0 2px #fff, 0 calc(6 * var(--u)) calc(22 * var(--u)) #000a}.player-slot.is-open{background:linear-gradient(#2b3242,#151922 72%)}@keyframes slot-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.slot-badge,.slot-state{z-index:4;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;place-items:center;height:clamp(18px,8cqi,30px);padding:0 clamp(6px,3cqi,12px);font-size:clamp(10px,4.6cqi,16px);font-weight:800;line-height:1;display:grid;position:absolute;top:clamp(6px,3cqi,14px)}.slot-badge{background:var(--slot-color);color:#111;border:2px solid #111;min-width:clamp(28px,13cqi,48px);left:clamp(6px,3cqi,14px)}.slot-state{color:#d5dae4;background:#0c0e13d9;right:clamp(6px,3cqi,14px)}.player-slot.is-ready .slot-state{color:#06210f;background:#8dffa2}.player-slot.is-waiting .slot-state{background:var(--gold);color:#1a1408}.player-slot.is-open .slot-badge{background:#d5dbe8}.slot-figure{inset:8% 0 var(--plate-h);z-index:1;place-items:end center;display:grid;position:absolute;overflow:hidden;container:slot-figure/size}.slot-figure .selected-fighter-visual{width:100%;height:100%;position:relative}.slot-figure .spotlight-sprite,.slot-portrait-sprite{--frame:min(100cqw, 112cqh);width:var(--frame);aspect-ratio:1;height:auto;image-rendering:pixelated;filter:drop-shadow(0 calc(6 * var(--u)) 0 #0006);background-repeat:no-repeat;background-size:800% 600%;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.slot-figure .spotlight-sprite[data-fighter=haley],.slot-portrait-sprite[data-fighter=haley]{transform:translate(-50%)translateY(-8%)}.slot-figure .spotlight-sprite[data-fighter=joshuathomasgray],.slot-portrait-sprite[data-fighter=joshuathomasgray]{transform:translate(-50%)translateY(8%)}.slot-glove{background:#f5f7fb;border-radius:10px 10px 8px 8px;width:28px;height:34px;margin-bottom:18px;position:relative;box-shadow:0 8px #0003}.slot-glove:before{content:"";background:#f5f7fb;border-radius:7px;width:12px;height:16px;position:absolute;top:8px;left:-5px;transform:rotate(-28deg)}.slot-info{right:clamp(6px,4cqi,18px);bottom:calc(var(--plate-h) + clamp(4px, 2.5cqi, 12px));z-index:3;pointer-events:none;flex-direction:column;align-items:flex-start;gap:clamp(2px,1cqi,5px);display:flex;position:absolute;left:clamp(6px,4cqi,18px)}.slot-fighter{color:#fff;letter-spacing:.01em;text-overflow:ellipsis;text-shadow:0 2px #000,0 0 10px #000c;white-space:nowrap;-webkit-text-stroke:1px #000;paint-order:stroke fill;max-width:100%;font-size:clamp(12px,9cqi,40px);font-weight:800;line-height:1;overflow:hidden}.slot-role{color:#e7ebf3;letter-spacing:.1em;text-shadow:0 1px #000,0 0 6px #000;text-transform:uppercase;font-size:clamp(9px,4.2cqi,16px);font-weight:700}.slot-special{max-width:100%;color:var(--gold);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#0c0e13d9;border-radius:999px;padding:clamp(2px,1cqi,5px) clamp(6px,2.6cqi,10px);font-size:clamp(9px,3.8cqi,14px);font-weight:800;overflow:hidden}.slot-special:before{color:#fff;content:"SP";opacity:.7;margin-right:.5em}.slot-stats{z-index:3;background:#0c0e13b3;border-radius:clamp(6px,2cqi,10px);gap:clamp(3px,1.4cqi,6px);padding:clamp(5px,2.2cqi,9px) clamp(6px,2.6cqi,10px);display:grid;position:absolute;top:calc(clamp(6px,3cqi,14px) + clamp(18px,8cqi,30px) + clamp(6px,3cqi,12px));left:clamp(6px,3cqi,14px)}.slot-stat{letter-spacing:.08em;grid-template-columns:2.6em auto;align-items:center;gap:.4em;font-size:clamp(9px,3.4cqi,13px);font-weight:800;display:grid}.slot-stat-label{color:#c5cad6}.slot-stat-pips{gap:2px;display:flex}.slot-stat-pips i{background:#ffffff26;border-radius:2px;width:clamp(6px,2.6cqi,12px);height:clamp(6px,2cqi,9px)}.slot-stat-pips i.is-on{background:var(--gold)}.slot-name{z-index:3;height:var(--plate-h);border-top:clamp(2px, 1cqi, 4px) solid var(--slot-color);letter-spacing:.1em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#0c0e13;justify-content:center;align-items:center;padding:0 clamp(6px,4cqi,16px);font-size:clamp(10px,5.4cqi,20px);font-weight:800;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}@container slot (width<=199px){.slot-role,.slot-special{display:none}}@container slot (width<=259px){.slot-stats{display:none}}@container slot (height<=299px){.slot-stats{display:none}}.ready-wait{z-index:6;max-width:calc(100% - 24px);margin-top:calc(14 * var(--u));place-self:start center;align-items:baseline;gap:calc(12 * var(--u));padding:calc(8 * var(--u)) calc(18 * var(--u));box-shadow:0 calc(6 * var(--u)) calc(18 * var(--u)) #000a;background:#0f2a1ceb;border:1px solid #8dffa255;border-radius:999px;grid-area:slots;display:flex}.ready-wait-kicker,.ready-wait-detail{text-transform:uppercase;margin:0}.ready-wait-kicker{color:#8dffa2;font-size:max(12px, calc(15 * var(--u)));letter-spacing:.08em;white-space:nowrap;font-weight:800}.ready-wait-detail{color:var(--css-ink);font-size:max(11px, calc(13 * var(--u)));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.ready-wait.is-go{background:#3a3112eb;border-color:#f3c53466}.ready-wait.is-go .ready-wait-kicker{color:var(--gold)}.join-panel{gap:calc(14 * var(--u));min-width:0;min-height:0;padding:calc(16 * var(--u));overscroll-behavior:contain;border:1px solid var(--css-line);border-radius:calc(14 * var(--u));background:var(--panel);scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-direction:column;grid-area:console;display:flex;position:relative;overflow:hidden auto;container:console/inline-size}.console-label{margin:0 0 calc(6 * var(--u));color:var(--css-muted);font-size:max(10px, calc(11 * var(--u)));letter-spacing:.14em;text-transform:uppercase;padding:0;font-weight:800;display:block}.player-name-field{display:block}#player-name,#room-code,.test-start select{width:100%;min-height:var(--control-h);border-radius:calc(8 * var(--u));color:#fff;background:var(--field);padding:0 calc(12 * var(--u));font-size:max(16px, calc(16 * var(--u)));letter-spacing:.08em;text-transform:uppercase;border:2px solid #0000;font-weight:800;transition:border-color .12s,background .12s}#player-name::placeholder,#room-code::placeholder{color:#5d6678}.test-start select{cursor:pointer;font-size:max(13px, calc(14 * var(--u)));letter-spacing:.04em;text-overflow:ellipsis}@media (hover:hover){#player-name:hover,#room-code:hover,.test-start select:hover{background:var(--field-hover)}}#player-name:focus,#room-code:focus,.test-start select:focus,.test-start select.is-cursor,#player-name.is-cursor,#room-code.is-cursor{border-color:#fff;outline:none}#player-name.invalid,#player-name.invalid:focus{border-color:#ff557a}.player-name-error{margin:calc(-6 * var(--u)) 0 0;color:#ffb3c4;font-size:max(11px, calc(12 * var(--u)));font-weight:700}.difficulty-choice{border:0;min-inline-size:0;margin:0;padding:0}.difficulty-row{gap:calc(6 * var(--u));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.difficulty-button,.arcade-button{min-height:var(--control-h);padding:0 calc(10 * var(--u));border-radius:calc(8 * var(--u));color:#f7f4ea;cursor:pointer;font-weight:800;font-size:max(11px, calc(13 * var(--u)));letter-spacing:.06em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;background:#1a1f2b;border:0;transition:background .12s,color .12s,transform 80ms,box-shadow 80ms,filter .12s}.difficulty-button{padding:0 calc(4 * var(--u));font-size:max(10px, calc(12 * var(--u)))}@media (hover:hover){.difficulty-button:not(:disabled):not(.is-selected):hover,.arcade-button:not(.primary):not(.is-ready):hover{background:var(--field-hover)}}.difficulty-button:not(:disabled):active,.arcade-button:active{transform:translateY(1px)}.arcade-button:focus,.difficulty-button:focus{outline:none}.arcade-button:focus-visible,.arcade-button.is-cursor,.difficulty-button:focus-visible,.difficulty-button.is-cursor{outline-offset:2px;outline:2px solid #fff}.difficulty-button.is-selected,.arcade-button.primary{color:#1a1408;background:var(--gold)}.difficulty-button[data-difficulty=terminal].is-selected{color:#fff;background:#e23b57}.difficulty-button:disabled{cursor:default;opacity:.45}.difficulty-note{margin:calc(6 * var(--u)) 0 0;color:var(--css-muted);font-size:max(11px, calc(12 * var(--u)));font-weight:700}.solo-actions,.lobby-actions{gap:calc(10 * var(--u));flex-direction:column;flex:1 0 auto;display:flex}.lobby-actions .arcade-button.subtle{margin-top:auto}.join-panel:not(.lobby-open) .lobby-actions,.join-panel:not(.lobby-open) .lobby-room,.join-panel.lobby-open .solo-actions{display:none}.test-start{display:block}.play-button{min-height:calc(var(--control-h) * 1.3);font-size:max(15px, calc(20 * var(--u)));letter-spacing:.12em;box-shadow:0 calc(4 * var(--u)) 0 var(--gold-deep);position:relative}.play-button:active{box-shadow:0 calc(1 * var(--u)) 0 var(--gold-deep);transform:translateY(calc(3 * var(--u)))}@media (hover:hover){.play-button:hover{filter:brightness(1.07)}}.menu:has(.menu-hints[data-input-device=gamepad]) .play-button:after{content:"Start";letter-spacing:.08em;vertical-align:.2em;background:#1a140833;border-radius:4px;margin-left:.8em;padding:.15em .5em;font-size:.6em}.arcade-button.is-ready{color:#06210f;box-shadow:0 calc(4 * var(--u)) 0 #3a9e52;background:#8dffa2}.arcade-button.subtle{box-shadow:inset 0 0 0 1px var(--css-line);color:var(--css-muted);background:0 0}.console-divider{padding-top:calc(8 * var(--u));align-items:center;gap:calc(10 * var(--u));color:var(--css-muted);font-size:max(10px, calc(11 * var(--u)));letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;margin:auto 0 0;font-weight:800;display:flex}.console-divider:before,.console-divider:after{background:var(--css-line);content:"";flex:1;height:1px}.friends-row{gap:calc(8 * var(--u));display:grid}.join-form{gap:calc(8 * var(--u));grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}#room-code{text-align:center;letter-spacing:.24em;min-width:0}.arcade-button.compact{min-width:calc(72 * var(--u))}.lobby-room{padding:calc(12 * var(--u)) calc(14 * var(--u));border-radius:calc(10 * var(--u));background:#f3c5340f;border:1px solid #f3c53440}.lobby-room .console-label{color:#d9c07a}.lobby-room-row{justify-content:space-between;align-items:center;gap:calc(10 * var(--u));flex-wrap:wrap;display:flex}.lobby-code{color:var(--gold);font-family:Black Ops One,impact,sans-serif;font-size:max(22px, calc(32 * var(--u)));letter-spacing:.12em;margin:0;line-height:1}.lobby-room .arcade-button{min-height:max(30px, calc(36 * var(--u)));font-size:max(10px, calc(12 * var(--u)))}.lobby-hint,.menu-status{color:var(--css-muted);font-size:max(11px, calc(13 * var(--u)));margin:0;font-weight:700;line-height:1.35}.menu-status{color:#c8d0de}.menu-status:empty{display:none}.menu-footer{justify-content:space-between;align-items:center;gap:calc(6 * var(--u)) calc(18 * var(--u));flex-wrap:wrap;grid-area:foot;display:flex}.menu-hints .control-hints{justify-content:flex-start;gap:calc(6 * var(--u)) calc(18 * var(--u));color:var(--css-muted);font-size:max(10px, calc(12 * var(--u)));letter-spacing:.06em;text-transform:uppercase;font-weight:700}.menu kbd{color:#f7f4ea;text-align:center;background:#1a1f2b;border:1px solid #ffffff2e;border-radius:4px;min-width:1.8em;padding:.1em .45em;font-family:Space Mono,monospace;font-size:.9em;display:inline-block;box-shadow:0 2px #000}.legal{color:#667084;font-size:max(9px, calc(11 * var(--u)));margin:0}@media (orientation:landscape) and (max-height:520px){.menu-frame{width:100%;height:100%}.menu{--u:clamp(.72px, calc(100cqh / 560), 1px);--control-h:32px;--console-w:clamp(220px, 34cqw, 300px);padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"top top""roster roster""slots console";row-gap:8px}.menu-footer{display:none}.character-grid{--tile-max:20cqh}.join-panel{gap:10px;padding:10px}.console-label{margin-bottom:4px}.play-button{min-height:40px}}@media (orientation:portrait){html,body{height:auto;overflow:hidden auto}#app{height:auto;min-height:100dvh;display:block;overflow:visible}.menu-frame{width:100%;height:auto;container-type:inline-size}.menu{--u:clamp(.85px, calc(100cqw / 480), 1.5px);--console-w:auto;height:auto;min-height:100dvh;padding:calc(12 * var(--u) + env(safe-area-inset-top)) calc(14 * var(--u) + env(safe-area-inset-right)) calc(16 * var(--u) + env(safe-area-inset-bottom)) calc(14 * var(--u) + env(safe-area-inset-left));grid-template:"top""roster""slots""console""foot"/minmax(0,1fr);overflow:visible}.character-grid{--tile-max:calc(150 * var(--u))}.player-slots{height:max(240px,38svh)}.join-panel{justify-self:center;width:100%;max-width:640px;overflow:visible}.solo-actions,.lobby-actions{margin-top:0}.menu-footer{text-align:center;flex-direction:column;justify-content:center}.menu-hints .control-hints{justify-content:center}}@media (orientation:portrait) and (max-width:640px){.character-grid{--roster-cols:var(--roster-half,5)}}@media (max-width:560px){.css-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title links"}.marquee{grid-area:title}.css-mode{display:none}.css-top-links{grid-area:links}#open-soundtrack{display:none}h1{font-size:24px}}@media (prefers-reduced-motion:reduce){.character-card,.player-slot,.arcade-button,.difficulty-button{transition:none;animation:none}}
