:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;color:#eaf3ff;background:#080c16}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffd477;outline-offset:3px}[hidden]{display:none!important}header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:12px;background:#0b1120;border-bottom:1px solid #3c344b}header>a:first-child{font-weight:900;letter-spacing:1px;font-size:22px}header b{color:#fc83b6}header>span{font-weight:800;letter-spacing:3px}header small{background:#f895bc;color:#181326;padding:4px 7px;border-radius:4px;letter-spacing:0}header>a:last-child{font-size:14px;color:#a5cce4}main{position:relative;width:100%;height:calc(100dvh - 98px);min-height:520px;overflow:hidden;background:#101b30}#world{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;gap:14px;pointer-events:none}.contract,.telemetry{background:#091322dc;border:1px solid #57607577;backdrop-filter:blur(12px);border-radius:12px;padding:16px 20px;max-width:440px}.contract>span{font-size:12px;font-weight:800;letter-spacing:2px;color:#ffb080}h1{font-size:23px;margin:8px 0}.contract p{font-size:14px;margin:0;line-height:1.5;color:#d3e3f4}.progress{height:3px;background:#41505b;margin-top:14px}.progress i{height:100%;display:block;background:#ffbf68;width:0;transition:width .3s}.telemetry{display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:155px}.telemetry strong{font-size:30px;font-variant-numeric:tabular-nums}.telemetry b{color:#8eedd2}#wanted{color:#ff9bbd}.tools{position:absolute;right:24px;top:178px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:400px}.tools button,.tools label{background:#101f30e8;border:1px solid #69819566;padding:9px 12px;border-radius:7px;font-size:14px}.tools select{background:transparent;border:0;font-size:14px}.map-panel{position:absolute;bottom:112px;left:24px;border:1px solid #56738c;background:#0d1729df;border-radius:12px;padding:8px}.map-panel canvas{width:155px;height:155px;display:block}.map-panel span{font-size:10px;display:block;margin-top:5px}.map-panel b{color:#ffce63;font-weight:400}.map-panel em{color:#ff778d;font-style:normal}.speed{position:absolute;right:32px;bottom:112px;display:flex;align-items:baseline;gap:8px;text-shadow:0 2px 10px #000}.speed strong{font-size:56px;font-weight:900;font-variant-numeric:tabular-nums}.speed span{font-size:12px}.touch-controls{position:absolute;bottom:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:10px;user-select:none}.touch-controls>div{display:flex;gap:8px}.touch-controls button{height:64px;min-width:65px;padding:0 18px;background:#152438d9;border:1px solid #b1c6dd88;border-radius:13px;touch-action:none;font-size:14px;font-weight:800;-webkit-user-select:none}.touch-controls button[data-key=left],.touch-controls button[data-key=right]{font-size:22px}.touch-controls .gas{color:#0c2025;background:#93e4d6}.touch-controls button.pressed{background:#f8b978;color:#102032}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:22px;background:linear-gradient(100deg,#090f23df,#09112488);backdrop-filter:blur(6px);overflow:auto}.briefing{max-width:600px;width:100%;padding:32px;background:#101a2dea;border:1px solid #bc7d9a77;border-radius:20px;box-shadow:0 25px 100px #0006}.eyebrow{font-size:12px;letter-spacing:2px;color:#ffaccb;font-weight:800}.briefing h2{font-size:clamp(28px,4vw,48px);line-height:1.08;letter-spacing:-1.5px;margin:20px 0}.briefing p{font-size:16px;line-height:1.65;color:#bdcfe2}.briefing .instructions{font-size:14px}.mission-select{display:grid;gap:8px;font-size:14px}.mission-select select{padding:12px;background:#1e2d44;border:1px solid #6b718d;border-radius:8px;width:100%}.briefing button{width:100%;background:#ffb382;color:#171b26;border:0;border-radius:9px;padding:15px;font-size:16px;font-weight:800}.briefing button:disabled{opacity:.5}.briefing #save-note{font-size:12px}.briefing>a{display:block;text-align:center;font-size:14px;color:#a3dbea}#message{position:absolute;top:48%;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:8px;background:#111b2de8;max-width:90%;text-align:center;color:#ffcd8d;font-weight:700;pointer-events:none}#message:empty{display:none}footer{height:32px;text-align:center;font-size:12px;padding:8px;color:#9baac3}.cinema-mode{position:fixed!important;inset:0!important;height:100dvh!important;z-index:9999}.cinema-open{overflow:hidden}.cinema-close{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:12;background:#12283f;border:1px solid #809dbb;padding:8px;border-radius:6px}main:fullscreen{height:100vh}button:hover{filter:brightness(1.15)}@media(max-width:650px){header{height:56px;padding:0 16px}header>span{font-size:12px;letter-spacing:1px}header>a:first-child{font-size:18px}header>a:last-child{font-size:12px}main{height:calc(100dvh - 88px);min-height:520px}.hud{top:12px;left:12px;right:12px;gap:8px}.contract,.telemetry{padding:12px;max-width:65%}h1{font-size:17px}.contract>span{font-size:10px;letter-spacing:1px}.contract p{font-size:12px}.telemetry{min-width:105px;font-size:10px}.telemetry strong{font-size:25px}.tools{top:172px;right:12px;max-width:220px}.tools button,.tools label,.tools select{font-size:12px;padding:7px}.map-panel{left:12px;bottom:98px;padding:5px}.map-panel canvas{width:112px;height:112px}.map-panel span{font-size:8px}.speed{right:15px;bottom:95px}.speed strong{font-size:42px}.touch-controls{left:12px;right:12px;bottom:17px;gap:6px}.touch-controls>div{gap:5px}.touch-controls button{min-width:45px;padding:0 9px;height:62px;font-size:11px}.briefing{padding:22px}.briefing h2{margin:12px 0}.briefing p{font-size:14px;line-height:1.5}.briefing .instructions{font-size:12px}footer{font-size:10px}}@media(max-height:600px) and (orientation:landscape){main{min-height:340px}.briefing{padding:18px;max-width:760px}.briefing h2{font-size:24px}.briefing p{margin:8px 0;font-size:12px}.briefing .instructions{font-size:12px}.briefing #save-note{display:none}.map-panel{bottom:90px}.map-panel canvas{width:90px;height:90px}.hud{top:8px}.tools{top:140px}.contract{max-width:340px}.touch-controls button{height:52px}}
header nav{font-size:14px;white-space:nowrap}header nav a[aria-current]{color:#ffb382;font-weight:800}.mission-select{margin:12px 0}#district-name{display:block;margin-top:6px;color:#94dbea;font-size:11px;letter-spacing:1px}.tools{top:204px}.contract{max-width:460px}.map-panel canvas{width:170px;height:170px}#capture{color:#ffb382;font-size:11px}@media(max-width:650px){.tools{top:204px}.contract{max-width:63%}.map-panel canvas{width:120px;height:120px}.briefing{margin:auto}header nav{font-size:12px}#district-name{font-size:10px}}@media(max-height:600px) and (orientation:landscape){.tools{top:175px}.map-panel canvas{width:90px;height:90px}.briefing{max-height:100%;overflow:auto}.briefing .mission-select{display:inline-grid;width:48%;margin:4px 0;vertical-align:top}.mission-select select{font-size:12px}}

/* A clear driving view, with secondary actions inside the pause screen. */
#stage{min-height:0;height:calc(100dvh - 98px);--pad-size:156px;--edge:20px}
#stage .tools{position:static;max-width:none;justify-content:center;margin-top:16px;gap:8px}
#stage .tools button,#stage .tools label{width:auto;min-height:44px;padding:10px 12px;background:#1e2d44;color:#eaf3ff;border:1px solid #6b718d;font-size:14px}
#stage .tools select{font-size:14px;padding:0;max-width:130px}
#stage .game-menu{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px;display:grid;place-items:center;z-index:5;background:#0b1728a6;border:1px solid #b1c6dd66;border-radius:50%;font-size:28px;line-height:1}
#stage.is-playing>.section-home,#stage.is-playing>.cinema-close{display:none}
#stage:not(.is-playing) .touch-controls,#stage:not(.is-playing) .speed,#stage:not(.is-playing) .map-panel,#stage:not(.is-playing) .hud,#stage:not(.is-playing) #message{visibility:hidden;pointer-events:none}
#stage.is-paused .mission-select,#stage.is-paused .eyebrow,#stage.is-paused .instructions,#stage.is-paused #save-note{display:none}
#stage .hud{top:max(12px,env(safe-area-inset-top));left:max(var(--edge),env(safe-area-inset-left));right:max(68px,calc(env(safe-area-inset-right) + 56px));gap:12px;align-items:flex-start}
#stage .contract,#stage .telemetry{background:#0913229e;backdrop-filter:blur(6px);border:0;border-radius:9px;padding:10px 12px;max-width:none;min-width:0}
#stage .contract{max-width:420px;flex:0 1 auto}
#stage .contract>span,#stage .contract h1{display:none}
#stage .contract p{font-size:14px;line-height:1.4}
#stage .progress{margin-top:8px;height:2px}
#stage .telemetry{gap:4px;font-size:12px;flex:0 0 auto}
#stage .telemetry strong{font-size:24px;line-height:1.1}
#stage #capture{display:none;font-size:12px}
#stage #capture.is-alert{display:block;color:#ffb382}
#stage .map-panel{pointer-events:none;left:max(var(--edge),env(safe-area-inset-left));bottom:calc(var(--pad-size) + var(--edge) + 14px + env(safe-area-inset-bottom));padding:4px;background:#0d1729a6;border-color:#7894ad66;border-radius:9px}
#stage .map-panel canvas{width:104px;height:104px;opacity:.85}
#stage .map-panel span{display:none}
#stage .speed{right:max(var(--edge),env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));gap:5px;pointer-events:none}
#stage .speed strong{font-size:36px}
#stage .speed span{font-size:12px}
#stage .touch-controls{left:max(var(--edge),env(safe-area-inset-left));right:max(var(--edge),env(safe-area-inset-right));bottom:calc(var(--edge) + env(safe-area-inset-bottom));gap:12px;align-items:flex-end;pointer-events:none;-webkit-user-select:none}
#stage .touch-controls button{min-width:0;height:auto;padding:0;font-size:14px;touch-action:none;-webkit-touch-callout:none}
#stage .dpad{position:relative;width:var(--pad-size);height:var(--pad-size);flex-shrink:0;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:0;padding:0;border-radius:50%;background:#09152366;pointer-events:auto;touch-action:none;-webkit-touch-callout:none;filter:drop-shadow(0 3px 6px #0005)}
#stage .dpad button{border:1px solid #c6d9e877;background:#1c2d40d9;font-size:22px;border-radius:5px;font-weight:900}
#stage .dpad .pad-up{grid-area:1/2;border-radius:12px 12px 0 0;border-bottom:0}
#stage .dpad .pad-left{grid-area:2/1;border-radius:12px 0 0 12px;border-right:0}
#stage .dpad .pad-center{grid-area:2/2;background:#1c2d40d9;display:grid;place-items:center}
#stage .pad-center::after{content:'';width:16px;height:16px;border:1px solid #b6cad366;border-radius:50%;background:#0c172c66}
#stage .dpad .pad-right{grid-area:2/3;border-radius:0 12px 12px 0;border-left:0}
#stage .dpad .pad-down{grid-area:3/2;border-radius:0 0 12px 12px;border-top:0}
#stage .pedals{display:flex;align-items:flex-end;gap:10px;pointer-events:auto}
#stage .pedals button{height:58px;min-width:64px;padding:0 12px;border-radius:16px;background:#152438cc}
#stage .pedals .gas{height:76px;min-width:86px;background:#93e4d6dc;color:#0c2025}
#stage .touch-controls button.pressed{background:#f8b978;color:#102032;border-color:#ffdaa6}
#stage #message{top:110px;font-size:14px;line-height:1.4;padding:8px 14px;max-width:min(440px,75%);background:#111b2dc7}
#stage .overlay{z-index:8;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
#stage .briefing{margin:auto;max-height:none}
#stage .cinema-close{z-index:31;font-size:14px;min-height:44px}
body:has(#stage.is-playing)>.back-to-top{display:none!important}
@media(max-width:650px){
 #stage{height:calc(100dvh - 88px);--pad-size:144px;--edge:12px}
 #stage .hud{gap:8px}
 #stage .contract{max-width:58%;padding:8px}
 #stage .contract p{font-size:14px}
 #stage .telemetry{padding:8px;font-size:12px}
 #stage .telemetry strong{font-size:22px}
 #stage .map-panel canvas{width:80px;height:80px}
 #stage .speed{bottom:calc(92px + env(safe-area-inset-bottom))}
 #stage .speed strong{font-size:30px}
 #stage .pedals{gap:8px}
 #stage .pedals button{min-width:58px;padding:0 9px;height:54px}
 #stage .pedals .gas{min-width:78px;height:70px}
 #stage .dpad button{font-size:20px}
 #stage .briefing .instructions{font-size:14px}
 #stage #message{top:120px;max-width:86%;width:max-content}
}
@media(max-width:360px){
 #stage{--pad-size:132px;--edge:8px}
 #stage .pedals{gap:6px}
 #stage .pedals button{min-width:52px;padding:0 7px}
 #stage .pedals .gas{min-width:76px}
 #stage .contract{max-width:52%}
}
@media(max-height:600px) and (orientation:landscape){
 body:has(#stage) header,body:has(#stage) footer{display:none}
 #stage{height:100dvh;--pad-size:132px;--edge:12px}
 #stage .contract{max-width:38%}
 #stage .telemetry{margin-left:auto;margin-right:100px;font-size:12px}
 #stage .map-panel{top:12px;bottom:auto;left:auto;right:max(68px,calc(env(safe-area-inset-right) + 56px))}
 #stage .map-panel canvas{width:72px;height:72px}
 #stage .speed strong{font-size:28px}
 #stage #message{top:98px;max-width:50%}
 #stage .briefing{max-width:660px}
 #stage .briefing .mission-select{display:inline-grid;width:48%;margin:4px 0}
 #stage.is-paused .mission-select{display:none}
 #stage .briefing .mission-select select{font-size:14px}
}
/* Let the actual header height determine the remaining play area. */
body:has(main#stage){display:flex;flex-direction:column;height:100dvh;overflow:hidden}
body:has(main#stage)>header,body:has(main#stage)>footer{flex-shrink:0}
body:has(main#stage)>#stage{flex:1;min-height:0}
@media(max-height:600px) and (orientation:landscape){body:has(main#stage)>header,body:has(main#stage)>footer{display:none}}

/* No native text selection, drag previews or touch callout anywhere in the game. */
body:has(main#stage),body:has(main#stage) *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none}
#stage.free-roam .telemetry,#stage.free-roam .progress{display:none}
#stage.is-paused #contract-choice{display:none}

/* Region choice and shared records stay in menus, away from the driving view. */
#stage .mission-select input,#stage .ranking-filter select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #6b718d;border-radius:8px;background:#1e2d44;color:#eaf3ff;font:inherit}
#stage .briefing .zone-description{font-size:14px;color:#add5d6;line-height:1.45;margin:8px 0 12px}
#stage .briefing #record-status{font-size:14px;color:#ffcd8d;line-height:1.5}
#stage .briefing #record-status:empty{display:none}
#stage.is-paused #zone-description{display:none}
#stage.is-playing #district-name{display:block;margin:0 0 5px;color:#ffc38e;font-size:12px;letter-spacing:.7px}
#stage .ranking-panel{z-index:45;overflow:auto;background:#081222ef}
#stage .ranking-panel .briefing{position:relative;max-width:740px}
#stage .ranking-close{position:absolute;right:12px;top:12px;width:44px;height:44px;padding:0;font-size:28px;background:#20344b;color:white}
#stage .ranking-filter{display:grid;gap:8px;font-size:14px}
#stage .ranking-table{max-width:100%;overflow:auto;margin:16px 0}
#stage .ranking-table table{border-collapse:collapse;width:100%;font-size:14px}
#stage .ranking-table th,#stage .ranking-table td{padding:12px 8px;text-align:left;border-bottom:1px solid #48627855;font-variant-numeric:tabular-nums}
#stage .ranking-table th{color:#9bb9cf;font-weight:600}
#stage .ranking-table td:nth-child(3){color:#ffd69a;font-weight:800;white-space:nowrap}
#stage .ranking-table td:nth-child(2){overflow-wrap:anywhere}
#stage .ranking-table .own-record{background:#23777533}
#stage .briefing .ranking-rule{font-size:14px;line-height:1.5;color:#aebed0}
#stage #personal-record{font-size:16px;color:#9ee9d8}
#stage .live-score{font-size:12px;color:#ffcb80}
@media(max-height:600px) and (orientation:landscape){#stage .briefing #nickname-choice{display:inline-grid}#stage.is-paused .briefing #nickname-choice{display:none}}
/* Text entry must keep native caret, selection and clipboard on iPhone. */
body:has(main#stage) input,body:has(main#stage) textarea,body:has(main#stage) [contenteditable="true"]{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important;touch-action:manipulation}
#stage .mission-select input{font-size:16px;cursor:text}
#stage input:focus{outline:3px solid #8de8df;outline-offset:2px}
#stage input[aria-invalid="true"]{border-color:#ff929b}
#stage .nickname-error{font-size:14px;color:#ffb4ba;line-height:1.4}
#stage .nickname-error:empty{display:none}
#stage .controller-info{font-size:14px;color:#a4ddcf;line-height:1.4}
#stage .tools #controller-mode{max-width:205px;min-height:36px}
#stage .controller-help{font-size:14px;line-height:1.5}
#stage button:focus-visible,#stage select:focus-visible,#stage a:focus-visible{outline:3px solid #8de8df;outline-offset:3px}
#drive-in-watch{position:absolute;top:110px;left:50%;transform:translateX(-50%);z-index:6;padding:12px 18px;border:1px solid #ffaed2;border-radius:12px;background:#231533ec;color:white;font-weight:800;max-width:90%;min-height:44px}.drive-in-panel{position:absolute;inset:0;z-index:30;background:#080b16f5;padding:16px;overflow:auto;display:grid;place-items:center}.drive-in-card{width:min(100%,850px);text-align:center}.drive-in-card h2{color:#ffb2d3}.drive-in-card p{font-size:14px}.drive-in-card button{padding:12px 18px;min-height:44px;border-radius:9px;border:1px solid #ac8ca9;background:#29334c;color:white;margin:5px}.drive-in-player{aspect-ratio:16/9;background:#000;margin:14px 0}.drive-in-player iframe{display:block;width:100%;height:100%;border:0}.drive-in-panel[hidden],#drive-in-watch[hidden]{display:none}.trailer-original{color:#9bddd8}.audio-note{font-size:13px!important}

#quick-sound{position:absolute;right:12px;top:64px;width:44px;height:44px;z-index:5;border-radius:50%;border:1px solid #b1c6dd66;background:#0b1728b8;color:#fff;font-size:23px}#quick-sound[aria-pressed="false"]{opacity:.55}#stage:not(.is-playing) #quick-sound{display:none}

.live-radio{position:absolute;right:12px;top:115px;z-index:5;display:grid;gap:4px;background:#0b1728c9;padding:8px;border-radius:10px;font-size:12px}.live-radio select{max-width:130px;background:#17283c;color:white;border:1px solid #7994a7;border-radius:6px;min-height:36px;font-size:14px}#stage:not(.is-playing) .live-radio{display:none}

/* Independent thumb controls: motion left, steering right. */
#stage .motion-pad,#stage .steering-pad{display:grid;gap:8px;pointer-events:auto;touch-action:none;-webkit-touch-callout:none;filter:drop-shadow(0 3px 5px #0005)}
#stage .motion-pad{grid-template-rows:repeat(2,1fr);width:76px;height:160px}
#stage .steering-pad{grid-template-columns:repeat(2,1fr);width:160px;height:76px}
#stage .motion-pad button,#stage .steering-pad button{display:grid;place-items:center;border:1px solid #c6d9e899;background:#172a40e8;border-radius:19px;color:white;font-size:30px;font-family:Arial,sans-serif;font-variant-emoji:text;min-width:0;min-height:0;padding:0}
#stage .motion-pad button.pressed,#stage .steering-pad button.pressed{background:#9be3d4;color:#102c30;transform:scale(.96)}
@media(max-width:380px){#stage .motion-pad{width:68px;height:144px}#stage .steering-pad{width:144px;height:68px}}
@media(max-height:500px) and (orientation:landscape){#stage .motion-pad{width:60px;height:128px}#stage .steering-pad{width:128px;height:60px}}

/* Remote cursor controls remain clickable without simultaneous button holds. */
.tv-choice,.remote-actions{display:none}
.remote-mode select{display:none!important}
.remote-mode .tv-choice{display:flex;align-items:center;gap:12px;width:100%;min-width:0}
.tv-choice span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:16px}
.tv-choice button{flex:0 0 54px;min-height:52px;padding:8px}
.remote-mode.is-playing .remote-actions{display:flex;position:absolute;bottom:24px;left:50%;transform:translateX(-50%);gap:12px;z-index:8}
.remote-actions button{min-height:58px;min-width:100px;background:#1d3041;color:white;border:2px solid #91e4cf;border-radius:14px;font-weight:800}
.remote-mode button:focus-visible{outline:4px solid #ffcf79;outline-offset:4px}
.remote-mode .live-radio{max-width:310px}
.remote-mode .touch-controls{display:flex}
@media(min-width:900px){.remote-mode .briefing{max-width:850px}.remote-mode .overlay{padding:28px 7vw}.remote-mode .tools{gap:16px}}

#stage .motion-pad svg,#stage .steering-pad svg{width:30px;height:30px;pointer-events:none}

#boost-status{position:absolute;right:24px;bottom:220px;color:#76ffe4;background:#10263cbf;border-radius:10px;padding:8px;font-weight:900;pointer-events:none}#boost-status:empty,#stage:not(.is-playing) #boost-status{display:none}

/* Compact game setup and in-page option cards. */
#stage .overlay{padding:16px;align-items:start}
#stage .briefing{width:min(100%,600px);padding:22px;text-align:left;border:1px solid #b692c447;border-radius:22px;background:linear-gradient(150deg,#241b36f7,#141d30f7);box-shadow:0 18px 55px #0005}
#stage .briefing h2{font-size:clamp(23px,4vw,30px);line-height:1.15;margin:10px 0}
#stage .briefing p{font-size:14px;line-height:1.5;margin:8px 0}
#stage .mission-select{display:grid;width:100%;gap:5px;margin:12px 0}
#stage .mission-select label{font-size:14px;font-weight:650;color:#ced1e6}
#stage select.enhanced-choice{display:none!important}
#stage .game-choice{min-width:0;width:100%;position:relative}
#stage .game-choice summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 12px;border-radius:12px;border:1px solid #8595b84d;background:#26334b;color:#f4f3ff;font-size:16px;font-weight:600;line-height:1.35}
#stage .game-choice summary::-webkit-details-marker{display:none}
#stage .game-choice summary span:first-child{min-width:0;overflow-wrap:anywhere}
#stage .game-choice summary span:last-child{color:#f4add9;flex-shrink:0}
#stage .game-choice[open] summary{border-color:#efa9d0;background:#342d48}
#stage .game-choice-options{display:grid;gap:5px;margin-top:6px;padding:6px;border:1px solid #ad8cbc66;border-radius:12px;background:#141c2d;max-height:210px;overflow-y:auto;overscroll-behavior:contain}
#stage .game-choice-options button{width:100%;text-align:left;padding:10px 12px;min-height:44px;border:1px solid transparent;border-radius:8px;background:#27334a;color:#e9edf7;font:500 15px/1.4 Arial,sans-serif}
#stage .game-choice-options button[aria-pressed=true]{background:#4b365c;border-color:#ea9ccc;color:#ffe0f2}
#stage .game-choice-options button:disabled{opacity:.4;cursor:not-allowed}
#stage.remote-mode .game-choice{display:none}
#stage .briefing #start{width:100%;min-height:48px;padding:12px;margin:14px 0;font-size:17px;border-radius:13px}
#stage .briefing .tools{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:8px;justify-content:stretch}
#stage .briefing .tools>button{min-height:44px;padding:9px;font-size:14px;border-radius:11px}
#stage .briefing .tools>label{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px;font-size:14px;border-radius:12px;color:#c8d2e4}
#stage .briefing .tools>label:has(#controller-mode){grid-column:1/-1}
#stage .tools .game-choice summary{font-size:14px;padding:8px;min-height:44px}
#stage .game-help{margin:16px 0;padding:12px 0;border-top:1px solid #8795b433;border-bottom:1px solid #8795b433;color:#bdc9dc}
#stage .game-help>summary{cursor:pointer;font-size:14px;font-weight:700;padding:5px 0;color:#e9c2df}
#stage .briefing #zone-description{font-size:14px;color:#a6c9ce;margin:6px 0}
#stage .mission-select input{height:46px;border-radius:12px;padding:10px 12px;background:#26334b}
@media(max-width:650px){#stage .overlay{padding:12px}#stage .briefing{padding:18px;border-radius:18px}#stage .briefing .eyebrow{font-size:12px}#stage .briefing .mission-select{width:100%;margin:10px 0}}
