:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#eff2ed;background:#0c100f;font-synthesis:none;--lime:#bcf568;--muted:#89938f;--line:#ffffff12}
/* Menu header belongs to the page top and scrolls away with the content. */
body:has(#menu:not([hidden]))>.brand,body:has(#menu:not([hidden]))>.sound{position:absolute}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}canvas#arena{position:fixed;inset:0;width:100%;height:100%}.brand{position:fixed;top:30px;left:40px;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:800;letter-spacing:1.4px;z-index:4}.brand-icon{display:grid;place-items:center;width:29px;height:29px;background:var(--lime);color:#182312;border-radius:8px;font-size:26px}.build{font-size:10px;color:#62706a;border-left:1px solid #344037;padding-left:12px;margin-left:6px}.sound{position:fixed;right:40px;top:32px;z-index:8;border:1px solid #ffffff20;background:#151c18c9;color:#adb7af;padding:10px 15px;border-radius:7px;font-size:10px;letter-spacing:1px}.menu{position:relative;display:grid;grid-template-columns:1.25fr 0.85fr;gap:7vw;align-items:center;max-width:1260px;margin:auto;height:100dvh;padding:110px 40px 85px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#a3afa5;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #bcf56850}h1{font-size:clamp(45px,5.3vw,76px);font-weight:900;letter-spacing:-3.5px;line-height:1.06;margin:24px 0}h1 span{color:var(--lime)}.tagline{font-size:14px;line-height:1.85;color:#99a59e;margin-bottom:35px}.preview-label{margin:30px 0 115px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px;position:relative}.preview-label strong{color:var(--lime);font-size:22px;margin-left:6px;letter-spacing:-.6px}.preview-label small{position:absolute;left:16px;top:31px;font-size:8px;color:#717e73;letter-spacing:1.3px}.stats{display:flex;gap:55px}.stats div{display:flex;flex-direction:column;gap:9px}.stats strong{font-size:24px;letter-spacing:-1px}.stats span{font-size:8px;color:#7d8a82;letter-spacing:1.8px}.panel{background:linear-gradient(135deg,#1b231ded,#111815ed);border:1px solid #ffffff12;border-radius:18px;box-shadow:0 20px 70px #0003;backdrop-filter:blur(15px)}.setup{padding:30px;position:relative}.step{margin-left:auto;color:#59685d;font-size:9px}h2{font-size:27px;letter-spacing:-1px;margin:22px 0 8px}.muted{color:var(--muted);font-size:12px;line-height:1.7;margin:0 0 25px}label{display:block;font-size:9px;font-weight:700;letter-spacing:1.4px;color:#9ba69e;margin:22px 0 10px}input{width:100%;background:#0b120e;border:1px solid #ffffff17;border-radius:8px;padding:13px 15px;color:#e6ede7;font-size:13px;font-weight:650;letter-spacing:1px}.leagues{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.leagues button{background:#202922;border:1px solid #ffffff10;border-radius:8px;color:#bbc5bc;padding:14px 2px;font-size:15px;font-weight:650;position:relative}.leagues button:hover{background:#2c3a2c}.leagues button.selected{background:#bcf56815;border-color:var(--lime);color:var(--lime)}.leagues button.selected:after{content:'•';position:absolute;right:7px;top:3px;font-size:14px}.unit-info{display:flex;justify-content:space-between;margin:16px 0 26px;font-size:9px;color:#88968c}.unit-info strong{font-weight:500;color:#bfccbb}.primary{border:0;border-radius:9px;background:var(--lime);color:#17200f;font-weight:850;font-size:12px;letter-spacing:1px;width:100%;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 0 30px #bcf56810}.primary:hover{background:#d1ff8c;transform:translateY(-1px)}.primary span{font-size:21px;line-height:16px}.controls{display:flex;justify-content:center;gap:22px;font-size:9px;color:#96a499;margin-top:20px}.boost-note{display:block;text-align:center;color:#647368;font-size:8px;margin-top:9px}.virtual{color:#75877a;border-top:1px solid var(--line);margin-top:23px;padding-top:16px;font-size:9px;display:flex;align-items:center;justify-content:center;gap:8px}.virtual .dot{width:4px;height:4px}footer{position:fixed;bottom:26px;left:40px;right:40px;display:flex;justify-content:space-between;color:#59685e;font-size:8px;letter-spacing:1.5px}.match-info{position:fixed;top:90px;left:30px;padding:18px 22px;border-radius:12px}.match-info strong{display:block;font-size:20px;margin:8px 0}.match-info small{font-size:8px;color:#667a69;letter-spacing:1px}.timer{position:fixed;top:27px;left:50%;transform:translateX(-50%);padding:12px 35px;text-align:center;border-radius:12px}.timer span{display:block;font-size:30px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:1px}.timer small{font-size:7px;letter-spacing:1.5px;color:#809186}.timer.urgent{color:#ff9c82;border-color:#ff9c8250}.leaderboard{position:fixed;right:30px;top:90px;width:245px;padding:20px;border-radius:12px}.leaderboard .eyebrow{justify-content:space-between;font-size:9px}.rank{display:flex;align-items:center;gap:9px;padding:13px 8px;margin-top:5px;border-radius:7px;font-size:10px;transition:background .3s}.rank.own{background:#bcf56810}.rank.eliminated{opacity:.5}.rank .position{color:#647668;width:10px}.rank .swatch{width:6px;height:6px;border-radius:50%}.rank .name{font-weight:650;flex:1}.rank .amount{font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.pool{border-top:1px solid var(--line);margin-top:10px;padding-top:15px;display:flex;justify-content:space-between;font-size:8px;color:#84958b}.pool strong{color:#dce6dc}.wallet{position:fixed;bottom:55px;left:30px;display:flex;gap:35px;align-items:center;padding:20px 25px;border-radius:12px}.wallet small{display:block;font-size:8px;letter-spacing:1.6px;color:#819886}.wallet strong{display:block;color:var(--lime);font-size:37px;letter-spacing:-1.5px;margin-top:5px;font-variant-numeric:tabular-nums}.wallet-detail span{display:block;color:var(--lime);font-size:12px;text-align:right;margin-bottom:12px}.wallet.flash{animation:flash .45s ease}.hint{position:fixed;bottom:22px;left:30px;font-size:8px;letter-spacing:1px;color:#6c7f73}.hint span{margin:0 12px;color:#a6b49e}#minimap{position:fixed;right:30px;bottom:55px;border:1px solid #ffffff16;border-radius:10px;background:#0d1712c9;width:130px;height:130px}.leave{position:fixed;right:30px;bottom:20px;border:0;background:none;font-size:8px;letter-spacing:1px;color:#7d9083}.overlay{position:fixed;inset:0;z-index:6;background:#070d099c;backdrop-filter:blur(7px);display:grid;place-items:center}.countdown-content{text-align:center}.countdown-content .eyebrow{justify-content:center;color:var(--lime)}.countdown-content p{font-size:9px;letter-spacing:2px;color:#8e9e92;margin-top:27px}.countdown-content strong{font-size:40px;letter-spacing:-1px}.countdown-content #count-number{font-size:105px;color:var(--lime);font-weight:850;height:150px;line-height:150px}.countdown-content small{font-size:11px;color:#97a99d}.spectate{position:fixed;left:50%;bottom:85px;transform:translateX(-50%);padding:16px 24px;display:flex;flex-direction:column;gap:8px;text-align:center}.spectate strong{font-size:13px;letter-spacing:2px;color:#ffb299}.spectate span{font-size:10px;color:#99aba0}.spectate button{background:none;border:0;color:var(--lime);font-size:9px;letter-spacing:1px}.result-card{padding:30px;width:min(460px,94vw);max-height:94dvh;overflow:auto}.result-card .eyebrow{color:var(--lime);font-size:9px}.result-card h2{font-size:39px;font-weight:850;margin-bottom:8px}.result-card h2 span{color:var(--lime)}.result-header{display:flex;justify-content:space-between;color:#617969;letter-spacing:1px;font-size:8px;margin:22px 0 8px}.result-row{display:flex;align-items:center;gap:14px;padding:14px 10px;border-bottom:1px solid var(--line)}.result-row.own{background:#bcf5680d;border-radius:8px}.result-row .place{font-size:18px;color:#708776;width:20px}.result-row .identity{flex:1;font-size:12px;font-weight:700}.result-row .identity small{display:block;color:#688471;font-weight:400;font-size:8px;margin-top:5px}.result-row .value{text-align:right;font-size:17px;font-weight:750}.result-row .value small{display:block;font-size:10px;font-weight:500;margin-top:5px}.positive{color:var(--lime)}.negative{color:#ff9c82}.settlement{font-size:9px;line-height:1.6;color:#819789;margin:17px 0}.result-total{display:flex;justify-content:space-between;font-size:8px;color:#a4b5a9;margin:20px 0}.result-total strong{color:var(--lime)}.secondary{width:100%;border:1px solid #ffffff14;background:none;color:#a4b3a8;padding:13px;border-radius:8px;font-size:9px;font-weight:600;letter-spacing:1px;margin-top:10px}#debug{position:fixed;left:30px;top:210px;z-index:9;background:#07110dee;border:1px solid #bcf56840;border-radius:8px;padding:15px;color:var(--lime);font-size:11px;line-height:1.7;pointer-events:none}@keyframes flash{50%{border-color:#bcf568a0;box-shadow:0 0 35px #bcf56825}}
@media(max-height:780px) and (min-width:701px){.setup{padding:24px}.menu{padding-top:90px;padding-bottom:40px}footer{bottom:13px;font-size:7px}.setup label{margin-top:17px}.setup .virtual{margin-top:16px;padding-top:12px}.setup .unit-info{margin-bottom:20px}}
@media(max-width:1000px){.menu{gap:30px;padding-left:30px;padding-right:30px;grid-template-columns:1fr 1fr}h1{font-size:50px}.setup{padding:24px}.stats{gap:30px}.tagline{font-size:12px}.brand{left:30px}.leaderboard{width:205px}.rank{padding:10px 2px}.hint{font-size:7px}}
@media(max-width:700px){body:has(.menu:not([hidden])){overflow:auto}.menu{display:block;height:auto;min-height:100dvh;padding:105px 24px 70px}.intro h1{font-size:45px}.tagline{margin-bottom:0}.preview-label,.stats{display:none}.setup{margin-top:25px}.brand{left:24px;top:24px;font-size:11px}.build{display:none}.sound{right:24px;top:23px;font-size:8px}.intro .eyebrow{font-size:8px}footer{display:none}.leaderboard{width:165px;right:12px;top:85px;padding:12px}.rank .amount{font-size:11px}.match-info{left:12px;top:85px;padding:12px}.match-info strong{font-size:15px}.timer{top:20px;padding:8px 20px}.timer span{font-size:24px}.wallet{left:12px;bottom:48px;padding:12px;gap:15px}.wallet strong{font-size:27px}.hint{left:12px;width:230px;line-height:1.8;bottom:10px}.hint span{margin:0 3px}#minimap{right:12px;bottom:48px;width:90px;height:90px}.spectate{bottom:190px;width:85%}}

#debug{pointer-events:auto}#debug pre{margin:0}#simulate{margin-top:10px;padding:8px 0;width:100%;border:0;border-top:1px solid #bcf56830;background:none;color:#bcf568;font-size:8px;letter-spacing:.7px}#simulate:disabled{opacity:.35;cursor:default}

:root{color-scheme:dark}.result-card{scrollbar-width:thin;scrollbar-color:#41543e transparent}@media(max-height:780px){.result-card{padding:24px}.result-card h2{margin-top:15px;font-size:34px}.result-card .muted{margin-bottom:14px}.result-header{margin-top:15px}.result-row{padding:11px 8px}.result-card .virtual{margin-top:13px;padding-top:12px}.result-total{margin:15px 0}}

.rules-note{font-size:9px;color:#bcf568;line-height:1.8;margin:-10px 0 17px;text-align:center;letter-spacing:.35px}.wallet.loss.flash{animation:loss-flash .45s ease}@keyframes loss-flash{50%{border-color:#ff9c82a0;box-shadow:0 0 35px #ff9c8225}}

@media(max-height:780px) and (min-width:701px){.setup h2{margin-top:16px}.setup .controls{margin-top:14px}}

.tier-title{font-size:8px;letter-spacing:1.2px;color:#91a18f;margin:0 0 7px}.advanced-title{display:flex;justify-content:space-between;margin-top:12px}.advanced-title span{color:#637361;letter-spacing:.6px}.advanced-title .unlocked{color:var(--lime)}.leagues button.locked{color:#64705f;background:#151d17;border-style:dashed;cursor:not-allowed}.leagues button.locked:after{content:'⌑';position:absolute;right:7px;top:4px;font-size:11px;color:#6f8069}.league-progress{margin-top:11px;color:#86987e;font-size:8px}.league-progress>div:first-child{display:flex;justify-content:space-between;gap:8px}.league-progress strong{color:#b2c2a9;white-space:nowrap;font-size:9px}#progress-track{height:3px;border-radius:4px;background:#ffffff0a;margin-top:8px;overflow:hidden}#progress-fill{display:block;height:100%;background:var(--lime);transition:width .4s}.setup .unit-info{margin-top:12px}@media(max-height:800px) and (min-width:701px){.setup{padding:20px 24px}.setup h2{margin-top:12px;font-size:25px}.setup .muted{margin-bottom:12px}.setup label{margin-top:12px;margin-bottom:8px}.setup .leagues button{padding:11px 2px}.setup .unit-info{margin-bottom:17px}.setup .controls{margin-top:12px}.setup .virtual{margin-top:12px;padding-top:10px}.setup .primary{padding:14px 18px}.menu{padding-top:75px;padding-bottom:32px}.intro .preview-label{margin-bottom:115px}}@media(min-width:701px) and (max-width:1000px){.intro .preview-label{transform:scale(.78);transform-origin:left center}}

.leagues button.locked:after{content:'';position:absolute;right:9px;top:12px;width:7px;height:6px;border:1px solid #6f8069;border-radius:1px}.leagues button.locked:before{content:'';position:absolute;right:11px;top:8px;width:3px;height:4px;border:1px solid #6f8069;border-bottom:0;border-radius:3px 3px 0 0}

.powerup-hud{position:fixed;bottom:185px;left:30px;pointer-events:none}#effects{display:flex;gap:7px;margin-bottom:10px}.effect-badge{background:#111b16ed;border:1px solid currentColor;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:650}.powerup-hud>small{font-size:8px;color:#8da092;letter-spacing:.8px}.bonus-legend{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);display:flex;gap:16px;padding:10px 15px;border-radius:8px;font-size:8px;letter-spacing:.4px;pointer-events:none}.legend-speed{color:#65e3ee}.legend-slow{color:#b69bff}.legend-armor{color:#ffcc74}@media(max-width:1000px){.bonus-legend{bottom:52px}}@media(max-width:700px){.powerup-hud{left:12px;bottom:142px}.bonus-legend{bottom:195px;gap:8px;font-size:7px;padding:8px;width:max-content}}

.bonus-legend{bottom:55px}

@media(max-width:700px){.bonus-legend{bottom:195px}}

.space-control{color:#bcf568;font-weight:750;display:flex;align-items:center;gap:7px} kbd{font:700 9px Segoe UI;padding:4px 7px;background:#bcf56815;border:1px solid #bcf56855;border-bottom-width:3px;border-radius:5px} .controls{align-items:center;flex-wrap:wrap;gap:10px} .boost-note{line-height:1.7} .powerup-hud>small{color:#bcf568;font-weight:750;font-size:10px} .legend-slow{color:#ee879f}

.music-picker label{margin:15px 0 8px}.music-options{display:flex;gap:5px;flex-wrap:wrap}.music-options button{flex:1;font-size:8px;white-space:nowrap;border:1px solid #ffffff20;background:#152019;color:#9fb099;border-radius:6px;padding:8px 5px}.music-options button.selected{color:var(--lime);border-color:var(--lime)}.music-caption{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.music-caption small{font-size:8px;color:#8da092}.music-caption button{font-size:8px;color:#a2b397;border:0;background:none}.search-card{width:min(460px,92vw);padding:30px;max-height:90dvh;overflow:auto}.search-orbit{margin:24px auto;width:70px;height:70px;display:grid;place-items:center;color:var(--lime);font-size:34px;border:2px solid #bcf56830;border-top-color:var(--lime);border-radius:50%;animation:search-pulse 1.5s ease-in-out infinite}.search-card h2,.search-card .muted,#search-status{text-align:center}#search-status{color:var(--lime);font-size:10px;min-height:20px}.search-player{display:flex;align-items:center;justify-content:space-between;padding:17px 12px;border-bottom:1px solid #ffffff12;font-size:12px}.search-player small{color:#859781;font-size:8px}.search-card .primary{margin-top:22px}.primary:disabled{opacity:.5;cursor:wait}@keyframes search-pulse{50%{box-shadow:0 0 30px #bcf56820;border-color:#bcf56880}}@media(min-width:701px){body:has(.menu:not([hidden])){overflow:auto}.menu{height:auto;min-height:100dvh}.setup{margin:20px 0}footer{position:relative;bottom:auto;margin:0 40px 20px;left:auto;right:auto}}


#consent{z-index:10}.consent-card{width:min(480px,92vw);padding:30px;max-height:90dvh;overflow:auto}.consent-card .eyebrow{color:var(--lime)}#consent-description{font-size:12px;line-height:1.7;color:#a4b2a6}.consent-check{display:flex;gap:12px;align-items:flex-start;font-size:11px;line-height:1.6;letter-spacing:0;color:#d4e1cf;margin:22px 0}.consent-check input{width:18px;height:18px;padding:0;margin:2px 0;flex-shrink:0;accent-color:var(--lime)}.consent-card .primary:disabled{cursor:not-allowed;opacity:.35}


.music-credits{position:fixed;bottom:6px;right:30px;z-index:8;font-size:8px;color:#87958a;max-width:320px}.music-credits summary{cursor:pointer;text-align:right}.music-credits[open]{background:#142019;padding:15px;border:1px solid #ffffff20;border-radius:8px;line-height:1.7}.music-credits a{color:var(--lime)}body:has(#hud:not([hidden])) .music-credits{bottom:37px}


.mode-choice{margin:16px 0}.mode-choice label{display:flex;align-items:center;gap:9px;margin:0;font-size:11px;letter-spacing:0}.mode-choice input{width:18px;height:18px;padding:0;margin:0;accent-color:var(--lime)}.mode-choice small{display:block;font-size:9px;color:#8da18e;margin-top:7px}#connection-status{font-size:9px;color:var(--lime);margin:12px 0;line-height:1.6}#connection-status.error{color:#ff9c82}#touch-controls{display:none}#joystick{width:110px;height:110px;background:#15291b9c;border:1px solid #bcf56840;border-radius:50%;display:grid;place-items:center;touch-action:none}#stick{width:46px;height:46px;background:#bcf56870;border:1px solid #bcf568;border-radius:50%;pointer-events:none}#touch-sprint{border:1px solid #bcf56880;border-radius:50%;width:86px;height:86px;background:#192c1de0;color:var(--lime);font-weight:800;font-size:12px;touch-action:none}#touch-sprint small{font-size:8px;color:#a4b58e}#touch-sprint.held{background:#bcf568;color:#17210d}body:has(#hud:not([hidden])){overflow:hidden;overscroll-behavior:none}#touch-controls{user-select:none;-webkit-user-select:none}.search-card{scrollbar-width:thin}
@media(pointer:coarse),(max-width:700px){#hud:not([hidden]) #touch-controls{display:flex;position:fixed;bottom:max(30px,env(safe-area-inset-bottom));left:18px;right:18px;justify-content:space-between;align-items:center;z-index:5}.hint{display:none}.wallet{bottom:160px;padding:10px 14px;gap:15px}.wallet strong{font-size:25px}.powerup-hud{bottom:255px}.bonus-legend{bottom:315px;font-size:7px;gap:8px;padding:7px;max-width:95vw}.leaderboard{top:85px;width:155px;font-size:9px}.leaderboard .rank{gap:6px;padding:8px 0}.leaderboard .name{max-width:65px;overflow:hidden;text-overflow:ellipsis}.leaderboard .amount{font-size:10px}.match-info{top:85px;left:12px;padding:10px}.match-info strong{font-size:14px}#minimap{bottom:160px;width:80px;height:80px}.leave{right:18px;bottom:8px}.music-credits{right:18px;bottom:5px}body:has(#hud:not([hidden])) .music-credits{bottom:260px}.sound{right:12px}.consent-card{padding:22px}.setup{padding:20px}.primary{min-height:48px}.secondary{min-height:42px}input#name{font-size:16px}.intro h1{font-size:42px}}
@media(max-height:500px) and (pointer:coarse){#joystick{width:85px;height:85px}#touch-sprint{width:70px;height:70px}.wallet{left:120px;bottom:20px}.powerup-hud{left:120px;bottom:105px}.bonus-legend{bottom:20px}#minimap{bottom:110px}.leaderboard{top:75px}.match-info{top:75px}.music-credits{display:none}.brand{top:15px}.timer{top:10px}.sound{top:15px}}


@media(max-width:700px){body:has(#hud:not([hidden])) .brand{font-size:8px;gap:6px;left:12px;top:27px;letter-spacing:.8px}body:has(#hud:not([hidden])) .brand-icon{width:22px;height:22px;font-size:20px}.timer{padding:8px 12px}.timer span{font-size:22px}.sound{padding:9px 10px;font-size:7px}}


#network-warning{position:fixed;z-index:100;top:65px;left:50%;transform:translateX(-50%);padding:10px 15px;background:#482424;color:#fff;border:1px solid #fc7777;border-radius:8px;font-size:11px;text-align:center;pointer-events:none}

/* Compact mobile match HUD: keep the central arena unobstructed. */
#hud-details{display:none}
@media(pointer:coarse),(max-width:900px){
 body:has(#hud:not([hidden])) .brand,body:has(#hud:not([hidden])) .music-credits{display:none}
 #hud .match-info,#hud .leaderboard,#hud #minimap,#hud .bonus-legend,#hud .leave{display:none}
 #hud .hint{display:none}
 #hud-details{display:block;position:fixed;top:max(10px,env(safe-area-inset-top));right:12px;width:44px;height:44px;border:1px solid #ffffff20;border-radius:12px;background:#122017b0;color:#bcf568;font-size:20px;z-index:5}
 body:has(#hud:not([hidden])) .sound{top:max(10px,env(safe-area-inset-top));right:64px;height:44px;padding:8px;font-size:7px;letter-spacing:0;width:62px}
 #hud .timer{top:max(10px,env(safe-area-inset-top));left:44%;padding:6px 12px;border-radius:10px;background:#111b1680;box-shadow:none;backdrop-filter:none;pointer-events:none}
 #hud .timer span{font-size:20px}#hud .timer small{display:none}
 #hud .wallet{left:12px;top:max(10px,env(safe-area-inset-top));bottom:auto;padding:6px 10px;gap:0;border-radius:10px;background:#111b1680;box-shadow:none;backdrop-filter:none;pointer-events:none}
 #hud .wallet small{font-size:6px;letter-spacing:.6px}#hud .wallet strong{font-size:21px;margin:1px 0;letter-spacing:-.5px}#hud .wallet-detail{display:none}
 #hud:not([hidden]) #touch-controls{display:flex;position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:18px;right:18px;justify-content:space-between;align-items:center;z-index:5;pointer-events:none}
 #joystick{width:96px;height:96px;background:#15291b40;border-color:#bcf56830;pointer-events:auto}#stick{width:40px;height:40px;background:#bcf56840}
 #touch-sprint{width:78px;height:78px;background:#192c1d80;pointer-events:auto;font-size:11px}
 #hud .powerup-hud{left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100vw - 240px);text-align:center}
 #effects{flex-direction:column;gap:3px;margin:0}.effect-badge{font-size:8px;padding:4px 6px;white-space:nowrap;background:#111b1680}
 #hud #sprint-status{display:none}
 #hud.details-open .leaderboard{display:block;top:70px;right:12px;width:180px;padding:12px;background:#111b16f2;z-index:5}
 #hud.details-open #minimap{display:block;top:70px;bottom:auto;left:12px;right:auto;width:80px;height:80px;z-index:5}
 #hud.details-open .leave{display:block;top:160px;bottom:auto;left:12px;right:auto;min-height:44px;padding:10px;background:#111b16f2;border:1px solid #ffffff20;border-radius:8px;z-index:5}
 #network-warning{top:64px;max-width:80vw;font-size:10px}
}
@media(max-height:500px) and (max-width:900px){
 #joystick{width:80px;height:80px}#touch-sprint{width:68px;height:68px}
 #hud.details-open .leaderboard{top:64px}#hud.details-open #minimap{top:64px}
}

/* Always-visible mobile overview, with translucent backgrounds and no input interception. */
@media(pointer:coarse),(max-width:900px){
 #hud .leaderboard{display:block;top:calc(max(10px,env(safe-area-inset-top)) + 54px);right:12px;width:136px;padding:5px 7px;border:0;background:#0d17122b;box-shadow:none;backdrop-filter:none;pointer-events:none;text-shadow:0 1px 3px #000}
 #hud .leaderboard>.eyebrow,#hud .leaderboard .pool{display:none}
 #hud .leaderboard .rank{margin:0;padding:3px 0;gap:4px;min-height:21px;font-size:9px;border-radius:4px}
 #hud .leaderboard .rank.own{background:#bcf56812}
 #hud .leaderboard .position{width:8px;font-size:8px}#hud .leaderboard .swatch{width:4px;height:4px;flex-shrink:0}
 #hud .leaderboard .name{min-width:0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #hud .leaderboard .amount{font-size:10px;white-space:nowrap}
 #hud #minimap{display:block;top:calc(max(10px,env(safe-area-inset-top)) + 54px);bottom:auto;left:12px;right:auto;width:68px;height:68px;opacity:.68;border-color:#ffffff20;background:#0d17122b;pointer-events:none}
 #hud .bonus-legend{display:flex;flex-direction:column;align-items:flex-start;gap:5px;top:calc(max(10px,env(safe-area-inset-top)) + 128px);bottom:auto;left:12px;transform:none;padding:4px 0;border:0;background:none;box-shadow:none;backdrop-filter:none;font-size:8px;letter-spacing:0;width:auto;max-width:120px;text-shadow:0 1px 3px #000;opacity:.85;pointer-events:none}
 #hud.details-open .leaderboard{pointer-events:none;width:180px;padding:12px;background:#111b16d9}
 #hud.details-open .leaderboard>.eyebrow{display:flex}#hud.details-open .leaderboard .pool{display:flex}
 #hud.details-open .leave{top:calc(max(10px,env(safe-area-inset-top)) + 195px)}
}
@media(max-height:500px) and (max-width:900px){
 #hud #minimap{width:56px;height:56px}
 #hud .leaderboard{width:130px}#hud .leaderboard .rank{min-height:18px;padding:2px 0}
 #hud .bonus-legend{top:auto;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);flex-direction:row;gap:12px;max-width:none;white-space:nowrap}
 #hud .powerup-hud{bottom:48px}
}

@media(pointer:coarse),(max-width:900px){
 body:has(#hud:not([hidden])) #arena{touch-action:none}
 #hud #joystick{position:fixed;left:18px;top:auto;bottom:18px;opacity:0;transition:opacity .12s;pointer-events:none}
 #hud #joystick.active{transform:translate(-50%,-50%);bottom:auto;opacity:1;pointer-events:none}
 #hud:not([hidden]) #touch-controls{justify-content:flex-end}
}

#connection-quality{display:none}#hud.details-open #connection-quality{display:block;position:fixed;left:12px;top:calc(max(10px,env(safe-area-inset-top)) + 245px);font-size:9px;color:#a5b7a8;background:#111b16c0;padding:7px;border-radius:6px;pointer-events:none}

#hud.details-open #connection-quality{max-width:calc(100vw - 24px);line-height:1.6}

#account-bar{position:absolute;right:28px;top:82px;z-index:12;display:flex;gap:12px;align-items:center}#account-bar[hidden]{display:none}#account-open{border:1px solid #485744;background:#132019;border-radius:12px;padding:12px 18px;color:#bcf568;cursor:pointer}#demo-badge{font-size:9px;letter-spacing:1px;color:#91a18f}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.mode-cards button,.account-tabs button{background:#142019;border:1px solid #3c4939;color:#b4c0ae;border-radius:10px;padding:14px;cursor:pointer}.mode-cards small{display:block;margin-top:7px;font-size:10px}.mode-cards .selected,.account-tabs .selected{border-color:#bcf568;color:#bcf568}.journey-card{width:min(560px,calc(100vw - 24px));max-height:88dvh;overflow:auto;position:relative;padding:32px}.journey-card h2{font-size:32px;margin:10px 0 20px}.journey-card p{color:#a8b5a4;line-height:1.6}.journey-card label{display:block;margin:14px 0 8px;font-size:11px;letter-spacing:1px}.journey-card input{width:100%;box-sizing:border-box;background:#0f1913;color:#e5ecdf;border:1px solid #43533e;border-radius:10px;padding:14px;font-size:16px}.journey-card .primary,.journey-card .secondary{margin-top:14px}.modal-close{position:absolute;right:14px;top:10px;background:none;border:0;color:#bed0b4;font-size:28px;cursor:pointer}.wallet-amount{font-size:38px;color:#bcf568;font-weight:800}.wallet-amount small{font-size:14px}.wallet-actions,.training-leagues{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-tabs{display:flex;gap:6px;overflow:auto;margin:20px 0}.account-tabs button{white-space:nowrap;padding:10px;font-size:11px}.history-row{border-bottom:1px solid #35432f;padding:15px 0;display:grid;gap:8px}.history-row small,.demo-tool{font-size:11px;color:#94a48c!important}.loading-tip{margin-top:20px;border-top:1px solid #35432f;padding-top:12px;color:#bdcbb5;font-size:12px;min-height:65px}.loading-tip small{letter-spacing:2px;color:#7e9376}#journey-error{color:#ff9b8c}#journey-modal{z-index:120}#match-pause{z-index:100}.consent-check a{color:#bcf568}.mode-choice[hidden]{display:none}
@media(max-width:700px){#account-bar{position:absolute;top:78px;right:16px;justify-content:flex-end;padding:0;margin:0}.menu{padding-top:150px}.journey-card{padding:26px 20px}.journey-card h2{font-size:26px}}
.provider-address{display:flex;gap:20px;align-items:center;border:1px solid #3b4b34;border-radius:12px;padding:16px}.qr-placeholder{width:90px;height:90px;display:grid;place-content:center;text-align:center;border:2px dashed #718967;color:#a6bf94;font-size:12px}
.setup:has(#mode-training.selected) #leagues,.setup:has(#mode-training.selected) #league-label,.setup:has(#mode-training.selected) .league-progress,.setup:has(#mode-training.selected) .unit-info{display:none}
#account-open{display:flex;align-items:center;gap:9px}#account-open::before{content:attr(data-initial);display:grid;place-content:center;flex-shrink:0;width:23px;height:23px;border-radius:50%;background:#bcf568;color:#142019;font-size:11px;font-weight:800}

/* One header row; main-menu controls stay anchored to the page top. */
#site-header{position:absolute;top:24px;left:40px;right:40px;display:flex;align-items:center;gap:12px;z-index:12;min-height:44px}
#site-header>.brand{position:static;margin-right:auto;white-space:nowrap}
#site-header #account-bar{position:static;padding:0;margin:0}
body:has(#menu:not([hidden])) #site-header>.sound{position:static;height:44px;white-space:nowrap}
#account-open{height:44px;padding:8px 12px;font-size:12px;white-space:nowrap}
.back-button{display:block;background:none;border:0;color:#bcf568;padding:0 0 18px;font-size:11px;cursor:pointer}
.account-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 20px}.account-heading h2{margin:0;overflow-wrap:anywhere}.sign-out-button{flex-shrink:0;min-height:38px;border:1px solid #ae77775c;border-radius:8px;background:#a9515112;color:#e8b2a7;padding:8px 12px;font-size:10px;letter-spacing:.6px;cursor:pointer}.sign-out-button:hover{background:#a951512b}
.search-card .search-orbit{width:44px;height:44px;margin:12px auto;font-size:24px}.search-card h2{margin-top:12px}.search-card .search-player{padding:10px 12px}.search-card .virtual{margin-top:14px;padding-top:12px}.loading-tip{min-height:0;margin-top:14px}.loading-tip ul{margin:12px 0 0;padding-left:18px;display:grid;gap:8px;line-height:1.5;overflow-wrap:anywhere}.loading-tip li::marker{color:#bcf568}.search-card{overscroll-behavior:contain;scrollbar-gutter:stable}
.setup:has(#mode-training.selected) #leagues{display:block}
.setup:has(#mode-training.selected) #league-label{display:block}
.setup:has(#mode-training.selected) .unit-info{display:flex}
.setup:has(#mode-training.selected) .advanced-title{display:none}
.setup:has(#mode-training.selected) #advanced-leagues{margin-top:9px}
@media(max-width:700px){#site-header{top:18px;left:16px;right:16px;gap:8px}#site-header>.brand{font-size:10px;gap:7px;letter-spacing:.8px}#site-header>.brand .brand-icon{width:23px;height:23px;font-size:21px}body:has(#menu:not([hidden])) #site-header>.sound{padding:7px;font-size:7px;width:60px}#account-open{padding:7px;gap:6px;font-size:10px}#account-open::before{width:20px;height:20px}.menu{padding-top:105px}}
/* Screen layouts fit the viewport; long collections use explicit pages. */
html,body,body:has(.menu:not([hidden])){height:100%;overflow:hidden;overscroll-behavior:none}
.menu{height:100dvh;min-height:0;padding:84px 40px 32px;gap:4vw}.setup{margin:0}.menu-footer{display:none}
.search-card,.journey-card,.consent-card,.result-card{overflow:visible;max-height:none;margin:0}.account-tabs{overflow:visible;display:grid;grid-template-columns:repeat(4,1fr)}.account-tabs button{padding:9px 5px;white-space:normal}
.search-card{width:min(860px,94vw);padding:24px;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-items:start}.search-card>.eyebrow,.search-card>.search-orbit,.search-card>h2,.search-card>#search-league,.search-card>#search-status,.search-card>#search-roster,.search-card>button,.search-card>#search-note{grid-column:1}.search-card>.loading-tip{grid-column:2;grid-row:1 / span 10;margin-top:0;border-top:0;padding:12px 0}.search-card .search-orbit{display:none}.search-card .search-player{padding:9px 8px}.search-card h2{font-size:26px}.search-card .muted{margin-bottom:12px}.search-card .primary{margin-top:12px}.page-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;font-size:11px;color:#a5b699}.page-controls button{min-height:40px;padding:8px 14px;border:1px solid #607253;border-radius:8px;background:#152019;color:#bcf568}.page-controls button:disabled{opacity:.3;cursor:default}.history-row{padding:10px 0;gap:5px;font-size:12px}.history-row small{overflow-wrap:anywhere}.history-row .secondary{margin-top:4px;padding:8px;min-height:34px}
@media(max-width:700px){.menu{padding:80px 16px 14px;display:block}.intro h1{font-size:30px;margin:10px 0;letter-spacing:-1px}.intro .tagline{font-size:11px;line-height:1.5}.intro .eyebrow{font-size:7px}.setup{padding:16px;margin-top:14px}.setup h2{font-size:22px;margin:10px 0 4px}.setup .muted{margin-bottom:12px}.mode-cards{margin:12px 0;gap:8px}.mode-cards button{padding:10px}.mode-cards small{font-size:9px;margin-top:4px}.setup label{margin:12px 0 8px}.setup .leagues button{padding:10px 2px;font-size:14px}.setup .unit-info{margin:10px 0}.setup .primary{padding:12px;min-height:44px}#connection-status{margin:8px 0}.search-card{display:block;width:calc(100vw - 24px);padding:18px}.search-card h2{font-size:24px;margin:10px 0 6px}.search-card .search-player{padding:7px 8px}.search-card .virtual{margin-top:10px;padding-top:8px;font-size:9px}.loading-tip{margin-top:12px!important;border-top:1px solid #35432f!important;padding-top:12px!important}.loading-tip ul{min-height:74px;font-size:12px;gap:7px;margin-top:10px}.journey-card,.consent-card,.result-card{padding:24px 18px}.journey-card h2{font-size:24px}.journey-card p{font-size:12px;line-height:1.5}.journey-card input{padding:11px}.journey-card label{margin:10px 0 6px}.journey-card .account-tabs{margin:14px 0}.journey-card .wallet-amount{font-size:32px}.consent-card p{font-size:12px;line-height:1.5}.result-row{padding:9px 6px}}
@media(max-height:650px){.menu{display:grid;grid-template-columns:1fr 1fr;padding:74px 16px 12px;gap:18px}.intro h1{font-size:28px}.intro .preview-label,.intro .stats{display:none}.setup{margin:0;padding:12px}.setup h2{font-size:19px;margin:6px 0}.setup .muted,.intro .tagline{font-size:10px}.mode-cards{margin:8px 0}.mode-cards button{padding:8px}.setup .leagues button{padding:7px 2px}.setup label{margin:8px 0 6px}.setup .league-progress{margin-top:6px}.journey-card,.consent-card,.result-card{padding:18px;width:min(560px,94vw)}.journey-card h2{margin:6px 0 10px;font-size:22px}.journey-card p{margin:8px 0;font-size:11px}.journey-card label{margin:7px 0 5px}.journey-card input{padding:8px}.journey-card .primary,.journey-card .secondary{padding:10px;margin-top:8px;min-height:36px}.account-heading{margin:5px 0 10px}.account-tabs{margin:10px 0}.search-card{display:grid;width:94vw;padding:16px;column-gap:20px}.search-card .search-orbit{display:none}.search-card h2{font-size:21px}.search-card>.loading-tip{margin:0!important;border:0!important;padding:8px 0!important}.result-card h2{font-size:26px}.result-row{padding:6px}.result-header,.result-total{margin:8px 0}.settlement{margin:8px 0}.consent-card h2{margin:8px 0}.consent-card label{margin:8px 0}.consent-card p{margin:7px 0;font-size:11px;line-height:1.4}}
@media(max-width:700px) and (max-height:650px){.menu{display:block;padding-top:74px}.menu .intro{display:none}.setup{max-width:460px;margin:auto}.search-card{display:block;padding:14px}.search-card>.loading-tip{border-top:1px solid #35432f!important;padding-top:8px!important;margin-top:8px!important}.search-card .search-player{padding:5px 8px}.search-card .primary,.search-card .secondary{min-height:36px;padding:9px;margin-top:8px}.search-card h2{margin:5px 0}.search-card .muted{margin-bottom:6px}.search-card .virtual{margin-top:8px;padding-top:6px}.loading-tip ul{margin-top:8px;min-height:62px;gap:5px;line-height:1.4}.page-controls{margin-top:8px}.page-controls button{min-height:34px}}
@media(min-width:701px) and (max-height:450px){.setup>.eyebrow,.setup>h2,.setup>.muted,.mode-cards small{display:none}.mode-cards{margin:4px 0 8px}.mode-cards button{padding:7px}.setup label{margin:6px 0}.setup .leagues button{padding:6px 2px}.setup .advanced-title{margin-top:8px}.setup .unit-info{margin:7px 0}.setup .league-progress{margin-top:6px}#connection-status{margin:6px 0}.setup .primary{padding:10px;min-height:36px}.journey-card .account-heading h2{font-size:19px}.journey-card .account-tabs{margin:6px 0}.journey-card p{margin:5px 0}.journey-card label{margin:5px 0}.journey-card .demo-tool{font-size:9px}.consent-card .eyebrow{display:none}}
body:has(#matchmaking:not([hidden])) #site-header>.brand{visibility:hidden}
@media(max-height:650px){.search-card{padding:12px}.search-card h2{margin:4px 0;font-size:21px;line-height:1.2}.search-card .eyebrow{font-size:9px;line-height:12px}.search-card #search-league{margin:3px 0;font-size:10px;line-height:15px}.search-card #search-status{margin:4px 0;min-height:14px;font-size:10px}.search-card .search-player{padding:4px 6px;line-height:15px}.search-card .primary{min-height:36px;padding:8px;margin-top:8px}.search-card .secondary{min-height:34px;padding:7px;margin-top:6px}.search-card .virtual{margin-top:6px;padding-top:6px;line-height:13px;font-size:8px}.search-card .loading-tip small{font-size:9px}.search-card .loading-tip ul{font-size:11px;line-height:1.45}.setup .mode-cards button{padding:6px}.setup .leagues button{padding:5px 2px}}
#menu-footer{position:absolute;left:40px;right:40px;bottom:12px;margin:0}body:has(#consent:not([hidden])) #site-header{visibility:hidden}

/* Compact minimap; player markers retain full brightness on touch screens. */
#minimap{width:104px;height:104px}
@media(pointer:coarse),(max-width:900px){
 #hud #minimap{width:54.4px;height:54.4px;opacity:1}
 #hud.details-open #minimap{width:64px;height:64px}
}
@media(max-height:500px) and (max-width:900px){
 #hud #minimap,#hud.details-open #minimap{width:44.8px;height:44.8px}
}

/* Keep the music icon aligned and contained at every header size. */
#mute{display:inline-flex;align-items:center;justify-content:center;gap:3px;line-height:1;white-space:nowrap}
#mute .sound-icon{display:block;width:10px;height:10px;flex:0 0 10px}
#sound-label{letter-spacing:inherit}

/* Mobile navigation can scroll; arena gestures remain dedicated to steering. */
@media(pointer:coarse),(max-width:900px){
 html:has(#menu:not([hidden])),body:has(#menu:not([hidden])){height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}
 body:has(#menu:not([hidden])) .menu{height:auto;min-height:100dvh;padding-bottom:calc(32px + env(safe-area-inset-bottom));align-items:start}
 #journey-modal,#matchmaking,#consent,#results{overflow-y:auto;overscroll-behavior:contain;align-items:start;padding:16px 0;touch-action:pan-y}
 .journey-card,.search-card,.consent-card,.result-card{margin:auto;max-height:none;overflow:visible;flex-shrink:0}
}

.policy-link:disabled{display:inline;margin:0;padding:0;border:0;background:none;color:#94a48d;font:inherit;letter-spacing:inherit;cursor:default}

/* Mobile matchmaking instructions form one vertically scrollable list. */
@media(pointer:coarse),(max-width:900px){
 #matchmaking .search-card{display:block}
 #matchmaking .search-card>.loading-tip{grid-column:auto;grid-row:auto;margin-top:18px!important;padding-top:16px!important;border-top:1px solid #35432f!important}
 #matchmaking .loading-tip ul{min-height:0;margin-top:12px;font-size:12px;line-height:1.6;gap:10px}
 #matchmaking #tip-pages{display:none}
}

/* Training exit replaces the mobile details toggle. */
@media(pointer:coarse),(max-width:900px){
 #hud #hud-details{display:none}
 #hud #leave{display:flex;align-items:center;justify-content:center;position:fixed;top:max(10px,env(safe-area-inset-top));right:12px;left:auto;bottom:auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #ffffff20;border-radius:12px;background:#122017b0;color:#bcf568;font-size:0;letter-spacing:0;z-index:5}
 #hud #leave::after{content:'EXIT';font-size:9px;font-weight:700}
}
.analytics-choice { position:fixed; bottom:12px; left:12px; right:12px; z-index:100; display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid #4a583f; border-radius:12px; background:#152019; color:#b9c8b1; font:12px/1.4 sans-serif; max-width:800px; margin:auto; }
.analytics-choice span { flex:1; }
.analytics-choice button { flex-shrink:0; padding:10px; background:#202d20; color:#c0f763; border:1px solid #52623c; border-radius:8px; }
@media(max-width:500px) { .analytics-choice { flex-wrap:wrap; } .analytics-choice span { flex-basis:100%; } }
