body:has(#menu:not([hidden])){overflow-y:auto;background:#0d1b17;}body:has(#menu:not([hidden]))>header{position:absolute;}body:has(#menu:not([hidden])) #arena{visibility:hidden;}
#menu.constellation-menu{display:grid;grid-template-columns:340px minmax(0,1fr);gap:40px;width:min(1220px,90vw);max-width:none;max-height:none;overflow:visible;margin:115px auto 35px;padding:0;}
#menu.constellation-menu h1{font-size:64px;letter-spacing:-3px;line-height:1.02;margin:20px 0 16px;}
#menu.constellation-menu .intro{margin:0 0 24px;font-size:13px;color:#a0b6a5;}
.lobby-left{min-width:0;}.lobby-account{background:#172920;border:1px solid #3c5541;border-radius:13px;padding:16px;margin-bottom:22px;}.lobby-account-name{font-size:14px;color:#e0ecd9;}.lobby-save{font-size:12px;color:#b0c3ae;line-height:1.7;margin:9px 0 12px;}.lobby-account-actions{display:flex;flex-wrap:wrap;gap:8px;}.lobby-account-actions button{background:#233a29;border:1px solid #4a6545;border-radius:7px;padding:9px 12px;font-size:11px;color:#d6e7c7;}.lobby-account-actions .lobby-register{background:#c6ef91;color:#21321a;border-color:#c6ef91;font-weight:700;}.lobby-balances{font-size:11px;color:#dcca91;margin:13px 0 0;line-height:1.6;}.constellation-menu .mode-selector{gap:9px;margin:0 0 20px;}.constellation-menu .mode-selector button{padding:13px 11px;}.constellation-menu .mode-selector small{line-height:1.5;}.constellation-menu .card{padding:0;border:0;background:none;box-shadow:none;}.constellation-menu .card input{margin:9px 0 16px;}.constellation-menu #play{font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:17px;}.lobby-controls{font-size:10px;color:#95aa93;text-align:center;margin:13px 0;}
.lobby-sky{position:relative;min-height:660px;align-self:center;background:radial-gradient(ellipse at 50% 48%,#20362a 0%,#11241c 38%,#0d1b17 74%);}.lobby-sky-heading{position:absolute;left:5%;top:10px;font-size:10px;letter-spacing:2px;color:#abc5a6;}.lobby-sky-heading small{display:block;margin-top:8px;color:#88a18b;letter-spacing:0;font-size:12px;}.lobby-lines{position:absolute;width:100%;height:100%;inset:0;pointer-events:none;}.lobby-lines path{fill:none;stroke:#4a6650;stroke-width:1;opacity:.6;transition:stroke .15s,opacity .15s;}.lobby-lines path.lit{stroke:#c6ef91;opacity:1;}
.lobby-hero{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:240px;text-align:center;}.lobby-hero canvas{width:240px;height:190px;display:block;touch-action:pan-y;}.lobby-hero strong{display:block;font-size:17px;color:#e4eedb;margin:9px 0;}.lobby-hero small{font-size:12px;color:#a5b89d;}.lobby-loadout-label{font-size:9px;letter-spacing:2px;color:#e6c67e;}.lobby-sky .menu-nav{display:contents;}.lobby-node{position:absolute;transform:translate(-50%,-50%);width:145px;min-height:102px;background:#15281f;border:1px solid #47644c;border-radius:12px;padding:15px 10px;color:#e1eddb;transition:background .15s,border-color .15s;}.lobby-node:hover,.lobby-node:focus-visible{background:#293e2b;border-color:#c6ef91;}.lobby-node-icon{display:block;font-size:24px;color:#c6ef91;line-height:1;margin-bottom:12px;}.lobby-node strong{display:block;font-size:11px;letter-spacing:1px;}.lobby-node small{display:block;font-size:10px;color:#9cb395;margin-top:7px;}.lobby-node-armory{left:19%;top:28%;}.lobby-node-pass{left:70%;top:17%;}.lobby-node-rank{left:86%;top:54%;}.lobby-node-skills{left:21%;top:76%;}.lobby-node-crates{left:70%;top:81%;}.lobby-sky-footer{position:absolute;bottom:0;left:5%;font-size:10px;letter-spacing:1.5px;color:#b6cf9e;}
@media(max-width:1050px){#menu.constellation-menu{grid-template-columns:310px minmax(0,1fr);gap:15px;width:92vw;}.lobby-node{width:120px;}.lobby-node small{font-size:9px;}.lobby-hero{width:205px;}.lobby-hero canvas{width:205px;height:162px;}.lobby-node-rank{left:85%;}}
@media(max-width:800px){#menu.constellation-menu{grid-template-columns:1fr;max-width:560px;width:88vw;margin-top:105px;gap:20px;}.lobby-sky{min-height:570px;}.lobby-sky-heading{left:0;}.lobby-node-rank{left:85%;top:54%;}.lobby-node-armory{left:17%;}.lobby-node-skills{left:18%;}.lobby-node-crates{left:70%;}.lobby-hero{top:46%;}#menu.constellation-menu h1{font-size:54px;}.constellation-menu .eyebrow{font-size:9px;}}
@media(max-width:460px){.lobby-sky{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;padding-top:60px;padding-bottom:35px;}.lobby-hero{position:static;transform:none;grid-column:1/-1;justify-self:center;margin-bottom:18px;}.lobby-node{position:static;transform:none;width:auto;min-height:96px;}.lobby-node-rank{grid-column:1/-1;}.lobby-lines{display:none;}.lobby-sky-footer{bottom:0;left:0;font-size:9px;}header a{font-size:17px;letter-spacing:1px;}.header-actions{gap:5px;}#shopButton{padding:8px;font-size:10px;}}
#menu.constellation-menu{width:92vw;grid-template-columns:340px minmax(0,1fr);gap:clamp(35px,6vw,150px);}
.lobby-sky{min-height:max(660px,calc(100vh - 170px));}
.lobby-sky .lobby-node{width:78px;height:78px;min-height:0;padding:0;border:2px solid var(--node-color);border-radius:50%;display:grid;place-items:center;background:#11231d;color:var(--node-color);}
.lobby-sky .lobby-node:hover,.lobby-sky .lobby-node:focus-visible{background:#253b30;outline:2px solid var(--node-color);outline-offset:6px;}
.lobby-node .lobby-node-icon{margin:0;font-size:31px;color:inherit;}
.lobby-node-armory{--node-color:#bce797;left:12%;top:24%;}.lobby-node-pass{--node-color:#f4ca74;left:66%;top:12%;}.lobby-node-rank{--node-color:#bc9af3;left:92%;top:50%;}.lobby-node-skills{--node-color:#78c9f0;left:15%;top:83%;}.lobby-node-crates{--node-color:#e898c9;left:76%;top:87%;}
.lobby-lines path{opacity:.35;}.lobby-hero{left:52%;width:280px;}.lobby-hero canvas{width:280px;height:222px;}
@media(max-width:1050px){#menu.constellation-menu{grid-template-columns:310px minmax(0,1fr);gap:24px;}.lobby-sky .lobby-node{width:64px;height:64px;}.lobby-hero{width:205px;}.lobby-hero canvas{width:205px;height:162px;}.lobby-node-rank{left:90%;}}
@media(max-width:800px){#menu.constellation-menu{grid-template-columns:1fr;width:88vw;gap:20px;}.lobby-sky{min-height:570px;}}
@media(max-width:460px){.lobby-sky{min-height:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px 0;}.lobby-hero{grid-column:1/-1;}.lobby-sky .lobby-node{justify-self:center;grid-column:span 2;width:64px;height:64px;}.lobby-sky .lobby-node:nth-last-child(2){grid-column:2/span 2;}.lobby-sky .lobby-node:last-child{grid-column:4/span 2;}}
@media(prefers-reduced-motion:reduce){.lobby-node,.lobby-lines path{transition:none;}}

.lobby-sky .lobby-node{transition:background .18s,scale .18s;}
.chest-grid .crate-owned{color:var(--rarity);font-size:13px;font-weight:700;margin:8px 0;}.chest-grid .crate-open{background:#8251bf;color:white;margin-bottom:8px;}.chest-grid .crate-open:disabled{background:#28392d;color:#829780;}
.account-dialog{width:620px;max-height:88vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#638552 #0d1b17;}.profile-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0;}.profile-overview>div{background:#13251d;border:1px solid #344d3b;padding:13px 9px;border-radius:9px;}.profile-overview strong{display:block;font-size:20px;color:#d0edaa;}.profile-overview small{display:block;font-size:10px;color:#a9bda9;margin-top:5px;}.profile-settings{border-top:1px solid #344d3b;margin-top:24px;padding-top:12px;}.profile-settings h3{color:#d7e7cc;font-size:16px;}.profile-settings .setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #294031;font-size:13px;letter-spacing:0;color:#d9e7d3;}.setting-row small{display:block;color:#8fa990;font-size:11px;margin-top:5px;}.setting-row input[type=checkbox]{width:19px;height:19px;margin:0;accent-color:#bce797;}.setting-row input[type=range]{width:45%;padding:0;margin:0;accent-color:#bce797;}.setting-row output{color:#bce797;}.fps-counter{position:fixed;right:18px;bottom:12px;z-index:30;pointer-events:none;font:12px monospace;color:#d3edaf;background:#0b1913e8;border:1px solid #3b5541;padding:6px 9px;border-radius:6px;}
@media(max-width:460px){.profile-overview{grid-template-columns:repeat(2,minmax(0,1fr));}}
#leave{display:none!important;}.fps-counter{top:20px;right:35px;bottom:auto;}body:has(#hud:not([hidden])) .header-actions{margin-right:95px;}#hud .leaders{top:125px;max-height:none;overflow:visible;}#hud .alive-count{color:#d4e8bf;font-size:15px;font-weight:700;margin-bottom:12px;}#hud .leaders>small{font-size:9px;letter-spacing:1.4px;}#hud #leaderboard{margin-bottom:0;}#hud #leaderboard li{color:#dce8d6;min-height:27px;}
.red-gem-wallet{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #874750;border-radius:8px;color:#f18a97;background:#301e25;font-size:12px;}.ranked-ticket-wallet{color:#f18a97!important;}.premium-pass-buy{background:#f0c66f;color:#302316;padding:12px 16px;border-radius:8px;margin-top:14px;font-weight:700;}.premium-pass-buy:disabled{background:#374432;color:#a7bb9b;}.pass-grid small{display:block;color:#e1c68e;font-size:10px;min-height:30px;margin-top:12px;}
#shop.coin-store{width:1120px;max-width:94vw;max-height:90vh;overflow:auto;background:#101f19;border:1px solid #506348;padding:28px;border-radius:20px;scrollbar-width:thin;scrollbar-color:#65834b #101f19;}.coin-store .shop-top h2{margin:8px 0;font-size:32px;}.coin-store .shop-top>button{align-self:start;}.coin-store-wallet{display:flex;align-items:center;justify-content:space-between;background:#1e3021;border:1px solid #485e35;padding:14px 18px;border-radius:10px;margin:20px 0;font-size:10px;letter-spacing:2px;color:#a9bf9a;}.coin-store-wallet strong{font-size:23px;letter-spacing:0;color:#f2ce74;}.coin-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.coin-pack{--pack-color:#9caf87;background:#172820;border:1px solid #40563e;border-top:2px solid var(--pack-color);border-radius:14px;overflow:hidden;text-align:center;padding:0 15px 17px;}.coin-pack-sack{--pack-color:#75c8a3;}.coin-pack-chest{--pack-color:#c29aeb;}.coin-pack-wagon{--pack-color:#f0c36b;}.coin-pack-art{height:205px;margin:0 -15px;background:radial-gradient(ellipse at center,#31472c,transparent 70%);display:grid;place-items:center;}.coin-pack-art img{width:100%;height:100%;max-height:205px;object-fit:contain;padding:8px;}.coin-pack h3{font-size:18px;color:#eef3e8;margin:12px 0 10px;}.coin-pack>strong{display:block;font-size:28px;color:#f3cf75;font-family:'Space Grotesk',sans-serif;}.coin-pack>span{display:block;font-size:9px;letter-spacing:3px;color:#a4b89c;margin-top:4px;}.coin-pack>p{font-size:11px;color:#9db39e;min-height:32px;line-height:1.5;margin:14px 0;}.coin-pack>button{width:100%;border-radius:8px;padding:12px;background:#344433;color:#a5b599;cursor:default;font-size:12px;}.coin-store .shop-note{font-size:12px;color:#dbbd82;margin:20px 0 10px;}
#shopButton{color:#f2ce74;border-color:#766037;background:#2b2c20;}.coin-store::backdrop{backdrop-filter:none;}
@media(max-width:850px){.coin-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.coin-pack-art{height:180px;}.coin-pack-art img{max-height:180px;}}
@media(max-width:460px){#shop.coin-store{padding:18px;}.coin-pack-grid{gap:10px;}.coin-pack{padding:0 10px 12px;}.coin-pack-art{height:145px;margin:0 -10px;}.coin-pack-art img{max-height:145px;}.coin-pack h3{font-size:15px;}.coin-pack>strong{font-size:24px;}}
@media(max-width:650px){.fps-counter{right:15px;top:16px;}#hud .leaders{top:110px;max-height:none;}.leaders .alive-count{font-size:12px;}}
.lobby-sky .lobby-node:hover,.lobby-sky .lobby-node:focus-visible{background:color-mix(in srgb,var(--node-color) 18%,#11231d);scale:1.08;outline:none;}
.lobby-node::after{content:'';position:absolute;inset:-7px;border:1px solid var(--node-color);border-radius:50%;opacity:0;scale:.9;transition:opacity .18s,scale .25s;pointer-events:none;}
.lobby-node:hover::after,.lobby-node:focus-visible::after{opacity:.55;scale:1;}
.lobby-node-icon{transition:transform .18s;}.lobby-node:hover .lobby-node-icon{transform:translateY(-2px);}
.constellation-menu .mode-selector button{transition:background .15s,border-color .15s;}
.constellation-menu .mode-selector button:nth-child(1){--mode-color:#c6ef91;--mode-bg:#31442b;}
.constellation-menu .mode-selector button:nth-child(2){--mode-color:#c19bff;--mode-bg:#352947;}
.constellation-menu .mode-selector button:nth-child(3){--mode-color:#75cbf2;--mode-bg:#203d49;}
.constellation-menu .mode-selector button:nth-child(4){--mode-color:#f6bb67;--mode-bg:#493421;}
.constellation-menu .mode-selector button.selected{border-color:var(--mode-color);background:var(--mode-bg);color:var(--mode-color);}
.constellation-menu .mode-selector button.selected small{color:#d1dacf;}
.constellation-menu .mode-selector button:hover{border-color:var(--mode-color);}
@media(prefers-reduced-motion:reduce){.lobby-sky .lobby-node,.lobby-node::after,.lobby-node-icon{transition:none;}.lobby-sky .lobby-node:hover{scale:1;}.lobby-node:hover .lobby-node-icon{transform:none;}}

/* Six distinct destinations arranged around the equipped character. */
.lobby-hero{left:50%;top:50%;}
.lobby-node-armory{--node-color:#bce797;left:18%;top:28%;}
.lobby-node-pass{--node-color:#f4ca74;left:50%;top:8%;}
.lobby-node-skills{--node-color:#78c9f0;left:82%;top:28%;}
.lobby-node-tournament{--node-color:#c39af5;left:82%;top:72%;}
.lobby-node-crates{--node-color:#ed9cc9;left:50%;top:92%;}
.lobby-node-wheel{--node-color:#f0a56c;left:18%;top:72%;}
.lobby-sky .lobby-node:hover,.lobby-sky .lobby-node:focus-visible{border-color:var(--node-color);color:var(--node-color);}
.lobby-lines path.lit{stroke:var(--connection-color);opacity:1;}
.lobby-lines .lobby-hex-edge{stroke:#46624e;stroke-dasharray:3 9;opacity:.3;}
.lobby-node-wheel.wheel-ready::before{content:'';position:absolute;right:5px;top:3px;width:8px;height:8px;border:2px solid #11231d;border-radius:50%;background:var(--node-color);}
.wheel-dialog{width:540px;max-height:90vh;overflow:auto;scrollbar-width:thin;background:#11221b;border:1px solid #7f653d;}
.wheel-dialog h2{margin:8px 0;color:#f1dcaf;}
.wheel-stage{position:relative;width:min(340px,100%);aspect-ratio:1;margin:25px auto;}
.wheel-stage canvas{display:block;width:100%;height:100%;border-radius:50%;border:4px solid #d2ae66;background:#172c21;}
.wheel-pointer{position:absolute;left:50%;top:-9px;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:26px solid #ffe3a0;z-index:2;}
.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;display:grid;place-items:center;background:#182e24;border:3px solid #e2bd78;border-radius:50%;color:#ffe5a8;font-size:27px;}
.wheel-dialog .wheel-result{min-height:40px;text-align:center;font-size:15px;line-height:1.5;color:#e7cf96;}
.wheel-spin{width:100%;padding:14px;border-radius:9px;background:#e8b977;color:#302315;font-weight:700;}.wheel-spin:disabled{background:#344333;color:#a2b39a;cursor:default;}
.wheel-timer{text-align:center;}.wheel-dialog summary{cursor:pointer;color:#d9c399;font-size:12px;margin:15px 0;}.wheel-odds{display:grid;grid-template-columns:1fr 1fr;gap:7px;list-style:none;padding:0;color:#a9bda5;font-size:11px;}
@media(max-width:460px){.lobby-sky{display:block;height:590px;min-height:590px;padding:0;}.lobby-hero{position:absolute;transform:translate(-50%,-50%);width:180px;}.lobby-hero canvas{width:180px;height:143px;}.lobby-sky .lobby-node{position:absolute;width:56px;height:56px;transform:translate(-50%,-50%);}.lobby-node .lobby-node-icon{font-size:25px;}.lobby-node-armory,.lobby-node-wheel{left:14%;}.lobby-node-skills,.lobby-node-tournament{left:86%;}.lobby-node-pass{top:14%;}.lobby-node-crates{top:86%;}.lobby-lines{display:block;}.lobby-sky-heading{top:0;}.wheel-dialog{padding:20px;}}

/* Reusable transparent game logo. */
header .game-brand{display:block;line-height:0;flex-shrink:0;}
header .game-brand img{display:block;width:190px;height:auto;object-fit:contain;}
header .game-brand:focus-visible{outline:2px solid #f4ca74;outline-offset:5px;border-radius:4px;}
@media(max-width:650px){header .game-brand img{width:140px;}}
@media(max-width:380px){header .game-brand img{width:115px;}}

/* Cohesive vector destination icons, crisp at every screen size. */
.lobby-node .lobby-node-icon{display:grid;place-items:center;}
.lobby-node-icon svg{display:block;width:38px;height:38px;overflow:visible;}
@media(max-width:460px){.lobby-node-icon svg{width:30px;height:30px;}}

.chest-icon svg{width:120px;max-width:100%;height:100px;display:block;margin:auto;}
.crate-opening{margin-top:24px;padding:20px 0;border-top:1px solid #3a513f;}
.crate-opening .eyebrow{margin-bottom:14px;}
.crate-reel{position:relative;overflow:hidden;background:#0e1c17;border:1px solid #425846;border-radius:12px;height:185px;}
.crate-reel::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:#f4ce74;pointer-events:none;}
.crate-reel::before{content:'';position:absolute;left:calc(50% - 7px);top:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid #f4ce74;z-index:1;}
.crate-track{display:flex;gap:8px;padding:10px;position:relative;width:max-content;}
.crate-reward{flex:0 0 142px;width:142px;height:162px;text-align:center;background:#1b3025;border:1px solid #6b805d;border-bottom:4px solid #a5bb91;border-radius:7px;overflow:hidden;}
.crate-reward.rare{border-color:#65c4e8;background:#19323a;}.crate-reward.epic{border-color:#ba8be7;background:#30233e;}
.crate-reward canvas{width:140px;height:100px;display:block;object-fit:contain;}
.crate-reward strong{display:block;font-size:12px;padding:3px 4px;color:#e5eddf;}.crate-reward small{font-size:8px;letter-spacing:.8px;color:#b6c6b4;}.crate-reward.won{outline:2px solid #f4ce74;outline-offset:-3px;}
.crate-reveal-status{min-height:36px;color:#f4ce74;font-size:13px;line-height:1.5;}.crate-opening summary{cursor:pointer;color:#b6c9ac;font-size:12px;}.crate-opening ul{display:grid;grid-template-columns:1fr 1fr;padding-left:20px;gap:3px;font-size:11px;color:#c8d7c0;}.crate-opening .muted{font-size:10px;}

.chest-icon img{display:block;width:132px;max-width:100%;height:104px;object-fit:contain;margin:auto;}

.crate-reward.legendary{border-color:#f4ce74;background:#3c3420;}.crate-reward.champion{border-color:#f08c99;background:#3d222a;}
.chest-grid .crate-preview{background:transparent;color:var(--rarity);border:1px solid #435745;font-size:9px;padding:8px;margin-bottom:5px;}

.crate-reward img{display:block;width:140px;height:100px;object-fit:contain;padding:6px;}

/* Compact crate collection cards. */
.crate-vault .chest-grid{align-items:stretch;gap:12px;}
.crate-vault .chest-grid article{display:flex;flex-direction:column;align-items:stretch;padding:15px 10px 12px;background:linear-gradient(160deg,#22372a,#14241c);border-color:#405945;border-top:2px solid var(--rarity);border-radius:14px;}
.crate-vault .chest-icon{margin:6px 0 14px;height:110px;display:grid;place-items:center;}
.crate-vault .chest-grid strong{font-size:14px;min-height:38px;line-height:1.3;}
.crate-vault .chest-grid .crate-preview{border:0;background:transparent;padding:8px 0 14px;text-decoration:underline;text-underline-offset:3px;}
.crate-vault .crate-owned{margin:2px 0 10px;color:var(--rarity);font-weight:700;font-size:12px;}
.crate-vault .chest-grid button:not(.crate-preview){margin-top:auto;min-height:40px;background:#f4ad50;color:#241c0f;border:1px solid #f8c57d;}
.crate-vault .chest-grid button:not(.crate-preview):disabled{background:#513e29;color:#cfb18c;border-color:#685135;}
.crate-vault .chest-grid .crate-open{background:#8653c0!important;color:#fff!important;border-color:#ae82db!important;}
.crate-vault .chest-grid .crate-open:disabled{opacity:.55;}
.crate-vault .has-crates{border-color:var(--rarity)!important;}
.crate-vault .crate-opening{scroll-margin-top:20px;}.crate-vault>.shop-note{margin-bottom:0;}

.wheel-dialog{--wheel-accent:#bce797;border-color:var(--wheel-accent);width:600px;max-height:92vh;overflow:auto;}.wheel-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 12px;}.wheel-tabs button{padding:12px 6px;border:1px solid #435b47;border-radius:10px;background:#172a20;color:#bdd0b5;font-weight:700;}.wheel-tabs button.selected{border-color:var(--wheel-accent);color:var(--wheel-accent);background:#2b3a2b;}.wheel-tabs small{display:block;font-size:10px;margin-top:5px;font-weight:400;}.wheel-wallet{color:#e4c77c;font-size:13px;}.wheel-dialog .wheel-stage{border-color:var(--wheel-accent);}.wheel-dialog .wheel-hub{border-color:var(--wheel-accent);color:var(--wheel-accent);font-size:32px;}.wheel-dialog .wheel-spin{background:var(--wheel-accent);}.wheel-dialog .wheel-description{min-height:38px;}.wheel-dialog .wheel-cosmetic-odds{font-size:11px;}

/* Persistent account access while browsing the PC lobby. */
#menu.constellation-menu{padding-bottom:90px;}
.lobby-account-actions{display:flex;gap:10px;flex-wrap:wrap;}
.lobby-account-shortcut{position:fixed;left:30px;bottom:24px;z-index:12;display:flex;align-items:center;gap:10px;padding:12px 19px;background:#172b23;border:1px solid #536b50;border-radius:12px;color:#dfedd7;font:inherit;font-size:13px;box-shadow:0 6px 24px #0004;cursor:pointer;transition:border-color .18s,background .18s;}
.lobby-account-shortcut svg{width:23px;height:23px;color:#c6ef91;}
.lobby-account-shortcut:hover,.lobby-account-shortcut:focus-visible{background:#233b2d;border-color:#c6ef91;outline:2px solid #c6ef9160;outline-offset:3px;}
#menu[hidden] .lobby-account-shortcut{display:none;}

/* Tier-colored wheel actions: outlined while unavailable, luminous when ready. */
.wheel-dialog .wheel-spin{position:relative;border:1px solid var(--wheel-accent);transition:background .18s,box-shadow .18s,color .18s;}
.wheel-dialog .wheel-spin:disabled{background:transparent;color:var(--wheel-accent);opacity:1;box-shadow:none;cursor:not-allowed;}
.wheel-dialog .wheel-spin:not(:disabled){background:linear-gradient(115deg,color-mix(in srgb,var(--wheel-accent),white 24%),var(--wheel-accent) 48%,color-mix(in srgb,var(--wheel-accent),white 14%));color:#17221c;box-shadow:0 0 18px color-mix(in srgb,var(--wheel-accent),transparent 65%),inset 0 1px 0 #ffffff80;cursor:pointer;text-shadow:0 1px 0 #ffffff30;}
.wheel-dialog .wheel-spin:not(:disabled):hover{box-shadow:0 0 26px color-mix(in srgb,var(--wheel-accent),transparent 45%),inset 0 1px 0 #ffffffa0;}
.wheel-dialog .wheel-spin:focus-visible{outline:2px solid #fff4d0;outline-offset:4px;}
@media(prefers-reduced-motion:reduce){.wheel-dialog .wheel-spin{transition:none;}}

/* Keep the wheel rim, pointer and hub coordinated with its selected tier. */
.wheel-dialog .wheel-stage canvas{border-color:var(--wheel-accent);}
.wheel-dialog .wheel-pointer{border-top-color:var(--wheel-accent);}

/* A focused first visit; the full constellation remains the returning-player hub. */
.welcome-how,.welcome-scene-note{display:none;}
body.welcome-screen:has(#menu:not([hidden])){background:radial-gradient(ellipse at 77% 44%,#172e24 0%,#0d1b17 54%);}
body.welcome-screen:has(#menu:not([hidden])) .header-actions,body.welcome-screen:has(#menu:not([hidden])) .fps-counter{display:none;}
#menu.constellation-menu.guest-welcome{width:min(1180px,86vw);grid-template-columns:minmax(360px,1fr) minmax(400px,1fr);gap:80px;margin:clamp(130px,18vh,220px) auto 60px;align-items:center;}
.guest-welcome .lobby-left{display:flex;flex-direction:column;}
#menu.guest-welcome h1{font-size:clamp(54px,5.3vw,80px);line-height:1.04;letter-spacing:-3.5px;margin:22px 0;}
#menu.guest-welcome .intro{font-size:16px;line-height:1.8;max-width:380px;margin-bottom:30px;color:#afc1b5;}
.guest-welcome .lobby-left>.eyebrow{font-size:10px;letter-spacing:3px;color:#c6ef91;}
.guest-welcome .mode-selector,.guest-welcome .lobby-account-shortcut,.guest-welcome .lobby-balances,.guest-welcome .lobby-account-name,.guest-welcome .lobby-sky-heading,.guest-welcome .lobby-sky-footer,.guest-welcome .lobby-lines,.guest-welcome .lobby-node{display:none!important;}
.guest-welcome .card{max-width:400px;order:2;}
.guest-welcome .card>label{color:#b6c5bb;font-size:9px;letter-spacing:2px;}
.guest-welcome .card input{height:50px;background:#11231b;border:1px solid #3e5849;border-radius:10px;padding:14px;font-size:14px;}
#menu.guest-welcome #play{height:54px;border-radius:10px;text-transform:none;letter-spacing:0;font-size:15px;padding:17px 20px;box-shadow:0 6px 28px #b5eb6514;}
.guest-welcome #play:hover:not(:disabled){background:#d7ffa9;box-shadow:0 6px 32px #b5eb6524;}
.guest-welcome #status{margin:12px 0 0;color:#8fa99a;}
.guest-welcome .lobby-controls{order:3;text-align:left;font-size:11px;margin:22px 0;color:#a1b7a8;}
.guest-welcome .lobby-account{order:4;max-width:400px;border:0;border-top:1px solid #304b3b;border-radius:0;background:none;padding:22px 0 0;margin:0;display:flex;flex-direction:column;}
.guest-welcome .lobby-account-actions{order:0;gap:12px;align-items:center;}
.guest-welcome .lobby-account-actions button{min-height:42px;padding:11px 18px;font-size:12px;border-radius:8px;}
.guest-welcome .lobby-account-actions .lobby-register{background:transparent;color:#d1e8ba;border-color:#607950;}
.guest-welcome .lobby-account-actions button:not(.lobby-register){background:transparent;border-color:transparent;color:#c0cfc4;}
.guest-welcome .lobby-save{order:1;font-size:11px;line-height:1.6;color:#829c8c;margin:13px 0 0;}
.guest-welcome .welcome-how{order:5;display:flex;gap:22px;margin-top:28px;font-size:10px;color:#abc0b2;}
.welcome-how span{display:flex;align-items:center;gap:8px;}.welcome-how b{font-size:9px;color:#6c917b;}
.guest-welcome .lobby-sky{min-height:520px;align-self:center;background:radial-gradient(ellipse,#28433355,transparent 69%);}
.guest-welcome .lobby-sky:before,.guest-welcome .lobby-sky:after{content:'';position:absolute;width:390px;height:390px;left:50%;top:43%;transform:translate(-50%,-50%) rotate(-25deg);border:1px solid #43634c66;border-radius:50%;pointer-events:none;}
.guest-welcome .lobby-sky:after{width:470px;height:250px;border-color:#59754d55;transform:translate(-50%,-50%) rotate(-35deg);}
.guest-welcome .lobby-hero{width:440px;top:42%;z-index:1;}
.guest-welcome .lobby-hero canvas{width:440px;height:348px;}
.guest-welcome .lobby-loadout-label{font-size:9px;letter-spacing:2px;color:#9db98b;}
.guest-welcome .lobby-hero strong{font-size:18px;margin:10px 0 6px;}.guest-welcome .lobby-hero small{font-size:11px;}
.guest-welcome .welcome-scene-note{display:flex;flex-direction:column;align-items:center;gap:12px;position:absolute;bottom:0;width:100%;}
.welcome-scene-note span{color:#789584;font-size:9px;letter-spacing:3px;}.welcome-scene-note strong{font-size:16px;font-weight:400;color:#a9c2af;}
@media(max-width:1100px){#menu.constellation-menu.guest-welcome{width:90vw;gap:30px;grid-template-columns:minmax(340px,1fr) minmax(340px,1fr);}.guest-welcome .lobby-hero{width:360px;}.guest-welcome .lobby-hero canvas{width:360px;height:285px;}.guest-welcome .lobby-sky:before{width:320px;height:320px;}.guest-welcome .lobby-sky:after{width:370px;height:210px;}}
@media(max-height:800px) and (min-width:900px){#menu.constellation-menu.guest-welcome{margin-top:115px;}#menu.guest-welcome h1{font-size:58px;margin:15px 0;}#menu.guest-welcome .intro{margin-bottom:18px;}.guest-welcome .welcome-how{margin-top:20px;}.guest-welcome .lobby-sky{min-height:470px;}}
@media(max-width:800px){#menu.constellation-menu.guest-welcome{grid-template-columns:1fr;max-width:540px;margin-top:120px;}.guest-welcome .lobby-sky{display:none;}#menu.guest-welcome h1{font-size:58px;}}

/* Battle pass: one level card, two clearly separated tracks. */
.season-dialog.battle-pass{width:1180px;max-width:94vw;max-height:92vh;padding:30px;border:1px solid #5b6844;border-radius:22px;background:#102019;scrollbar-width:thin;scrollbar-color:#7b9063 #102019;}
.battle-pass .shop-top{align-items:flex-start;}.battle-pass .shop-top h2{font-size:34px;letter-spacing:-1px;margin:8px 0 0;}.battle-pass .eyebrow{font-size:9px;letter-spacing:2px;color:#a9be96;}
.battle-pass .season-summary{font-size:13px;color:#a8bfaf;margin:14px 0 22px;}.battle-pass .pass-overview{padding:16px 20px;background:#1a2e22;border-color:#40563e;}.pass-progress-text{display:flex;justify-content:space-between;align-items:center;gap:15px;}.battle-pass .pass-progress-text strong{font-size:14px;color:#d7edc8;}.pass-progress-text span{font-size:12px;color:#b3c5b4;}.battle-pass progress{height:8px;}
.pass-premium-banner{margin-top:20px;border:1px solid #8b7139;border-radius:14px;padding:24px;display:flex;justify-content:space-between;gap:22px;align-items:center;background:radial-gradient(ellipse at right,#6a54263b,transparent 65%),linear-gradient(120deg,#2b3020,#1c2b20);}.pass-gold-label{font-size:10px;letter-spacing:2px;color:#f4cf77;font-weight:700;}.battle-pass .pass-premium-banner h3{font-size:25px;color:#f5e6bb;margin:9px 0;letter-spacing:-.6px;}.pass-premium-banner p{font-size:13px;color:#c1c6ad;margin:0;}.pass-premium-action{min-width:240px;text-align:center;}.battle-pass .premium-pass-buy{margin:0;width:100%;padding:14px 18px;font-size:13px;background:linear-gradient(110deg,#eabb59,#ffe3a0);color:#302710;box-shadow:0 5px 24px #daa53e18;}.battle-pass .premium-pass-buy:disabled{background:#343a2b;color:#cebb86;box-shadow:none;border:1px solid #6c603c;}.pass-premium-action small{display:block;font-size:11px;color:#bfb792;margin-top:10px;}
.pass-featured{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;}.pass-featured-item{background:linear-gradient(#252e21,#19281f);border:1px solid #5f5633;border-radius:11px;padding:7px 10px 13px;color:#eee2bf;text-align:center;}.pass-featured-item:hover{border-color:#e0bb63;background:#2e3827;}.pass-featured-item canvas{display:block;width:100%;height:70px;object-fit:contain;}.pass-featured-item strong{font-size:12px;display:block;margin:2px 0 7px;}.pass-featured-item small{font-size:8px;letter-spacing:1px;color:#ccad65;}
.battle-pass .season-status{font-size:12px;margin:12px 0;min-height:16px;color:#f0ce80;}.pass-navigation{display:flex;align-items:center;gap:9px;margin:16px 0;}.pass-navigation button{width:34px;height:34px;border-radius:7px;border:1px solid #4a6048;background:#203526;color:#e0ecd6;font-size:17px;}.pass-navigation button:disabled{opacity:.4;}.pass-navigation select{height:34px;min-width:165px;border:1px solid #4a6048;background:#172a20;color:#e0ecd6;border-radius:7px;padding:0 12px;font:inherit;font-size:12px;}.pass-navigation>span{margin-left:auto;font-size:11px;color:#9fb39f;}
.battle-pass .pass-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}.battle-pass .pass-grid article{opacity:1;padding:0;gap:0;overflow:hidden;border:1px solid #40533e;border-radius:12px;background:#14261c;}.battle-pass .pass-grid article.unlocked{border-color:#87ae64;}.battle-pass .pass-grid article.milestone{border-color:#a38b4e;}.pass-level-label{font-size:11px;letter-spacing:1.4px;font-weight:700;text-align:center;color:#c1d4ae;padding:12px;background:#223425;}.milestone .pass-level-label{color:#f1d48c;background:#343723;}
.pass-track{padding:13px 12px 14px;display:flex;flex-direction:column;align-items:stretch;min-height:228px;}.pass-track-premium{background:linear-gradient(145deg,#38342288,#242d1f);border-top:1px solid #645733;}.pass-track-tag{font-size:9px;font-weight:700;letter-spacing:1.4px;color:#a9c692;}.pass-track-premium .pass-track-tag{color:#f2d077;}.pass-track canvas{display:block;width:100%;height:75px;object-fit:contain;}.battle-pass .pass-grid .pass-reward-name{font-size:12px;color:#e6efde;text-align:center;line-height:1.4;min-height:34px;letter-spacing:0;}.battle-pass .pass-currency{display:flex;flex-direction:column;gap:5px;align-items:center;min-height:40px;margin:7px 0 12px;}.battle-pass .pass-currency span{font-size:11px;min-height:0;color:#f0ce78;}.battle-pass .pass-currency .pass-gems{color:#fa8fa5;}.battle-pass .pass-grid .pass-track button{margin-top:auto;width:100%;font-size:11px;padding:10px 5px;border-radius:7px;background:#bde78e;color:#1b2d16;}.battle-pass .pass-grid .pass-track-premium button{background:#edc76d;color:#35270d;}.battle-pass .pass-grid .pass-track button:disabled{background:#263d2b;color:#aec2a2;border:1px solid #415b3c;}.battle-pass .pass-grid .pass-track-premium button:disabled{background:#3b3a25;color:#cbbc8b;border-color:#5e5835;}
@media(max-width:1000px){.season-dialog.battle-pass{padding:22px;}.battle-pass .pass-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.pass-featured-item strong{font-size:11px;}}
@media(max-width:750px){.battle-pass .pass-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pass-featured{grid-template-columns:repeat(3,minmax(0,1fr));}.pass-premium-banner{align-items:stretch;flex-direction:column;}.pass-progress-text{align-items:start;flex-direction:column;gap:8px;}}

.currency-icon{display:inline-block;width:1.35em;height:1.35em;object-fit:contain;vertical-align:middle;flex-shrink:0;margin:0 .12em;pointer-events:none;}

/* Living arena backdrop, behind every lobby control. */
.lobby-world{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:#0c1b16;display:none;}
body:has(#menu:not([hidden])) .lobby-world{display:block;}
.lobby-world-grid{position:absolute;inset:-65%;background-image:linear-gradient(#7ba68b19 1px,transparent 1px),linear-gradient(90deg,#7ba68b19 1px,transparent 1px);background-size:82px 82px;transform:perspective(950px) rotateX(38deg) rotateZ(-9deg) translate3d(var(--look-x,0px),var(--look-y,0px),0);animation:lobby-drift 32s linear infinite;will-change:background-position;}
.lobby-world-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 67% 48%,#315b3230,transparent 55%),linear-gradient(90deg,#0c1b16f5 0%,#0c1b1690 23%,transparent 48%),linear-gradient(#0c1b1680,transparent 40%,#0c1b16a0);}
@keyframes lobby-drift{from{background-position:0 0;}to{background-position:164px 246px;}}
body:has(#menu:not([hidden]))>header{z-index:10;}
#menu.constellation-menu{position:relative;z-index:1;padding-bottom:40px;}
#menu .lobby-account[hidden]{display:none!important;}
#menu:not(.guest-welcome) .lobby-left{padding-top:25px;}
#menu:not(.guest-welcome) .lobby-sky{background:radial-gradient(ellipse at 50% 50%,#24432c3b,transparent 65%);min-height:max(660px,calc(100vh - 190px));}
#menu:not(.guest-welcome) .lobby-hero::before{content:'';position:absolute;left:50%;top:43%;width:210px;height:210px;transform:translate(-50%,-50%) rotateX(62deg);border:1px solid #bce79755;border-radius:50%;box-shadow:0 0 0 14px #bce79705,0 0 0 30px #bce79704,inset 0 0 40px #bce7970a;pointer-events:none;}
.lobby-hero canvas{position:relative;}
.lobby-sky .lobby-node{width:142px;height:122px;border:1px solid color-mix(in srgb,var(--node-color),transparent 50%);border-radius:18px;padding:13px 8px;display:flex;flex-direction:column;justify-content:center;gap:0;background:linear-gradient(145deg,#263c30f0,#10241ef5);box-shadow:0 8px 0 #08140f80,0 15px 25px #0003,inset 0 1px 0 #ffffff0b;transition:scale .2s,box-shadow .2s,background .2s;}
.lobby-node .lobby-node-icon{margin:0 0 9px;color:var(--node-color);}
.lobby-node-icon svg{width:34px;height:34px;}
.lobby-node strong{font-size:12px;letter-spacing:.3px;color:#e6efde;}
.lobby-node small{font-size:9px;color:#acc1ae;line-height:1.4;margin-top:5px;}
.lobby-node::after{inset:-5px;border-radius:22px;}
.lobby-sky .lobby-node:hover,.lobby-sky .lobby-node:focus-visible{scale:1.05;background:linear-gradient(145deg,color-mix(in srgb,var(--node-color) 18%,#243d2e),#14291f);box-shadow:0 9px 0 #08140f80,0 0 32px color-mix(in srgb,var(--node-color),transparent 85%);}
.lobby-lines .lobby-connection{stroke:#90b69a;stroke-width:1.2;opacity:.25;}
.lobby-lines .lobby-connection.lit{stroke:var(--connection-color);stroke-width:2;opacity:.9;filter:drop-shadow(0 0 4px var(--connection-color));}
.lobby-lines .lobby-hex-edge{stroke:#88b393;opacity:.22;stroke-dasharray:2 7;}
.lobby-node-pass{top:12%;}.lobby-node-crates{top:88%;}
@media(min-width:801px){#menu:not(.guest-welcome){margin-top:110px;margin-bottom:0;}}
@media(max-width:1100px){.lobby-sky .lobby-node{width:116px;height:108px;}.lobby-node small{font-size:8px;}.lobby-node strong{font-size:11px;}}
@media(max-width:460px){.lobby-sky .lobby-node{width:96px;height:96px;}.lobby-node small{display:none;}.lobby-node-icon svg{width:28px;height:28px;}}
@media(prefers-reduced-motion:reduce){.lobby-world-grid{animation:none;transform:perspective(950px) rotateX(38deg) rotateZ(-9deg);}.lobby-sky .lobby-node{transition:none;}}
body:not(:has(#menu:not([hidden]))) .lobby-world-grid{animation-play-state:paused;}

/* Clear destination labels and a gently traveling arena floor. */
.fps-counter{top:auto;bottom:48px;right:18px;}
.lobby-node small{display:none;}
.lobby-sky .lobby-node{height:104px;gap:3px;}
.lobby-node strong{font-size:13px;}
.lobby-world-grid{animation:lobby-drift 12s linear infinite;}
.lobby-world-glow{animation:lobby-light 12s ease-in-out infinite alternate;}
@keyframes lobby-light{from{opacity:.75;}to{opacity:1;}}
@media(prefers-reduced-motion:reduce){.lobby-world-grid,.lobby-world-glow{animation:none;}}
body:not(:has(#menu:not([hidden]))) .lobby-world-glow{animation-play-state:paused;}

/* Three seconds from the loadout to the destination, followed by a border trace. */
.lobby-lines .lobby-beam{fill:none;stroke:var(--connection-color);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 5px var(--connection-color));}
.lobby-lines .lobby-beam.active{opacity:1;animation:lobby-beam-travel 3s linear forwards;}
@keyframes lobby-beam-travel{to{stroke-dashoffset:0;}}
.lobby-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;color:var(--node-color);}
.lobby-outline rect{stroke:currentColor;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 4px currentColor);}
.beam-active .lobby-outline rect{animation:lobby-outline-trace 1.2s linear 3s forwards;}
@keyframes lobby-outline-trace{from{opacity:1;stroke-dashoffset:1;}to{opacity:1;stroke-dashoffset:0;}}
.lobby-sky .lobby-node:hover,.lobby-sky .lobby-node:focus-visible{scale:1;background:linear-gradient(145deg,#294133,#14291f);border-color:color-mix(in srgb,var(--node-color),transparent 50%);box-shadow:0 8px 0 #08140f80,0 15px 25px #0003;}
.lobby-node:hover::after,.lobby-node:focus-visible::after{opacity:0;}
.lobby-sky .lobby-node.beam-arrived{box-shadow:0 8px 0 #08140f80,0 0 25px color-mix(in srgb,var(--node-color),transparent 78%);}
.lobby-node:focus-visible{outline:2px solid #e5f2d9;outline-offset:6px;}
@media(prefers-reduced-motion:reduce){.lobby-lines .lobby-beam.active{animation:none;stroke-dashoffset:0;}.beam-active .lobby-outline rect{animation:none;opacity:1;stroke-dashoffset:0;}}

/* The beam grows geometrically from the character; the border follows after arrival. */
.lobby-lines .lobby-beam,.lobby-lines .lobby-beam.active{animation:none!important;stroke-dasharray:none;stroke-dashoffset:0;}
.lobby-outline rect,.beam-active .lobby-outline rect{animation:none!important;stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0;}

/* The impact divides into two equal trails that meet across the card. */
.lobby-border-guide{visibility:hidden;stroke:none!important;}
.lobby-outline .lobby-border-trail{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0;filter:drop-shadow(0 0 4px currentColor);}

/* Continuous camera drift, updated by the menu's existing render loop. */
.lobby-world-grid{animation:none!important;background-position:var(--drift-x,0px) var(--drift-y,0px);}

.tournament-dialog{width:640px;max-width:92vw;border:1px solid #aa83d2;background:#10231c;border-radius:20px;padding:30px;}
.tournament-banner{display:flex;align-items:center;gap:22px;padding:24px;margin:22px 0;background:linear-gradient(125deg,#362945,#192f25);border:1px solid #65527a;border-radius:14px;}
.tournament-emblem{font-size:60px;color:#d3b0ff;}.tournament-banner small{font-size:10px;letter-spacing:2px;color:#d3b0ff;}.tournament-banner h3{font-size:24px;color:#eef4e8;margin:10px 0;}.tournament-banner p{font-size:13px;color:#b8ccb9;margin:0;}
.tournament-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}.tournament-stats>div{padding:16px 10px;border:1px solid #405c47;border-radius:10px;background:#1b3025;}.tournament-stats small{display:block;font-size:11px;color:#b8cbb6;margin-bottom:10px;}.tournament-stats strong{font-size:14px;color:#ebf1df;}.tournament-rules{font-size:13px;color:#bacdb9;line-height:1.8;margin:22px 0;}.tournament-join{width:100%;padding:16px;background:#c5a0ef;color:#20182c;font-weight:700;border-radius:9px;}.tournament-join:disabled{background:#293d30;color:#a8bca7;border:1px solid #48624b;}

/* Center the equipped character without the decorative platform ring. */
#menu:not(.guest-welcome) .lobby-hero canvas{transform:translate(5px,35px);}
#menu:not(.guest-welcome) .lobby-hero::before{display:none;}

/* In-game HUD: centered side panels and separate countdowns. */
#hud .score{top:50%;left:24px;transform:translateY(-50%);width:210px;padding:20px;background:#14271ff2;border:1px solid #476047;border-radius:16px;gap:8px;}
#hud .score>small{font-size:10px;letter-spacing:2px;}
#hud .score>#score{font-size:44px;line-height:1.15;font-variant-numeric:tabular-nums;}
#hud .score>#kills{order:3;padding-top:12px;border-top:1px solid #354b3d;font-size:13px;color:#cfddc7;}
#hud .score>.wallet{padding:7px 0 10px;font-size:22px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#hud .score>.wallet span{flex-basis:100%;margin:0;font-size:9px;letter-spacing:1.3px;}
#hud #map{top:auto;bottom:139px;right:35px;transform:none;}
#hud .match-counter{position:fixed;top:36px;left:50%;transform:translateX(-50%);padding:10px 18px;border:1px solid #49603d;border-radius:20px;background:#15251eee;color:#e7eddb;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;}
#hud .crate-counter{top:111px;font-family:Georgia,serif;font-size:15px;letter-spacing:.3px;color:#c5d2b9;background:#14251dcc;border-color:#354d3b;padding:9px 16px;white-space:nowrap;}
.header-actions #shopButton,.header-actions .red-gem-wallet{height:44px;min-width:110px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;border-radius:9px;box-sizing:border-box;}
.header-actions #shopButton b{margin-left:0;}
.header-actions .currency-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0;}
@media(max-width:850px){#hud .score{left:15px;width:165px;padding:14px;}#hud .score>#score{font-size:34px;}#hud .match-counter{top:85px;}#hud .crate-counter{top:160px;}#hud #map{right:15px;}}
/* All ten rows remain visible; the minimap occupies the lower right. */
#hud .leaders{pointer-events:none;}
@media(max-width:1450px){#hud .boost-status{bottom:120px;}}
@media(max-width:650px){#hud .leaders{top:110px;max-height:none;}}

#hud #leaderboard{list-style:none;padding-left:0;counter-reset:leader;}
#hud #leaderboard li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:2px 7px;align-items:center;min-height:0;padding:4px 0;line-height:14px;border-top:1px solid #344b3b;counter-increment:leader;}
#hud #leaderboard li::before{content:counter(leader);grid-row:1/3;color:#8ca38d;font-size:10px;}
#hud #leaderboard .leader-name{float:none;color:#e2ebdc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;}
#hud #leaderboard .leader-kind{grid-column:2;font-size:8px;letter-spacing:1px;color:#8ca38d;}
#hud #leaderboard .leader-score{grid-column:3;grid-row:1/3;float:none;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#c6ef91;}

#hud .current-run-wallet{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #354b3d;}
#hud .current-run-wallet strong{font-size:22px;color:#f4ce74;font-variant-numeric:tabular-nums;}
#hud .current-run-wallet span{font-size:8px;letter-spacing:1px;max-width:95px;line-height:1.6;color:#a6b89f;}

/* Spacious welcome composition with a clear play panel and larger loadout. */
body.welcome-screen>header{width:min(1440px,92vw);left:50%;transform:translateX(-50%);padding-left:0;padding-right:0;}
#menu.constellation-menu.guest-welcome{width:min(1320px,90vw);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,120px);margin:clamp(120px,13vh,180px) auto 64px;}
#menu.guest-welcome h1{font-size:clamp(60px,5.4vw,96px);letter-spacing:-4px;line-height:1.01;margin:24px 0;}
#menu.guest-welcome .intro{max-width:460px;font-size:17px;line-height:1.7;}
.guest-welcome .card{max-width:480px!important;padding:24px!important;background:linear-gradient(145deg,#1c3228e8,#10231ce8)!important;border:1px solid #486445!important;border-radius:18px!important;box-shadow:0 20px 60px #0003!important;}
.guest-welcome .card input{margin:12px 0 16px;height:54px;}
#menu.guest-welcome #play{height:58px;font-size:16px;}
.guest-welcome .lobby-account{max-width:480px;border-top:0;padding-top:8px;}
.guest-welcome .lobby-save{font-size:12px;max-width:440px;}
.guest-welcome .lobby-sky{min-height:620px;border:1px solid #8ab26b25;border-radius:32px;background:radial-gradient(ellipse at 50% 40%,#6b96402e,transparent 65%),linear-gradient(150deg,#1c342465,#0e211645);}
.guest-welcome .lobby-hero{width:100%;top:44%;}
.guest-welcome .lobby-hero canvas{width:min(540px,100%);height:auto;aspect-ratio:440/348;margin:auto;}
.guest-welcome .lobby-hero strong{font-size:24px;margin-top:16px;}
.guest-welcome .lobby-hero small{font-size:13px;}
.guest-welcome .welcome-scene-note{bottom:35px;}
.guest-welcome .welcome-how{font-size:12px;gap:24px;}
@media(max-width:900px){#menu.constellation-menu.guest-welcome{grid-template-columns:1fr;max-width:560px;margin-top:120px;}.guest-welcome .lobby-sky{display:none;}#menu.guest-welcome h1{font-size:clamp(50px,9vw,76px);letter-spacing:-2.5px;}.guest-welcome .card{max-width:none!important;}.guest-welcome .welcome-how{flex-wrap:wrap;gap:14px;}}
@media(max-height:800px) and (min-width:901px){#menu.constellation-menu.guest-welcome{margin-top:110px;}.guest-welcome .lobby-sky{min-height:540px;}#menu.guest-welcome h1{font-size:68px;}}
@media(min-width:901px){#menu.guest-welcome h1{font-size:clamp(58px,4.1vw,80px);}#menu.guest-welcome h1 em{white-space:nowrap;}}

.header-actions .header-wallet-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;flex:0 0 auto;}
.header-actions .header-wallet-content .currency-icon{display:block;margin:0;}
.header-actions .header-wallet-content b{margin:0;line-height:1;font-variant-numeric:tabular-nums;}

/* Compact single-line ranks preserve the full top ten on shorter screens. */
@media(max-height:900px){
 #hud .leaders{top:110px;padding:12px;}
 #hud .alive-count{font-size:13px;margin-bottom:8px;}
 #hud #leaderboard{margin-top:8px;}
 #hud #leaderboard li{min-height:0;padding:4px 0;gap:0 7px;}
 #hud #leaderboard .leader-kind{display:none;}
 #hud #leaderboard li::before,#hud #leaderboard .leader-score{grid-row:1;}
 #hud #map{width:130px;height:130px;}
}
@media(max-height:600px){
 #hud .leaders{top:90px;padding:10px;}
 #hud .alive-count{font-size:12px;margin-bottom:5px;}
 #hud #leaderboard li{padding:2px 0;line-height:14px;}
 #hud #map{width:90px;height:90px;bottom:127px;}
}
@media(max-height:450px){
 #hud .leaders{top:72px;padding:8px;}
 #hud #leaderboard li{padding:1px 0;line-height:13px;}
 #hud #leaderboard .leader-name,#hud #leaderboard .leader-score{font-size:11px;}
 #hud #map{width:64px;height:64px;bottom:123px;}
}
