/* Solo preview: immersive menu and a compact, legible player HUD. */
.game-shell{height:100dvh;overflow:hidden;background:#213c38}
.game-shell .home{display:block;margin:0;padding:0;max-width:none}
.game-shell .stage,.game-shell.playing .stage{position:fixed;inset:0;width:100%;height:100dvh;border:0;border-radius:0;aspect-ratio:auto;box-shadow:none;z-index:1}
.game-shell .showcase{position:static;margin:0;padding:0}
.game-shell .preview-label,.game-shell .preview-top,.game-shell .preview-bottom,.game-shell .toy-caption,.game-shell .site-footer,.game-shell .brand,.game-shell .wifi-badge{display:none}
.game-shell:not(.playing) .stage::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#163d3af5 0%,#163d3ade 28%,#183a3940 68%,#163d3910);pointer-events:none}
.game-shell .site-header{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));height:auto;padding:0;border:0;z-index:4}
.game-shell .header-right{gap:8px}.game-shell .icon-button{width:42px;height:42px;background:#fff5dc;border:2px solid #254b42}
.game-shell .intro{position:fixed;z-index:3;top:50%;left:max(5vw,env(safe-area-inset-left));transform:translateY(-50%);width:350px;max-height:calc(100dvh - 36px);overflow:auto;color:#fff5dc;padding:8px 12px 12px 4px}
.game-shell .solo-label{font-size:11px;font-weight:900;letter-spacing:2px;color:#ffe29a}.solo-label span{margin-left:10px;color:#acd5c9;font-size:9px;letter-spacing:1px}
.game-shell h1{font-size:84px;line-height:.9;letter-spacing:-2px;margin:18px 0 13px;filter:drop-shadow(4px 5px 0 #112a2a)}
.game-shell h1 span{color:#ffb645}.game-shell h1 i{color:#ffb645;right:-19px}
.game-shell .menu-tagline{font-size:15px;margin:0 0 27px;color:#c5dfd2;font-weight:600}
.game-shell .intro .mode-label{font-size:9px;letter-spacing:1.6px;color:#aed8cc;padding-bottom:9px}
.game-shell .intro .mode-card{background:#204b47e8;border:1px solid #b6dbcf55;color:#eefbe6;border-radius:9px;padding:12px;gap:11px;min-height:61px}
.game-shell .intro .mode-card.selected{background:#fff0cb;color:#183d36;border:2px solid #ffe092;box-shadow:0 3px 0 #b38545}
.game-shell .mode-number{font-family:var(--display);font-size:28px;opacity:.75}.game-shell .mode-card strong{font-size:14px}.game-shell .mode-card small{color:inherit;opacity:.75;font-size:10px}
.game-shell .intro .radio-dot{border-color:#fff8dd}.game-shell .intro .selected .radio-dot{background:#286c5c;border-color:#fff0cb;outline-color:#286c5c}
.game-shell .main-actions{margin-top:20px;gap:10px}.game-shell #practice{font-size:23px;letter-spacing:2px;padding:16px 20px;background:#f58342;border:2px solid #ffc48d;border-radius:10px;box-shadow:0 5px 0 #a34b27}
.game-shell #setup-open{margin-top:3px;color:#eff9e3;border:1px solid #b5d6c86b;background:#173e3bae;min-height:44px;font-size:11px;border-radius:8px}
.game-shell .menu-footnote{font-size:8px;color:#a9cbbf;letter-spacing:.8px;margin:19px 0 0;text-align:center}
.game-shell .dialog{max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #476557;border-radius:16px;box-shadow:0 12px 0 #092c3655;padding:28px}
.game-shell .dialog::backdrop{background:#112e32bb;backdrop-filter:blur(5px)}
.game-shell .dialog h2{font-size:42px;margin:12px 0 20px}.setup-dialog{width:min(520px,calc(100vw - 28px))}.setup-dialog .garage{margin:20px 0}.setup-dialog .mode-label span{display:none}.setup-dialog .vehicle-option img{height:75px}.setup-done{margin-top:20px;min-height:48px}
.pause-dialog{width:min(360px,calc(100vw - 32px));text-align:center}.pause-dialog .eyebrow{justify-content:center}.pause-dialog .button{min-height:50px;margin-top:12px}.pause-dialog .text-button{margin-top:24px;min-height:44px}
.game-shell.playing .hud{padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.game-shell .hud-button{height:42px;min-width:42px;padding:8px 14px}.game-shell .hud-button span{display:inline;font-size:9px}
.game-shell .player-readout{position:absolute;left:max(18px,env(safe-area-inset-left));top:calc(max(14px,env(safe-area-inset-top)) + 52px);width:210px;margin:0;padding:12px 14px;background:#163f3cf2;color:#f7ffe9;border:2px solid #b9e7ce;box-shadow:0 4px 0 #183c3960;border-radius:12px;z-index:7}
.health-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.health-heading>span{font-size:12px;font-weight:900;letter-spacing:1px}.health-heading strong{font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.health-track{height:13px;margin:9px 0 0;border-radius:5px;background:#081e26;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff33}.health-track i{display:block;height:100%;width:100%;background:#75e7a6;border-radius:4px}
.game-shell .recovery-status{font-size:9px;letter-spacing:.4px;color:#b9dbc9;display:block;margin:8px 0 0;min-height:11px}
.player-readout[data-health-state="low"]{border-color:#ffb796}.player-readout[data-health-state="low"] .health-track i{background:#ff956e}.player-readout[data-health-state="low"] .recovery-status{color:#ffcdb7}
.player-readout[data-health-state="shielded"]{border-color:#8cdeff}.player-readout[data-health-state="shielded"] .recovery-status{color:#a6eaff}.player-readout[data-health-state="respawning"]{border-color:#c9cec7}.player-readout[data-health-state="recovering"] .recovery-status{color:#9ff4b2}
.game-shell .shots-toggle{left:auto;right:max(18px,env(safe-area-inset-right));top:calc(max(14px,env(safe-area-inset-top)) + 62px);min-height:36px}
.game-shell .radar-3d{display:none}.game-shell .status-banner{top:82px;max-width:44%;left:50%;font-size:10px;padding:8px 12px}.game-shell .event-feed{top:170px;left:max(20px,env(safe-area-inset-left));font-size:10px}
.game-shell .hud-bottom,.game-shell.melee-mode .hud-bottom{position:absolute;left:auto;right:max(20px,env(safe-area-inset-right));bottom:36px;margin:0;gap:0}
.game-shell .gadget-readout{padding:10px 13px;min-width:160px;background:#163f3cdd;color:#f6f7dc}.game-shell .gadget-readout>span,.game-shell #ammo,.game-shell #aim-status,.game-shell .gadget-readout small:first-child{display:none}.game-shell .gadget-readout strong,.game-shell .super-meter b{color:#e9f8d9}.game-shell .super-meter small{color:#c0d8b7}.game-shell .super-meter{margin-top:6px;min-width:140px}.game-shell .super-meter.ready b{color:#e4bdff}
.game-shell .connection-badge,.game-shell .rotate-hint{display:none}.game-shell .desktop-hint{bottom:15px;color:#f6ffe6;text-shadow:0 1px 3px #173c36}.game-shell .timer-pill,.game-shell .score-pill{background:#fff4dceb}.game-shell .score-pill{min-width:100px}
@media(pointer:coarse),(max-width:900px){
 .game-shell .player-readout{width:176px;padding:9px 11px}.health-heading>span{font-size:11px}.health-heading strong{font-size:15px}.health-track{height:12px;margin-top:7px}.game-shell .recovery-status{font-size:8px;margin-top:6px}
 .game-shell .hud-bottom,.game-shell.melee-mode .hud-bottom{right:max(20px,env(safe-area-inset-right));bottom:133px}.game-shell .gadget-readout{padding:6px 10px;min-width:160px}.game-shell .gadget-readout>div>strong{display:none}.game-shell .super-meter{border:0;margin:0;padding:0}.game-shell .super-meter small{font-size:7px}.game-shell .event-feed{top:156px;font-size:9px}
 .game-shell .status-banner,.game-shell .status-banner.danger{top:158px;font-size:10px;max-width:65%}.game-shell .status-banner:not(.danger){display:none}
 .game-shell.playing #stage[data-world="run"] .score-pill{position:absolute;left:50%;right:auto;top:14px;transform:translateX(-50%);width:100px;padding:7px 12px}
}
@media(max-width:600px) and (orientation:portrait){
 .game-shell .intro{left:22px;right:22px;top:auto;bottom:max(24px,env(safe-area-inset-bottom));transform:none;width:auto;max-height:calc(100dvh - 78px);padding:6px 4px 8px}
 .game-shell:not(.playing) .stage::after{background:linear-gradient(0deg,#143936fa 0%,#143936e8 48%,#14393628 100%)}
 .game-shell h1{font-size:68px;margin:16px 0 10px}.game-shell .menu-tagline{margin-bottom:19px;font-size:13px}.game-shell .solo-label{font-size:10px}.game-shell .main-actions{margin-top:17px}.game-shell #practice{padding:12px 18px;font-size:21px}.game-shell .menu-footnote{font-size:7px;margin-top:15px}
 .game-shell .hud-button{padding:6px 0;width:38px;min-width:38px}.game-shell .hud-button span{display:none}.game-shell .player-readout{left:max(14px,env(safe-area-inset-left));top:78px;width:174px}.game-shell .shots-toggle{top:83px;right:16px}.game-shell .score-pill{min-width:60px}.game-shell.playing #stage[data-world="run"] .score-pill{position:static;transform:none;flex:1;width:auto;min-width:60px;padding:8px 4px}
 .game-shell .event-feed{top:172px;max-width:170px}.game-shell .status-banner.danger{top:215px;max-width:85%}.game-shell .hud-bottom{bottom:144px}.game-shell .gadget-readout{min-width:150px}.game-shell .super-meter{min-width:130px}
}
@media(max-height:500px) and (orientation:landscape){
 .game-shell .intro{left:max(30px,env(safe-area-inset-left));width:330px;top:50%;max-height:calc(100dvh - 18px);padding:5px 12px 9px 4px}.game-shell h1{font-size:53px;margin:9px 0}.game-shell .menu-tagline{display:none}.game-shell .solo-label{font-size:9px}.game-shell .solo-label span{font-size:8px}.game-shell .intro .mode-label{margin-top:10px;font-size:8px;padding-bottom:6px}.game-shell .intro .mode-card{min-height:44px;padding:7px 10px}.game-shell .mode-number{font-size:20px}.game-shell .mode-card strong{font-size:12px}.game-shell .mode-card small{display:none}.game-shell .mode-picker{gap:7px}.game-shell .main-actions{margin-top:12px;gap:6px}.game-shell #practice{padding:8px 16px;font-size:20px;min-height:44px}.game-shell #setup-open{min-height:40px;padding:7px 14px;font-size:10px}.game-shell .menu-footnote{margin-top:9px;font-size:7px}
 .game-shell .dialog{padding:18px;max-height:calc(100dvh - 20px)}.game-shell .dialog h2{font-size:30px;margin:8px 0 14px}.setup-dialog{width:620px}.setup-dialog .garage{margin:12px 0}.setup-dialog .vehicle-grid{grid-template-columns:repeat(6,1fr)}.setup-dialog .vehicle-option img{height:45px}.setup-dialog .vehicle-option strong{font-size:7px}.setup-dialog .garage-note{font-size:8px}.setup-dialog .combat-picker{margin-top:0}.setup-dialog .combat-picker button{padding:8px}.setup-done{min-height:42px;margin-top:12px}
 .game-shell .hud-bottom,.game-shell.melee-mode .hud-bottom{bottom:121px}.game-shell .event-feed{font-size:8px;max-width:174px}.game-shell .status-banner.danger{top:76px;max-width:40%}
}
