@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--ink:#202433;--paper:#f7f8f2;--lime:#e8ff79;--blue:#469eff;--orange:#ff9367}*{box-sizing:border-box}body{margin:0;background:#9298ad;color:var(--paper);font-family:'Space Grotesk',Arial,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--lime);outline-offset:5px}#app{height:100svh;min-height:570px;position:relative;overflow:hidden}#game{position:absolute;inset:0;width:100%;height:100%;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(23,29,45,.84),rgba(23,29,45,.48) 29%,transparent 58%),linear-gradient(0deg,rgba(23,29,45,.72),transparent 20%);transition:opacity .4s}.topbar{position:absolute;left:42px;right:42px;top:30px;display:flex;justify-content:space-between;align-items:center;z-index:3}.brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:31px;font-weight:900;text-decoration:none;color:var(--paper);letter-spacing:-.6px;display:flex;align-items:center;gap:5px}.brand span{color:var(--ink);background:var(--lime);border-radius:5px;padding:0 5px 2px;transform:rotate(-5deg)}.brand i{font-family:Arial;font-size:12px;align-self:flex-start;margin-top:4px;font-style:normal}.top-actions{display:flex;align-items:center;gap:9px}.edition{font-size:12px;letter-spacing:2px;margin-right:16px;font-weight:600}.icon-button{background:#222b3b9c;border:1px solid #ffffff24;color:#fff;width:42px;height:42px;border-radius:50%;font-size:24px;display:grid;place-items:center;position:relative}.icon-button:hover{background:#38475b}.slash{position:absolute;font-size:31px}.menu-panel{position:absolute;left:6%;top:24%;width:400px;z-index:2}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px}.dash{width:22px;height:3px;background:var(--lime)}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(80px,8.8vw,142px);line-height:.88;letter-spacing:-2px;margin:24px 0 23px;font-weight:900}h1 em{color:var(--lime);font-style:normal}.intro{color:#d3d7dd;line-height:1.6;font-size:16px;margin:0 0 28px}.play-button{background:var(--lime);color:var(--ink);padding:19px 27px;border-radius:8px;font-size:16px;letter-spacing:1.5px;font-weight:800;min-width:260px;box-shadow:0 5px 0 #99b842;transition:transform .15s,background .15s}.play-button:hover{background:#f3ffad;transform:translateY(-2px)}.play-button:active{transform:translateY(3px);box-shadow:0 2px 0 #99b842}.play-button:disabled{cursor:wait;opacity:.7;font-size:13px}.match-note{flex-wrap:wrap;font-size:12px;letter-spacing:1px;color:#d4d9df;display:flex;gap:10px;align-items:center;margin-top:21px}.match-note span{color:#a0a9b7}.match-note b{color:var(--lime)}.stage-tag{position:absolute;right:45px;bottom:137px;text-align:right;text-shadow:0 2px 12px #27334888}.stage-tag span{font-size:12px;letter-spacing:3px}.stage-tag strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px;letter-spacing:1px;margin-top:3px}.stage-tag p{font-size:13px;color:#e1e3e9;margin:3px 0}.controls{position:absolute;bottom:29px;left:42px;right:42px;display:flex;align-items:center;gap:26px;border-top:1px solid #ffffff2c;padding-top:21px;z-index:2}.controls>div{display:flex;align-items:center;gap:9px;color:#e5e7ec;font-size:13px}.controls small{font-size:12px;color:#b7bfcc}.keys{display:flex;gap:3px}kbd{font-family:inherit;font-size:12px;font-weight:700;min-width:26px;height:28px;padding:5px 7px;display:inline-grid;place-items:center;background:#20243375;border:1px solid #ffffff42;border-bottom-width:3px;border-radius:5px;color:white}.help-button{margin-left:auto;border:1px solid #ffffff61;color:white;background:transparent;border-radius:50%;width:29px;height:29px;font-size:16px}.ingame{display:none}.playing .ingame{display:flex}.playing .vignette{background:linear-gradient(0deg,#202433ac,transparent 22%),linear-gradient(180deg,#20243380,transparent 20%)}.playing .menu-panel,.playing .stage-tag{display:none}.scoreboard{position:absolute;top:24px;left:50%;transform:translateX(-50%);align-items:center;background:#242d3aeb;border:1px solid #ffffff2c;border-radius:14px;padding:12px 23px;gap:25px;z-index:2;box-shadow:0 8px 22px #25344928}.player-score{min-width:76px;display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px}.player-score.blue{color:#90c8ff}.player-score.orange{color:#ffac86;text-align:right}.player-score small{font-size:12px;opacity:.7}.pips{display:flex;gap:7px}.orange .pips{justify-content:flex-end}.pips i{width:11px;height:11px;border-radius:50%;background:#111b29;border:1px solid #ffffff40}.pips i.won{background:currentColor;border-color:currentColor;box-shadow:0 0 8px currentColor}.round-box{text-align:center;min-width:65px;border-left:1px solid #ffffff20;border-right:1px solid #ffffff20;padding:0 18px}.round-box span{font-size:12px;letter-spacing:1px;white-space:nowrap}.round-box strong{display:block;font-size:29px;line-height:1.1;margin-top:3px}.notice{position:absolute;top:39%;left:50%;transform:translate(-50%,-50%) rotate(-4deg);font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:clamp(50px,7vw,100px);white-space:nowrap;color:var(--lime);text-shadow:4px 5px 0 #202433,0 10px 30px #20243390;pointer-events:none;z-index:3}.notice:empty{display:none}.status{position:absolute;left:42px;bottom:113px;align-items:center;gap:8px;font-size:13px;background:#202433b8;padding:9px 13px;border:1px solid #ffffff22;border-radius:20px}.player-dot{width:8px;height:8px;background:var(--blue);border-radius:50%}.stamina-wrap{position:absolute;right:42px;bottom:113px;width:180px;flex-direction:column;gap:6px}.stamina-wrap>div{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px}progress{width:100%;height:7px;appearance:none;border:0;border-radius:5px;overflow:hidden;background:#20243366}progress::-webkit-progress-bar{background:#20243366}progress::-webkit-progress-value{background:var(--lime);border-radius:5px}progress::-moz-progress-bar{background:var(--lime)}dialog{background:#252d3d;color:var(--paper);border:1px solid #ffffff24;border-radius:20px;padding:42px;width:min(480px,calc(100% - 32px));box-shadow:0 30px 100px #11182799}dialog::backdrop{background:#12192788;backdrop-filter:blur(6px)}.modal-close{position:absolute;top:12px;right:16px;background:none;color:#fff;font-size:28px}h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:64px;line-height:1;margin:18px 0 20px}#modal-copy{color:#c9d0dc;line-height:1.6;font-size:15px;margin-bottom:27px}#modal-copy p{margin:10px 0}#modal-copy strong{color:#fff}dialog .play-button{width:100%;min-width:0}.text-button{display:block;margin:23px auto 0;background:none;color:#c6ccd6;font-size:12px;letter-spacing:1px}.touch-controls{display:none!important}#error{position:absolute;inset:0;background:#202433;padding:10%;z-index:20}#error button{padding:15px;border-radius:5px;background:var(--lime);color:var(--ink)}
@media(min-width:1600px){.menu-panel{left:8%}}@media(max-width:1100px){.menu-panel{left:5%;top:23%;width:330px}.edition{display:none}.controls{gap:16px;left:25px;right:25px}.controls>div{font-size:12px;gap:7px}.controls small{display:none}.topbar{left:25px;right:25px}.stage-tag{right:28px}.scoreboard{gap:12px;padding:10px 15px}.status{left:25px}.stamina-wrap{right:25px}}@media(max-width:700px){#app{min-height:600px}.topbar{left:20px;right:20px;top:20px}.brand{font-size:25px}.icon-button{width:35px;height:35px;font-size:22px}.menu-panel{top:auto;bottom:77px;left:24px;width:calc(100% - 48px)}.eyebrow{font-size:12px;letter-spacing:1.5px}h1{font-size:76px;line-height:.88;margin:16px 0}h1 br{display:block}h1 em{display:inline}.intro{font-size:14px;line-height:1.45;margin-bottom:20px}.play-button{min-width:245px;padding:17px 24px}.match-note{flex-wrap:wrap;font-size:12px;gap:8px;margin-top:16px}.stage-tag{top:92px;right:24px;bottom:auto}.stage-tag strong{font-size:25px}.stage-tag p{display:none}.vignette{background:linear-gradient(0deg,#202433ee 2%,#202433cc 35%,transparent 72%)}.controls{bottom:20px;padding-top:16px;gap:0}.controls>div{display:none}.controls:before{content:'GOLPEA. AGARRA. NO TE CAIGAS.';font-size:12px;letter-spacing:1.5px}.playing .controls{display:none}.scoreboard{top:75px;padding:8px 16px;gap:22px}.round-box strong{font-size:25px}.player-score{font-size:12px;min-width:62px}.round-box{padding:0 12px;min-width:56px}.playing .touch-controls{display:flex!important;position:absolute;bottom:25px;left:22px;right:22px;justify-content:space-between;align-items:center;pointer-events:none;touch-action:none}.touch-controls button,#stick{pointer-events:auto;touch-action:none;user-select:none}#stick{border:2px solid #ffffff38;border-radius:50%;width:110px;height:110px;background:#20243330;display:grid;place-items:center}#stick-knob{width:48px;height:48px;border-radius:50%;background:#e8ff79aa;border:2px solid #e8ff79;pointer-events:none}.touch-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.touch-actions button{border:1px solid #ffffff45;background:#202433aa;color:white;border-radius:50%;height:61px;width:61px;font-size:12px;font-weight:700}.touch-actions button[data-key=KeyK]{background:#6a94bacc}.touch-actions button[data-key=KeyJ]{background:#b66b4ecc}.status{bottom:158px;left:22px;font-size:12px;max-width:calc(100% - 44px)}.stamina-wrap{bottom:210px;right:22px;width:150px}.notice{top:36%}h2{font-size:52px}dialog{padding:32px 25px}}@media(max-height:700px) and (min-width:701px){#app{min-height:530px}.menu-panel{top:22%}h1{font-size:87px;margin:18px 0}.intro{margin-bottom:20px;font-size:14px}.play-button{padding:16px 25px}.stage-tag{bottom:120px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Game-native setup and two-hand controls. */
.mode-label{display:block;font-size:12px;letter-spacing:1px;color:#ced6e4;margin:0 0 7px}#mode{display:block;width:270px;max-width:100%;background:#23354de6;color:#fff;border:1px solid #a8b4c1;border-radius:6px;padding:12px;font:700 14px 'Space Grotesk',sans-serif;margin-bottom:15px}.menu-panel{top:20%}h1{font-size:clamp(85px,8vw,126px);margin:18px 0}.intro{margin-bottom:18px}.match-note{max-width:310px;line-height:1.5;gap:7px}.controls{gap:20px}.controls>div{font-size:14px}.controls small{display:block;font-size:12px}.notice{font-size:clamp(34px,5.2vw,74px);max-width:92vw;white-space:normal;text-align:center}.stage-tag{display:none}dialog{max-height:90svh;overflow-y:auto}#modal-copy{font-size:14px}.playing .edition{display:none}@media(max-width:700px){.menu-panel{top:auto;bottom:72px}h1{font-size:65px;line-height:.85;margin:12px 0}h1 br{display:none}h1 em{margin-left:8px}.intro{display:none}.eyebrow{font-size:12px}.mode-label{margin-top:16px}#mode{width:100%;font-size:14px;padding:11px}.menu-panel .play-button{width:100%}.match-note{margin-top:13px;font-size:12px}.touch-actions{grid-template-columns:repeat(3,1fr);gap:6px}.touch-actions button{width:54px;height:54px;font-size:10px;padding:2px}.touch-actions button[data-key=KeyQ],.touch-actions button[data-key=KeyE]{background:#627dabee}.touch-actions button[data-key=ShiftLeft]{background:#a5ab63ee}.status{font-size:12px;bottom:150px}.stamina-wrap{bottom:198px}#stick{width:100px;height:100px}.playing .touch-controls{left:14px;right:14px}.controls:before{content:'PULSA PARA GOLPEAR. MANTÉN PARA AGARRAR.';font-size:12px;max-width:280px}.notice{top:29%}.scoreboard{gap:12px}.topbar{top:15px}}@media(max-height:700px) and (min-width:701px){.menu-panel{top:17%}h1{font-size:74px}.eyebrow{font-size:12px}.intro{display:none}#mode{margin-top:14px}}
/* Clear primary actions; the arena remains the main surface. */
#game{touch-action:none;cursor:grab}#game:active{cursor:grabbing}.brand{gap:6px}.controls{gap:32px}.controls>div{font-size:14px}.controls kbd{min-width:32px;height:32px;font-size:14px}.controls small{font-size:12px;color:#d1dbe7}.status{font-size:14px}.camera-tools{position:absolute;right:42px;bottom:145px;display:flex;align-items:center;gap:6px;z-index:2;background:#202c3ccd;border:1px solid #ffffff25;padding:8px 10px;border-radius:12px;backdrop-filter:blur(8px)}.camera-tools>span{font-weight:700;font-size:12px;letter-spacing:1px;margin-right:8px}.camera-tools small{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:4px;color:#d9e4ef}.camera-tools button{width:36px;height:36px;border-radius:8px;background:#ffffff10;color:#fff;font-size:25px}.camera-tools button:hover{background:#ffffff26}.playing .camera-tools{top:119px;bottom:auto}.playing .camera-tools small{display:none}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.help-grid p{background:#ffffff08;border:1px solid #ffffff16;border-radius:10px;padding:12px;font-size:14px}#modal-copy{font-size:15px}#modal-copy summary{cursor:pointer;color:var(--lime);font-size:14px;padding:12px 0}.touch-actions button small{display:block;font-size:12px;font-weight:400}.touch-controls button:active{transform:scale(.94);filter:brightness(1.25)}
@media(max-width:1100px){.camera-tools{right:25px}.controls{gap:21px}.controls>div{font-size:14px}.controls small{display:block}}
@media(max-width:700px){#app{min-height:100svh}.camera-tools{top:80px;bottom:auto;right:20px;padding:6px}.camera-tools small{display:none}.camera-tools>span{font-size:12px}.playing .camera-tools{top:155px;right:16px}.camera-tools button{width:34px;height:34px}.touch-actions{grid-template-columns:repeat(2,64px);gap:9px}.touch-actions button{height:64px;width:64px;font-size:12px;padding:2px}.touch-actions button[data-key=KeyF]{background:#397ec4e6}.touch-actions button[data-key=KeyE]{grid-column:2;grid-row:1 / span 2;height:110px;align-self:center;border-radius:30px;background:#e8ff79;color:#202433;box-shadow:0 4px 0 #8aa83c}.touch-actions button[data-key=Space]{grid-column:1;grid-row:2}.playing .touch-controls{bottom:20px;left:18px;right:18px}.status{bottom:166px;font-size:12px;max-width:calc(100% - 32px);left:16px}.stamina-wrap{bottom:217px;right:18px;width:135px}.controls:before{content:'MOVER · GOLPEAR · AGARRAR · SALTAR';font-size:12px;letter-spacing:.7px;max-width:280px}.help-grid{grid-template-columns:1fr}.help-grid p{margin:3px 0}.scoreboard{top:70px}.menu-panel{bottom:74px}}
@media(pointer:coarse) and (min-width:701px){.playing .controls{display:none}.playing .touch-controls{display:flex!important;position:absolute;left:25px;right:25px;bottom:22px;align-items:center;justify-content:space-between;pointer-events:none}.touch-controls button,#stick{pointer-events:auto;touch-action:none;user-select:none}#stick{width:105px;height:105px;border:2px solid #ffffff38;border-radius:50%;display:grid;place-items:center;background:#20243340}#stick-knob{width:48px;height:48px;border-radius:50%;background:#e8ff79aa;border:2px solid #e8ff79}.touch-actions{display:flex;gap:10px}.touch-actions button{width:68px;height:68px;border-radius:50%;background:#243952dd;color:white;font-size:12px}.touch-actions button[data-key=KeyE]{background:var(--lime);color:var(--ink)}.status{bottom:150px}.stamina-wrap{bottom:115px}.playing .camera-tools{top:100px}}
@media(max-height:560px){#app{min-height:100svh}.menu-panel{top:90px;bottom:auto;left:30px;width:260px}h1{font-size:58px;margin:12px 0}h1 br{display:none}h1 em{margin-left:8px}.intro,.match-note{display:none}.menu-panel .eyebrow{display:none}.mode-label{margin-top:10px}#mode{padding:9px;margin-bottom:10px}.play-button{padding:13px 20px}.camera-tools{top:92px;bottom:auto}.controls{bottom:12px;padding-top:10px}.playing .scoreboard{top:15px}.playing .camera-tools{top:88px}.playing .status{bottom:135px}}
/* Feedback follows the fighters; persistent chrome recedes during play. */
.fighter-state{position:absolute;left:0;top:0;z-index:3;pointer-events:none;font-size:14px;font-weight:800;letter-spacing:.5px;border-radius:8px;padding:6px 10px;white-space:nowrap;box-shadow:0 3px 12px #14233440}.fighter-state.knocked{background:#efff8c;color:#26303b;border:1px solid #fcffdb}.fighter-state.recovering{background:#243b46ed;color:#b9ffd9;border:1px solid #b9ffd97a}.status,.stamina-wrap{transition:opacity .25s}.playing .is-idle{opacity:0;pointer-events:none}.controls>div{transition:opacity .35s}.playing.settled .controls>div{opacity:0;pointer-events:none}.playing.settled .controls{border-top-color:transparent}.playing.settled .controls:hover>div,.playing.settled .controls:focus-within>div{opacity:1;pointer-events:auto}.help-button{width:auto;min-width:34px;height:34px;padding:0 10px;display:flex;gap:8px;align-items:center;justify-content:center;background:#202c3cb3;flex-shrink:0}.help-button span{font-size:12px;letter-spacing:.6px}.playing.settled .camera-tools>span{display:none}.playing.settled .camera-tools{background:#202c3c80;border-color:#ffffff18}.touch-actions button[data-key=KeyF]{box-shadow:0 3px 0 #28547b}.camera-tools button:active{transform:scale(.94)}
@media(max-width:1100px){.help-button span{display:none}.controls{gap:17px}.controls>div{gap:7px}}
@media(max-width:700px){.help-button{padding:0;width:30px;height:30px}.fighter-state{font-size:12px;padding:5px 8px}.playing.settled .camera-tools{background:#202c3c99}.playing .camera-tools>span{display:none}.controls:before{content:'MANTÉN GOLPE · AGARRA · SUELTA PARA LANZAR'}}
.player-score>span{white-space:nowrap}@media(max-width:700px){.player-score{min-width:78px}.scoreboard{gap:10px}}
/* The charge appears only while an opponent is held. */
.fighter-state.windup{background:#ffcf75;color:#302922;border:1px solid #fff0c8}
.victory-panel{position:absolute;z-index:4;right:32px;bottom:30px;width:300px;padding:24px;background:#202c3cf2;border:1px solid #e8ff7966;border-radius:18px;box-shadow:0 16px 45px #14233440}.victory-panel[hidden]{display:none}.victory-panel .eyebrow{font-size:12px;letter-spacing:1px;color:var(--lime)}.victory-panel h2{font-size:42px;margin:13px 0;line-height:.98}.victory-panel p{font-size:14px;line-height:1.5;color:#d6e0e8;margin:0 0 18px}.victory-panel .play-button{width:100%;min-width:0;padding:14px;font-size:14px}.victory-panel .text-button{margin:19px auto 0;font-size:12px}.celebrating .touch-controls,.celebrating .status,.celebrating .stamina-wrap,.celebrating .controls>div{display:none!important}.celebrating .controls{border:0;right:auto;padding:0}.celebrating .notice{top:158px;font-size:40px;transform:translate(-50%,-50%) rotate(-3deg)}
@media(max-width:700px){.victory-panel{right:18px;left:18px;bottom:20px;width:auto;padding:18px 20px}.victory-panel h2{font-size:32px;margin:9px 0}.victory-panel p{display:none}.victory-panel .play-button{padding:12px}.victory-panel .text-button{margin-top:15px}.celebrating .notice{top:222px;font-size:29px}.celebrating .controls{display:none}}
.status.has-throw{border-color:#e8ff7980;border-radius:14px;background:#202433ed;align-items:flex-start}.status.has-throw .player-dot{background:var(--lime);margin-top:5px}#throw-meter{margin-top:10px}#throw-meter[hidden]{display:none}#throw-power{display:block;color:var(--lime);font-size:12px;font-weight:700;letter-spacing:.7px;margin-bottom:5px}#throw-charge{display:block;height:6px}.fighter-state.throw-ready{background:var(--lime);color:var(--ink);border:1px solid #ffffce}.touch-actions button.throw-charged{outline:3px solid #fcffd9;outline-offset:4px}.status.has-throw{max-width:calc(100% - 260px)}
@media(max-width:700px){.status.has-throw{max-width:calc(100% - 32px);font-size:14px;bottom:173px}.stamina-wrap{bottom:267px}#throw-meter{margin-top:7px}}
/* Compact match setup, with the selected arena visible behind it. */
.menu-panel{top:17%;width:370px}h1{font-size:clamp(78px,7.2vw,108px);margin:16px 0}.intro{font-size:15px;margin-bottom:18px}.match-setup{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:0 0 10px}.match-setup label{display:block;color:#d8e1ea;font-size:11px;font-weight:600;letter-spacing:1px}.setup-mode{grid-column:1 / -1}.match-setup select,.match-setup #mode{display:block;width:100%;max-width:none;margin:6px 0 0;padding:11px 9px;border:1px solid #80939e;border-radius:7px;background:#23354ded;color:#fff;font:700 13px 'Space Grotesk',Arial,sans-serif;letter-spacing:0}.match-setup select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.match-setup .is-disabled{opacity:.5}.match-setup select:disabled{cursor:not-allowed}.setup-hint{font-size:12px;line-height:1.45;min-height:18px;color:#cedbe2;margin:8px 0 17px}.menu-panel .play-button{width:100%;min-width:0}.match-note{max-width:none;font-size:11px;letter-spacing:.65px;margin-top:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px) and (min-width:701px){.menu-panel{width:310px}.intro{font-size:14px}}
@media(max-width:700px){.menu-panel{top:auto;bottom:74px;left:24px;width:calc(100% - 48px)}h1{font-size:58px;margin:13px 0 18px}.match-setup{gap:10px}.match-setup select,.match-setup #mode{padding:12px 8px;font-size:12px}.setup-hint{margin:9px 0 17px;font-size:12px}.match-note{font-size:10px;letter-spacing:.2px;margin-top:14px}}
@media(max-height:760px) and (min-width:701px){.menu-panel{top:102px;width:310px}h1{font-size:72px;margin:12px 0}.intro{display:none}.setup-hint{margin-bottom:13px}.menu-panel .play-button{padding:15px 20px}.match-note{margin-top:14px}}
@media(max-height:580px){.menu-panel{top:80px;bottom:auto;width:290px}h1{font-size:52px;line-height:.9;margin:8px 0 13px}h1 br{display:none}h1 em{margin-left:6px}.menu-panel .eyebrow,.intro,.match-note{display:none}.match-setup{gap:7px}.match-setup select,.match-setup #mode{padding:8px;margin-top:4px}.setup-hint{margin:6px 0 11px;font-size:11px}.menu-panel .play-button{padding:11px 15px}}
@media(max-height:440px){.menu-mode .controls{left:auto;border:0}.menu-mode .controls>div{display:none}.menu-mode .controls:before{content:none}.menu-mode .camera-tools small{display:none}}
.camera-tools .bot-settings{width:auto;padding:0 11px;font-size:11px;font-weight:700;letter-spacing:.3px;align-items:center;color:var(--lime);border:1px solid #e8ff7955;background:#e8ff7910;white-space:nowrap}.bot-settings[hidden]{display:none!important}.pause-settings{margin:8px 0}.pause-settings label{display:block;color:#e2eaf0;font-size:12px;font-weight:700;letter-spacing:1px}.pause-settings select{display:block;width:100%;margin:10px 0 15px;border:1px solid #94a4ac;border-radius:8px;padding:14px;background:#1d2b3b;color:var(--lime);font:700 16px 'Space Grotesk',Arial,sans-serif}.pause-settings select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.pause-settings #pause-level-hint{color:#edf3e4;min-height:48px}.pause-settings small{display:block;font-size:12px;line-height:1.6;color:#bbc9d5}
@media(max-width:700px){.camera-tools .bot-settings{padding:0 9px;font-size:10px}}

.menu-extras{display:flex;gap:16px;justify-content:center}.menu-extras .text-button{font-size:12px;padding:12px 0;margin:0}.menu-extras+.match-note{margin-top:0}
.wardrobe-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wardrobe-grid label{font-size:14px;display:grid;gap:6px}.wardrobe-grid label:first-child{grid-column:1/-1}.wardrobe-grid select,.lobby-input{width:100%;background:#303b4d;color:#fff;border:1px solid #647083;border-radius:6px;padding:10px;font:inherit}.wardrobe-grid select:focus,.lobby-input:focus{outline:2px solid #e8ff79}.wardrobe-swatch{height:10px;border-radius:8px;margin:12px 0}
#replay-bar{position:absolute;z-index:8;bottom:110px;left:50%;transform:translateX(-50%);width:min(490px,90%);padding:12px 16px;background:#202a3bef;color:#fff;border-radius:10px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 50px #0003}#replay-bar[hidden],#network-badge[hidden]{display:none}#replay-bar span{font-size:12px;font-weight:800;white-space:nowrap}#replay-bar b{color:#e8ff79}#replay-bar progress{width:70px;height:4px;accent-color:#e8ff79}#replay-bar button{border:0;background:#e8ff79;padding:9px;color:#202433;border-radius:5px;font-weight:800;cursor:pointer}.replaying .status,.replaying .touch-controls,.replaying .stamina-wrap,.replaying .notice,.replaying .fighter-state{visibility:hidden}
#network-badge{position:absolute;top:96px;left:50%;transform:translateX(-50%);background:#202a3bec;border-radius:20px;color:#e8ff79;font-size:12px;padding:6px 14px;z-index:6;white-space:nowrap}.room-code{display:block;font-size:38px;font-weight:900;letter-spacing:7px;color:#e8ff79;text-align:center;margin:16px 0}.lobby-input{text-transform:uppercase;letter-spacing:3px;font-size:24px;margin:8px 0 12px}.lobby-status{font-size:15px;min-height:42px}.lobby-actions{display:flex;gap:12px;justify-content:center}.lobby-actions button{color:#e8ff79}.room-info{font-size:14px;line-height:1.5;color:#bbc7d3}
@media(max-width:700px){.menu-extras{gap:22px}.menu-extras .text-button{padding:9px 0}#replay-bar{bottom:170px;gap:8px;padding:10px}#replay-bar span{font-size:11px}#replay-bar b{display:none}.wardrobe-grid{gap:10px}#network-badge{top:132px}.lobby-input{font-size:20px}}

.wardrobe-open{max-width:560px}.wardrobe-open h2{font-size:36px;margin:14px 0 0}.wardrobe-preview{display:block;width:100%;height:180px;touch-action:none;background:radial-gradient(ellipse at center,#53677877,#27304300 65%);cursor:grab}.wardrobe-open .room-info{display:none}.wardrobe-open .wardrobe-swatch{height:5px}.wardrobe-open .wardrobe-grid{gap:8px 12px}.wardrobe-open .play-button{margin-top:16px;padding:12px}.wardrobe-open .text-button{margin-top:12px}.wardrobe-open{padding-top:26px;padding-bottom:24px}
.lobby-open{max-width:560px;padding-top:28px;padding-bottom:24px}.lobby-open h2{font-size:34px;margin:18px 0}.lobby-open label{display:block;font-size:12px;font-weight:700;letter-spacing:.7px}.room-name-input,.room-map-field select{width:100%;border:1px solid #708091;border-radius:8px;background:#303b4d;color:white;padding:12px;font:inherit;margin:8px 0 16px}.room-name-input:focus,.room-map-field select:focus{outline:2px solid var(--lime);outline-offset:2px}.room-name-input[hidden]{display:none}.room-map-field select:disabled{opacity:1;color:#c9d9e1}.room-players{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 22px}.room-player{display:grid;grid-template-columns:36px 1fr;column-gap:9px;padding:14px 12px;border:1px solid #4c5b70;background:#ffffff06;border-radius:12px;align-items:center;min-width:0}.room-player strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-player small{grid-column:2;font-size:10px;letter-spacing:.6px;color:#9eafbe;margin-top:3px}.room-player.is-ready{border-color:#a4bf65;background:#e8ff7909}.room-player.is-ready small{color:var(--lime)}.room-avatar{grid-row:1/3;display:block;width:30px;height:35px;border-radius:45% 45% 35% 35%;background:#60aaff;position:relative;box-shadow:inset -6px -3px 0 #0002}.room-avatar:after{content:'••';position:absolute;top:1px;left:8px;letter-spacing:2px;color:#152337;font-size:17px}.guest-avatar{background:#ff925b}.lobby-open .room-code{margin:6px 0}.lobby-open .lobby-actions{gap:18px}.lobby-open .lobby-actions button{font-size:11px;margin:8px 0;padding:8px 0}.lobby-open .lobby-status{min-height:42px;margin:8px 0 14px;line-height:1.5}.lobby-open .room-info{margin:0 0 14px;font-size:13px}.lobby-open .play-button{padding:14px 20px;margin-top:0}.lobby-open>.text-button{margin-top:14px}.lobby-open .eyebrow{font-size:10px;letter-spacing:1px}
@media(max-width:700px){.lobby-open{padding:24px 20px}.lobby-open h2{font-size:28px}.room-players{gap:8px}.room-player{padding:12px 9px;column-gap:6px}.room-player strong{font-size:12px}.room-code{font-size:32px}.lobby-open .room-info{font-size:12px}}
#modal.lobby-open #modal-copy{margin-bottom:12px}.lobby-open .room-players{margin-bottom:14px}.lobby-open .lobby-status{min-height:34px}.lobby-open .play-button:disabled{cursor:default}.wardrobe-preview-controls{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.wardrobe-preview-controls button{background:#ffffff0d;border:1px solid #667488;border-radius:20px;padding:5px 14px;color:#dce6ee;font-size:11px}.wardrobe-preview-controls button[aria-pressed=true]{background:#e8ff7918;border-color:var(--lime);color:var(--lime)}.wardrobe-open #modal-copy{margin-bottom:14px}
.wardrobe-open{width:min(540px,calc(100% - 32px));padding-top:20px;padding-bottom:18px}.wardrobe-open h2{margin-top:10px}.wardrobe-preview{height:150px}.wardrobe-open .wardrobe-grid select{padding:8px}.wardrobe-open .text-button{margin-top:10px}

/* Append after style.css. Scoped to the four-player lobby and its match HUD. */
#modal.party-open {
  width: min(700px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  padding: 22px 26px 18px;
  overflow: hidden;
}
#modal.party-open[open] {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  gap: 9px;
}
.party-open > .eyebrow { padding-right: 24px; font-size: 10px; letter-spacing: 1px; }
.party-open h2 { margin: 0; font-size: 38px; line-height: 1; }
#modal.party-open #modal-copy {
  min-height: 0;
  margin: 1px 0 2px;
  padding: 0 5px 0 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #758393 transparent;
  font-size: 13px;
  line-height: 1.4;
}
.party-open label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .35px; }
.party-open input, .party-open select {
  width: 100%;
  min-width: 0;
  min-height: 37px;
  margin: 5px 0 10px;
  padding: 8px 10px;
  border: 1px solid #65758a;
  border-radius: 7px;
  color: #edf3f7;
  background: #303d50;
  font: 500 13px 'Space Grotesk', Arial, sans-serif;
}
.party-open input:focus-visible, .party-open select:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.party-open select:disabled { color: #becbd6; background: #2b3544; opacity: 1; cursor: default; }
.party-open .lobby-input { font-size: 19px; letter-spacing: 3px; }
.party-open .room-name-input[hidden] { display: none; }
.party-code-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin: 2px 0 10px; }
#party-code { color: var(--lime); font-size: 27px; font-weight: 800; line-height: 1; letter-spacing: 4px; }
.party-code-row .text-button { min-height: 36px; margin: 0; padding: 8px 0 8px 10px; font-size: 10px; letter-spacing: .25px; text-align: right; }
.party-members { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.party-member {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr);
  align-content: center;
  column-gap: 7px;
  row-gap: 4px;
  min-width: 0;
  min-height: 66px;
  padding: 10px 8px;
  background: #ffffff05;
  border: 1px solid #536277;
  border-top: 2px solid var(--fighter-color, #76859a);
  border-radius: 10px;
}
.party-member > i { grid-row: 1 / 3; align-self: center; position: relative; width: 20px; height: 26px; border-radius: 47% 47% 35% 35%; background: var(--fighter-color); box-shadow: inset -4px -3px #0002; }
.party-member > i::after { content: '••'; position: absolute; top: -3px; left: 4px; color: #203040; font: 15px Arial, sans-serif; letter-spacing: 1px; }
.party-member strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; line-height: 1.2; }
.party-member small { grid-column: 2; font-size: 8px; line-height: 1.35; color: #bac8d7; letter-spacing: .2px; }
.party-member.vacant { border-style: dashed; border-top-color: #536277; background: transparent; }
.party-member.vacant > i { background: #536277; opacity: .55; }
.party-member.vacant > i::after { content: ''; }
.party-member.vacant strong { color: #a9b7c6 !important; }
.party-member.vacant small { color: #8090a2; }
.party-settings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.party-settings select { padding-inline: 7px; font-size: 11px; }
.party-open .room-map-field { margin-top: 1px; }
.party-open .room-map-field select { margin-bottom: 4px; }
#modal.party-open #party-votes { min-height: 16px; margin: 3px 0 8px; color: #aebed0; font-size: 11px; }
#party-series:empty { display: none; }
#party-series:not(:empty) { max-height: 62px; overflow: auto; padding: 8px 10px; margin: 0 0 10px; border-left: 2px solid var(--lime); background: #e8ff7908; font-size: 11px; line-height: 1.45; }
#modal.party-open .lobby-status { min-height: 30px; margin: 5px 0 8px; color: #e2ebf3; font-size: 12px; line-height: 1.4; }
.party-open .practice-button { width: 100%; min-height: 35px; padding: 8px 10px; border: 1px solid #7b8b9b; border-radius: 7px; color: #d5e1ec; background: #ffffff04; font-size: 10px; font-weight: 700; letter-spacing: .6px; }
.party-open .practice-button:hover { border-color: #dbe8ef; background: #ffffff09; }
.party-open > .play-button { min-height: 42px; padding: 12px 16px; font-size: 13px; letter-spacing: .7px; box-shadow: 0 3px 0 #99b842; }
.party-open > .play-button:disabled { cursor: default; font-size: 13px; }
.party-open > .text-button { min-height: 29px; margin: 0; padding: 7px 10px; font-size: 10px; letter-spacing: .7px; }

/* The central timer remains. Four compact chips replace the two old side scores. */
.online-match #scoreboard .player-score { display: none; }
.online-match #scoreboard { padding: 8px 15px; }
.online-match #scoreboard .round-box { min-width: 66px; padding: 0; border: 0; }
#party-scoreboard, .mini-party-scoreboard {
  position: absolute;
  z-index: 3;
  top: 110px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 6px;
  width: min(510px, calc(100% - 48px));
  pointer-events: none;
}
#party-scoreboard[hidden], .mini-party-scoreboard[hidden], .party-return[hidden] { display: none; }
.party-score { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 8px 10px; border: 1px solid #ffffff28; border-left: 3px solid var(--fighter-color); border-radius: 8px; background: #222f40ee; box-shadow: 0 4px 14px #14233422; }
.party-score > span { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #eff4f8; font-size: 11px; font-weight: 600; }
.party-score > strong { flex: none; color: var(--fighter-color); font-size: 18px; line-height: 1; }
.party-score.out { opacity: .55; background: #202936d9; }
.party-score.out > span { text-decoration: line-through; text-decoration-color: #b5c3d0; }
.online-match #network-badge { top: 155px; max-width: calc(100% - 36px); overflow: hidden; text-overflow: ellipsis; font-size: 10px; }
.party-return { position: absolute; z-index: 5; top: 112px; left: 24px; min-height: 38px; padding: 10px 14px; border: 1px solid #e8ff7970; border-radius: 8px; color: var(--lime); background: #263445ee; font-size: 11px; font-weight: 700; letter-spacing: .4px; }

/* Keep the new local round rule on one line instead of adding another tall field. */
.round-modifier-field { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 10px; align-items: center; margin: 2px 0 7px; color: #d8e1ea; font-size: 11px; font-weight: 600; letter-spacing: .8px; }
.round-modifier-field select { width: 100%; min-width: 0; min-height: 36px; margin: 0; padding: 8px; border: 1px solid #80939e; border-radius: 7px; background: #23354ded; color: #fff; font: 700 12px 'Space Grotesk', Arial, sans-serif; }
.round-modifier-field select:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.round-modifier-field + .setup-hint { margin-top: 6px; margin-bottom: 12px; }

@media (max-width: 640px) {
  #modal.party-open { width: calc(100% - 20px); max-height: calc(100dvh - 20px); padding: 19px 16px 13px; }
  .party-open h2 { font-size: 31px; }
  .party-members, .party-settings { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .party-member { min-height: 56px; padding: 8px 10px; }
  .party-member small { font-size: 9px; }
  .party-settings select { font-size: 12px; }
  .party-code-row { margin-bottom: 9px; }
  #party-code { font-size: 24px; letter-spacing: 3px; }
  .party-open input, .party-open select { margin-bottom: 7px; }
  #party-scoreboard, .mini-party-scoreboard { top: 143px; width: calc(100% - 32px); gap: 5px; }
  .party-score { gap: 5px; padding: 7px 6px; border-left-width: 2px; }
  .party-score > span { font-size: 10px; }
  .party-score > strong { font-size: 16px; }
  .online-match #network-badge { top: 184px; }
  .party-return { top: auto; bottom: 129px; left: 16px; padding: 9px 12px; }
  .round-modifier-field { grid-template-columns: 57px minmax(0, 1fr); gap: 8px; }
}
@media (max-height: 720px) {
  #modal.party-open { padding-top: 17px; padding-bottom: 11px; }
  #modal.party-open[open] { gap: 7px; }
  .party-open h2 { font-size: 30px; }
  .party-open > .eyebrow { font-size: 9px; }
  .party-members { margin-bottom: 9px; }
  .party-member { min-height: 53px; }
  .party-code-row { margin-bottom: 7px; }
  .party-open input, .party-open select { min-height: 34px; padding-top: 7px; padding-bottom: 7px; }
  .party-open > .play-button { min-height: 39px; padding-block: 10px; }
  .party-open > .text-button { min-height: 26px; padding-block: 5px; }
  .round-modifier-field select { min-height: 33px; padding-block: 7px; }
  .round-modifier-field + .setup-hint { margin-bottom: 9px; }
}
@media (max-height: 560px) and (min-width: 641px) {
  #modal.party-open { width: min(720px, calc(100% - 24px)); }
  .party-open h2 { font-size: 27px; }
  .party-member { min-height: 49px; }
  #party-scoreboard, .mini-party-scoreboard { top: 80px; }
  .online-match #network-badge { top: 121px; }
  .party-return { top: 125px; }
}

#unlock-toast{position:absolute;bottom:95px;left:50%;transform:translateX(-50%);z-index:12;max-width:85%;padding:12px 20px;border-radius:10px;background:#e8ff79;color:#202433;font-size:13px;font-weight:700}#unlock-toast[hidden]{display:none}.club-achievements{font-size:13px;line-height:1.5}#party-series{padding:8px 0;color:#e8ff79;font-size:12px;line-height:1.5}#party-series:empty{display:none}
/* Capture mode keeps round wins and zone control visible separately. */
#hill-hud{position:absolute;z-index:6;top:112px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 40px));padding:9px 12px 10px;border:1px solid #b8d2cd32;border-radius:12px;background:#202a3be8;pointer-events:none}
#hill-hud[hidden]{display:none}.online-match #hill-hud{top:185px}
#hill-status{text-align:center;color:#e8ff79;font-size:12px;letter-spacing:.5px;font-weight:700;margin-bottom:7px}
#hill-progress{display:flex;gap:12px}.hill-score{display:grid;grid-template-columns:1fr auto;gap:4px;min-width:0;flex:1;font-size:11px}.hill-score span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hill-color)}.hill-score b{font-size:10px;white-space:nowrap}.hill-score progress{grid-column:1/-1;accent-color:var(--hill-color);height:5px;width:100%;border:0}
.party-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.party-settings label:first-child{grid-column:span 2}
@media(min-width:701px) and (max-height:800px){.menu-panel h1{font-size:76px;margin:11px 0}.menu-panel .match-note{margin-top:10px}}
@media(max-width:700px){.party-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.party-settings label:first-child{grid-column:span 2}#hill-hud{top:143px;padding:8px}.online-match #hill-hud{top:215px}#hill-status{font-size:11px}.hill-score{display:flex;flex-direction:column;gap:3px}.hill-score span{font-size:10px}.hill-score b{font-size:10px}#hill-progress{gap:7px}.menu-panel h1{font-size:52px;margin:9px 0 13px}.menu-panel .setup-hint{margin-bottom:9px}.menu-panel .match-note{margin-top:8px}}
@media(max-height:580px){#hill-hud{top:83px;max-width:380px}.online-match #hill-hud{top:147px}.objective-field{margin-top:0}.round-modifier-field select{min-height:30px;padding:5px}.menu-panel h1{font-size:42px;margin:6px 0}}
/* Keep every setup action reachable above the fixed control strip. */
.menu-panel{max-height:calc(100svh - 200px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#82918b transparent;padding:0 8px 8px 0}
@media(min-width:701px) and (max-height:800px){
  .menu-panel{top:93px;bottom:100px;width:350px;max-height:none}
  .menu-panel .eyebrow{display:none}
  .menu-panel h1{font-size:58px;line-height:1;margin:0 0 12px}
  .menu-panel h1 br{display:none}.menu-panel h1 em{margin-left:8px}
  .menu-panel .match-setup{gap:8px 12px}
  .menu-panel .match-setup select{padding:9px 8px}
  .menu-panel .setup-hint{font-size:11px;margin:6px 0 10px}
  .menu-panel .match-note{margin-top:7px;font-size:10px}
}
@media(max-width:700px){.menu-panel{top:90px;bottom:75px;max-height:none}.menu-panel h1{font-size:48px;line-height:1}.menu-panel h1 br{display:none}.menu-panel h1 em{margin-left:8px}.menu-panel .intro,.menu-panel .eyebrow{display:none}}
@media(max-height:580px){.menu-panel{top:76px;bottom:64px;max-height:none}.menu-panel h1{font-size:36px}.menu-mode .controls>div{display:none}.menu-mode .controls{left:auto;border-top:0}.menu-mode .controls:before{content:none}}
.hill-score progress::-webkit-progress-value{background:var(--hill-color)}.hill-score progress::-moz-progress-bar{background:var(--hill-color)}
.playing:has(#hill-hud:not([hidden])) .camera-tools{top:190px;bottom:auto}
.playing.online-match:has(#hill-hud:not([hidden])) .camera-tools{top:267px}
@media(max-width:700px){.playing:has(#hill-hud:not([hidden])) .camera-tools{top:230px}.playing.online-match:has(#hill-hud:not([hidden])) .camera-tools{top:302px}}
@media(max-height:580px){.playing:has(#hill-hud:not([hidden])) .camera-tools{top:160px}.playing.online-match:has(#hill-hud:not([hidden])) .camera-tools{top:225px}}
@media(max-width:700px){.menu-mode .camera-tools{top:auto;bottom:95px;right:20px}.menu-mode .camera-tools>span{display:none}}
