/* MUXX game shell: scene-first launcher, modal navigation, reduced racing HUD. */
:root{--game-panel:#0b1018ed;--game-gold:#d8bd82;--safe-top:max(10px,env(safe-area-inset-top));--safe-left:max(14px,env(safe-area-inset-left));--safe-right:max(14px,env(safe-area-inset-right))}
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}button,canvas,#hud,#hud *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}input:not([type=range]):not([type=checkbox]),textarea,[contenteditable=true],[data-allow-selection]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}a{-webkit-touch-callout:default}#hud,#touch,#touch button,#shift-buttons,#shift-buttons button{touch-action:none}img{-webkit-user-drag:none}button:focus-visible,summary:focus-visible{outline:2px solid #edce8d;outline-offset:3px}
body header{height:80px;padding:14px 30px;gap:22px;background:linear-gradient(#05080ce8,#05080c60,transparent)}header .edition,header .account>button,#language-select,#sound-dock,#menu>footer{display:none}header img{width:178px}header .account{margin:0 160px 0 auto;max-width:none;gap:20px}header .account b{font-size:17px;display:block}header .account>span{display:block;font-size:12px;letter-spacing:1px}#game-menu-toggle{display:flex;align-items:center;gap:10px;background:#101722b3;border:1px solid #ffffff25;min-height:44px;padding:10px 14px;font-size:14px;white-space:nowrap}#game-menu-toggle>span:first-child{font-size:20px}#controls-toggle{top:18px;right:30px;width:128px;height:44px;font-size:14px;border-radius:3px;background:#101722b3;border-color:#ffffff25}
body #menu{height:calc(100dvh - 80px);padding:14px 30px 0}body #panel{max-height:calc(100dvh - 114px);padding:24px;background:linear-gradient(135deg,#0c131bee,#0b1119d9);border:1px solid #ffffff17;border-top:2px solid #d7b97966;border-radius:3px;scrollbar-width:thin;overscroll-behavior:contain}body #panel h1{font-size:32px}body #panel p{line-height:1.6}.proof-menu .car-caption{display:none}body.proof-menu #panel{width:370px;padding:16px 0 20px;background:none;border:0;max-height:calc(100dvh - 112px)}.game-home h1{font-size:clamp(34px,3.8vw,58px)!important;font-style:italic;font-weight:850;letter-spacing:-1px;line-height:1!important;margin:10px 0 25px!important;color:#faf9f3}.game-home .eyebrow{font-size:12px;letter-spacing:2px;margin:0 0 8px;color:#dcc690}.home-race{display:flex;align-items:center;justify-content:space-between;min-height:60px;text-align:left;padding:15px 21px;font-size:19px;border:0;border-radius:3px;background:linear-gradient(110deg,#d5b375,#f0dbab)}.home-race b{font-size:25px;font-weight:400}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.home-grid button{min-height:81px;text-align:left;background:linear-gradient(120deg,#1b2732dd,#0c141ddd);border:1px solid #ffffff28;border-radius:3px;padding:14px 17px}.home-grid small{display:block;font-size:12px;letter-spacing:1px;color:#acb6c0;margin-bottom:8px}.home-grid strong{font-weight:500;font-size:17px}.home-grid button:hover{border-color:#d8bd82;background:#25333f}.home-utilities{display:flex;gap:3px;margin:13px 0}.home-utilities button{flex:1;font-size:14px;padding:9px 4px;min-height:44px;border:0;background:#101924b8;color:#cbd1d6}.showroom-extras{border-top:1px solid #ffffff1c;margin-top:12px;padding-top:5px}.showroom-extras summary{min-height:44px;cursor:pointer;font-size:14px;color:#aebac3;display:list-item;align-content:center;margin-left:15px}.showroom-extras .asset-credit{display:inline-block;margin-top:15px}.game-home .drive-mode-card{display:none}
#navigation-dialog{width:min(620px,calc(100vw - 32px));max-width:none;padding:26px;border:1px solid #bb9b5766;border-radius:5px;background:#0b111af7;color:#f5f3ed;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 25px 100px #0009}#navigation-dialog::backdrop{background:#02050bba;backdrop-filter:blur(10px)}.navigation-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.navigation-heading small{font-size:12px;letter-spacing:3px;color:#cdb379}.navigation-heading h2{margin:7px 0 0;font-size:27px;font-weight:500}.navigation-heading button{font-size:26px;min-width:44px;height:44px;padding:0;background:transparent;border-color:#ffffff25}#navigation-dialog nav{position:static;display:grid;grid-template-columns:1fr 1fr;width:100%;height:auto;padding:0;gap:10px;background:none;border:0;white-space:normal;overflow:visible;counter-reset:game-link}#navigation-dialog nav button{min-height:74px;text-align:left;border:1px solid #ffffff20;border-radius:3px;padding:14px 18px;background:#15202ccc;letter-spacing:0;font-size:16px;color:#dce0e3}#navigation-dialog nav button::before{counter-increment:game-link;content:'0' counter(game-link);font-size:12px;color:#8a9aa8;display:block;margin-bottom:8px}#navigation-dialog nav button.active{background:#c2a15c1d;border-color:#d6b879;color:#efd69f}
#dialog{background:linear-gradient(135deg,#15202cf7,#080e16fa);border:1px solid #c9a96a77;border-radius:5px;padding:28px;width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overscroll-behavior:contain}#dialog::backdrop{background:#020509ae;backdrop-filter:blur(8px)}#dialog h2{font-size:30px;font-weight:500}#dialog p{font-size:15px}#dialog button{min-height:46px;border-radius:3px;font-size:15px}#dialog #resume,#dialog #restart,#dialog #quit,#dialog #pause-settings{display:block;width:100%;margin-top:10px;text-align:left;padding:14px 18px}#control-done{position:sticky;top:0;z-index:2;box-shadow:0 -12px 15px #101923}.settings-extras label{font-size:15px;gap:10px}#dialog details.settings-group{border-top:1px solid #ffffff20;padding:10px 0;margin-top:10px}#dialog details.settings-group>summary{font-size:17px;min-height:44px;cursor:pointer;align-content:center;color:#e6cd98}#dialog details.settings-group>div{padding:8px 0 12px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.display-settings{display:grid;gap:12px}.display-settings label{display:flex;align-items:center;justify-content:space-between}.display-settings select{padding:10px;background:#111d28;color:#eee;border:1px solid #ffffff35;min-height:44px;font:inherit;max-width:65%}.display-settings button{width:100%}
body.racing header,body.racing #controls-toggle{display:none!important}body.racing #menu{display:none}body.racing .race-top{top:var(--safe-top)!important;left:var(--safe-left);right:calc(var(--safe-right) + 64px);padding:0!important;background:none!important;border:0;gap:10px;justify-content:flex-start;align-items:flex-start;pointer-events:none}.race-top .position-box,.race-top .lap-box{background:#080e17b3;border:1px solid #ffffff26;border-top:2px solid #d6b87999;border-radius:3px;padding:9px 12px;min-width:74px}.race-top .position-box small,.race-top .lap-box small{color:#c6cdd4;font-size:12px;letter-spacing:1px}.race-top .position-box strong,.race-top .lap-box h2{font-size:25px;margin:4px 0 0;line-height:1.1;color:#fff;font-weight:600}.race-top #race-session,.race-top #event-title{display:none}.race-top .timing{margin-left:auto;background:#080e1799;border-radius:3px;padding:8px 12px;gap:3px}.race-top .timing small{font-size:12px;letter-spacing:.6px;color:#bdc6ce}.race-top .timing b{font-size:22px;line-height:1.2}.race-top .timing>div{display:flex;gap:12px;align-items:center}.race-top .timing-extra{display:none!important}body.racing .pause{position:fixed;top:var(--safe-top)!important;right:var(--safe-right);width:48px;height:48px;min-height:48px;z-index:21;padding:0;font-size:0;border:1px solid #ffffff35;border-radius:3px;background:#101923bb}body.racing .pause::after{content:'Ⅱ';font-size:23px;color:#fff}body.racing #camera-quick{display:none}body.racing .view-controls{display:none}body.racing .sector-strip{top:100px}body.racing #story-live{top:94px;font-size:12px;background:#070e17a1;padding:5px 12px;border-radius:3px;max-width:70vw}body.racing #drift-readout:not(.active){display:none}body.racing #drift-readout{top:150px;background:#0a101a66;padding:8px 12px}.car-health b.worn{color:#ffc078}
@media(max-width:1100px),(pointer:coarse){
 body header{height:64px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:12px}header img{width:112px}header .account{margin-right:104px;gap:0}header .account>span{display:none}header .account b{font-size:14px}#game-menu-toggle{min-width:44px;width:44px;height:44px;padding:0;justify-content:center}#game-menu-toggle>span:last-child{display:none}#controls-toggle{top:10px;right:max(12px,env(safe-area-inset-right));width:94px;height:44px;min-height:44px;font-size:14px;padding:8px}body #menu{height:calc(100dvh - 64px);padding:12px 16px 0}body #panel{max-height:calc(100dvh - 94px)}
 body.racing:not(.hud-detailed) .sector-strip,body.racing:not(.hud-detailed) #map,body.racing:not(.hud-detailed) .car-health,body.racing:not(.hud-detailed) #condition,body.racing:not(.hud-detailed) #handbrake-state,body.racing:not(.hud-detailed) .pedals,body.racing:not(.hud-detailed) .rpm-caption,body.racing:not(.hud-detailed) #shift-light,body.racing:not(.hud-detailed) .dial>svg,body.racing:not(.hud-detailed) .timing>div:nth-child(2){display:none!important}
 body.racing:not(.hud-detailed) .telemetry{position:fixed;width:138px;height:72px;left:50%;right:auto;bottom:calc(max(16px,env(safe-area-inset-bottom)) + var(--visual-bottom,0px));transform:translateX(-50%)!important;padding:0 8px;border:0;border-radius:5px;background:linear-gradient(0deg,#08101bd4,#08101b00);z-index:9}body.racing:not(.hud-detailed) .telemetry .dial{width:100%;height:72px;display:block;position:relative;padding:0;background:none}body.racing:not(.hud-detailed) .speed-readout{position:absolute;inset:4px 0 0;display:grid;grid-template-columns:1fr 30px;grid-template-rows:42px 16px;gap:0 7px;align-items:center;text-align:right}body.racing:not(.hud-detailed) .speed-readout #speed{font-size:40px;font-style:normal;line-height:1;font-weight:550;grid-column:1;grid-row:1}body.racing:not(.hud-detailed) .speed-readout small{font-size:12px;grid-column:1;grid-row:2;letter-spacing:1px}body.racing:not(.hud-detailed) .speed-readout #gear{font-size:29px;color:#e2c280;grid-column:2;grid-row:1 / 3;align-self:center}
 body.racing #touch{position:fixed;display:grid!important;grid-template-columns:60px 60px 1fr 56px 64px 70px;gap:9px;left:var(--safe-left);right:var(--safe-right);bottom:clamp(54px,calc(var(--button-lift,88px) + env(safe-area-inset-bottom) + var(--visual-bottom,0px)),32dvh);height:70px;pointer-events:none;align-items:end;z-index:16}body.racing #touch button{pointer-events:auto;width:100%;min-width:0;height:64px;min-height:64px;margin:0!important;padding:8px 5px;font-size:15px;border-radius:12px;color:#eef3f7;background:#d7e0e912;border:1px solid #eef5ff55;box-shadow:inset 0 1px 0 #ffffff18;backdrop-filter:blur(3px)}body.racing #touch button:nth-child(1){grid-column:1}body.racing #touch button:nth-child(2){grid-column:2}body.racing #touch button:nth-child(3){grid-column:4;height:50px;min-height:50px;font-size:14px}body.racing #touch button:nth-child(4){grid-column:5}body.racing #touch button:nth-child(5){grid-column:6;height:70px;background:#dae5ef1c}body.racing #touch button.pressed{color:#fff1c9;background:#b3904799;border-color:#f6d590;box-shadow:0 0 20px #e3bd6730}body.racing .shift-buttons{position:fixed;left:var(--safe-left);right:auto;transform:none;bottom:calc(clamp(54px,calc(var(--button-lift,88px) + env(safe-area-inset-bottom) + var(--visual-bottom,0px)),32dvh) + 82px);gap:9px;z-index:16}body.racing .shift-buttons button{width:60px;height:44px;min-height:44px;font-size:22px;border-radius:8px;background:#d7e0e912;border-color:#eef5ff55}body.racing .shift-buttons small{display:none}
 body.racing .race-top{gap:7px}.race-top .position-box,.race-top .lap-box{min-width:60px!important;padding:7px 9px!important}.race-top .timing{padding:7px 9px}.race-top .timing>div{flex-direction:column;align-items:flex-end;gap:3px}.race-top .timing b{font-size:19px}.race-top .position-box strong,.race-top .lap-box h2{font-size:23px!important}body.racing .pause{width:44px;height:44px;min-height:44px}body.racing #drift-readout{top:96px;left:var(--safe-left);padding:5px 10px}body.racing #drift-readout small,body.racing #drift-readout span{display:none}body.racing #drift-readout b{font-size:21px}body.racing #story-live{top:86px;max-width:calc(100vw - 28px);width:max-content;font-size:12px;line-height:1.5}body.racing.license-trial #drift-readout{display:none}
}
@media(max-width:760px) and (orientation:portrait){
 body #menu{position:static;padding:0}body #panel{position:fixed;top:43dvh;left:0;right:0;bottom:0;width:100%;max-height:none;border-radius:16px 16px 0 0;padding:20px 18px calc(22px + env(safe-area-inset-bottom));border-top:1px solid #d7b97955}body.proof-menu #panel{top:43dvh;bottom:0;width:100%;max-height:none;padding:17px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#0b111aeb,#080d14);border-top:1px solid #d7b97955;border-radius:16px 16px 0 0}.game-home .eyebrow{font-size:12px}.game-home h1{font-size:28px!important;margin:0 0 14px!important;line-height:1!important}.game-home h1 br{display:none}.home-race{min-height:54px;font-size:18px}.home-grid{gap:8px;margin-top:10px}.home-grid button{min-height:67px;padding:11px 13px}.home-grid small{font-size:12px;margin-bottom:5px;letter-spacing:.5px}.home-grid strong{font-size:16px}.home-utilities{margin:9px 0;gap:5px}.home-utilities button{font-size:14px}.showroom-extras{margin-top:6px}body.ranking-menu #panel,body.story-menu #panel,body.trophies-menu #panel,body.academy-menu #panel{top:76px;max-height:none;border-radius:0;border:0}.ranking-shell h1{font-size:29px!important}.game-home .drive-mode-card{display:none!important}
 body.racing #touch{grid-template-columns:48px 48px minmax(0,1fr) 46px 52px 57px;gap:6px;height:65px;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}body.racing #touch button{height:58px;min-height:58px;font-size:14px}body.racing #touch button:nth-child(3){font-size:12px;height:46px;min-height:46px}body.racing #touch button:nth-child(5){height:65px}body.racing .shift-buttons{gap:6px;left:max(10px,env(safe-area-inset-left))}body.racing .shift-buttons button{width:48px}body.racing .race-top{left:10px;right:64px;gap:5px}.race-top .position-box,.race-top .lap-box{min-width:54px!important;padding:7px!important}.race-top .timing{padding:7px}.race-top .timing b{font-size:17px}.race-top .position-box strong,.race-top .lap-box h2{font-size:21px!important}
 #navigation-dialog{padding:20px}#navigation-dialog nav button{padding:12px;font-size:15px;min-height:72px}.navigation-heading{margin-bottom:17px}#dialog{padding:21px}#dialog h2{font-size:25px}
}
@media(max-height:540px) and (orientation:landscape){
 body header{height:58px;padding-top:7px;padding-bottom:7px}body #menu{height:calc(100dvh - 58px);padding-top:5px}#controls-toggle{top:7px}body #panel{max-height:calc(100dvh - 72px);padding:16px 20px}body.proof-menu #panel{padding:8px 0 15px;width:310px;max-height:calc(100dvh - 70px)}.game-home .eyebrow{display:none}.game-home h1{font-size:28px!important;margin:0 0 12px!important}.game-home h1 br{display:none}.home-race{min-height:48px;padding:10px 15px;font-size:17px}.home-grid{gap:6px;margin-top:8px}.home-grid button{min-height:50px;padding:8px 12px}.home-grid small{display:none}.home-grid strong{font-size:15px}.home-utilities{margin:7px 0}.home-utilities button{font-size:13px;min-height:40px}.showroom-extras{margin-top:3px}.showroom-extras summary{font-size:13px;min-height:38px}body.racing #story-live{top:76px;max-width:66vw}#navigation-dialog{padding:18px 24px}.navigation-heading{margin-bottom:12px}.navigation-heading h2{font-size:23px}#navigation-dialog nav{grid-template-columns:repeat(4,1fr)}#navigation-dialog nav button{min-height:68px;font-size:14px;padding:10px}#navigation-dialog nav button::before{margin-bottom:6px}
}
@media(max-width:359px) and (orientation:portrait){header img{width:82px}header .account{display:none}#controls-toggle{width:90px}body.racing #touch{grid-template-columns:43px 43px minmax(0,1fr) 42px 45px 49px;gap:5px}body.racing #touch button{font-size:13px}.game-home h1{font-size:25px!important}.home-grid strong{font-size:15px}}
@media(prefers-reduced-motion:no-preference){#navigation-dialog[open],#dialog[open]{animation:game-panel-in .18s ease-out}@keyframes game-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.home-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-balance{display:none;font-size:13px;color:#e5cca0;white-space:nowrap}
@media(max-width:760px) and (orientation:portrait){body header .account{display:none}.home-balance{display:block}.home-heading .eyebrow{font-size:12px;letter-spacing:1px}}
/* Keep compact timing cards inside even a 320px phone viewport. */
.race-top .position-box,.race-top .lap-box{flex-shrink:0;white-space:nowrap}.race-top .timing{min-width:0}.race-top .position-box>small,.race-top .lap-box>small{letter-spacing:1px!important}
@media(max-width:600px) and (orientation:portrait){.race-top .position-box>small,.race-top .lap-box>small{font-size:10px!important}.race-top .timing small{font-size:10px;letter-spacing:0}.race-top .timing b{font-size:16px!important}.race-top .timing{padding:7px 3px}}


#dialog .drive-guide{display:grid;gap:14px}
#dialog .drive-guide h2{margin:0}
#dialog .drive-guide .control-hint{font-size:14px;line-height:1.6;margin:0}
#dialog .drive-guide-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#dialog .drive-guide-modes span,#dialog .drive-guide-cameras span{display:grid;place-items:center;min-height:44px;padding:8px;border:1px solid #ffffff26;background:#101923;color:#e8e1d1;text-align:center;font-size:13px}
#dialog .drive-guide-camera{display:grid;gap:8px}
#dialog .drive-guide-cameras{display:flex;flex-wrap:wrap;gap:6px}
#dialog .drive-guide-cameras span{flex:1 1 82px;border-radius:3px}
#dialog .drive-guide-cameras span.selected{border-color:#d8bd82;color:#f2dba7;background:#c2a26024}
#dialog .drive-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
#dialog .drive-guide-actions button{min-width:0;min-height:48px}
