/* Pit lane: menu and waiting surfaces. The driving HUD keeps its own palette. */
body[data-state=garage],body[data-state=loading]{--menu-lime:#d6fa50;--menu-ink:#101713;--menu-panel:#17221dea;--menu-line:#ffffff21;color:#f3f5e9;background:var(--menu-ink)}
body[data-state=garage] .vignette,body[data-state=loading] .vignette{background:linear-gradient(90deg,#0d171af2,transparent 47%,#101713e8 70%),linear-gradient(0deg,#101713 3%,#10171310 52%,#101713e8 97%);opacity:1}
body[data-state=garage] .topbar,body[data-state=loading] .topbar{top:20px;left:4%;right:4%;height:48px;color:#f3f5e9}
body[data-state=garage] .wordmark b,body[data-state=garage] .wordmark svg,body[data-state=loading] .wordmark b,body[data-state=loading] .wordmark svg{color:#d6fa50}
body[data-state=garage] .header-location{letter-spacing:1px;color:#c1cdbf;font-size:9px}
body[data-state=garage] .header-location i{background:#d6fa50}
body[data-state=garage] .header-location span{color:#90a093;margin-left:4px}
body[data-state=garage] .icon-button{border-color:#ffffff26;background:#14201ccc;border-radius:6px}
body[data-state=garage] #help{border-color:#ffffff40;min-width:40px;min-height:40px;border-radius:6px}
body[data-state=garage] #garage{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,380px);grid-template-rows:auto auto;gap:20px 5%;padding:104px 5% 20px;align-items:start;isolation:isolate}
#garage .garage-setup{grid-column:1;grid-row:1;width:100%;margin:0;min-width:0}
#garage .hero-copy{max-width:none;width:100%;margin:0;position:relative;inset:auto}
#garage .hero-copy>.eyebrow{color:#bbc9b8;font-size:9px;letter-spacing:2px;display:flex}
#garage .red-rule{background:#d6fa50;width:32px}
#garage .hero-copy h1{font:800 italic clamp(48px,6.2vw,90px)/.87 var(--display);letter-spacing:-1px;margin:22px 0 0;white-space:normal;color:#f3f5e9}
#garage h1 em{color:#d6fa50}
.garage-stage{position:relative;height:clamp(190px,29vh,310px);min-width:0;margin:10px 0 12px;pointer-events:none}
.stage-corner{position:absolute;width:24px;height:24px;border-color:#c4d7b64d;border-style:solid}
.stage-corner-a{top:10px;left:0;border-width:1px 0 0 1px}.stage-corner-b{bottom:25px;right:0;border-width:0 1px 1px 0}
.stage-stamp{position:absolute;right:0;bottom:2px;font:8px var(--mono);letter-spacing:1.3px;color:#b5c6b4}
#garage .car-caption{display:flex;position:absolute;left:0;right:auto;bottom:0;top:auto;gap:10px;color:#f5f6e9}
#garage .caption-line{display:none}#garage .car-caption div{gap:3px}#garage .car-caption small{font-size:7px;color:#b4c4b4;letter-spacing:1.5px}#garage .car-caption strong{font-size:30px;line-height:1}#garage .car-caption div>span{color:#c6d5bc;font-size:9px}
.garage-section-label{display:flex;justify-content:space-between;gap:8px;color:#a9b9a4;font:8px var(--mono);letter-spacing:1px;margin:20px 0 9px}
#garage .garage-car-picker{gap:8px}
#garage .ride-card{min-height:81px;border:1px solid #ffffff2b;background:#16221ef2;color:#f0f5e7;box-shadow:none;border-radius:8px;padding:10px 13px;gap:4px;transition:background .16s,border-color .16s,transform .16s}
#garage .ride-card strong{font-size:31px}#garage .ride-number{font-size:8px;color:#a7b89f}#garage .ride-spec{font-size:8px;letter-spacing:0}
#garage .ride-card[aria-pressed=true]{border-color:#d6fa50;background:#d6fa50;color:#101713;box-shadow:0 0 22px #d6fa5013}
#garage .ride-card[aria-pressed=true] .ride-number{color:#3a471b}#garage .ride-card:hover{border-color:#d6fa50;transform:translateY(-2px)}
#garage .garage-plate{grid-template-columns:minmax(0,1fr) 160px;margin-top:14px;gap:6px 12px;background:#101b18d9;padding:12px;border:1px solid #ffffff1a;border-radius:8px}
#garage .plate-label{font-size:9px;color:#c7d2bf;letter-spacing:1px}#garage .plate-label span{color:#9ead9d;font-size:8px}
#garage #number-plate{height:40px;background:#0e1713;border:1px solid #61705a;color:#f0f5e7;border-radius:4px;font-size:16px}
#garage #plate-help{color:#a2b19d;font-size:10px}
#garage .plate-preview{height:40px}#garage .plate-preview strong{font-size:23px}
#garage .race-entry{display:block;width:100%;margin:12px 0 0;padding:0;background:#14211be8;border:1px solid #ffffff1f;border-radius:8px;backdrop-filter:none;box-shadow:none;min-height:0;position:relative;inset:auto}
#garage .race-options{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin:0;padding:12px 14px;gap:16px;border:0}
#garage .paint-picker{flex:1;min-width:0}#garage .choose-car{font-size:10px;color:#d6fa50;padding:0 0 9px;min-height:28px}
#garage .paint-picker label{font-size:9px;color:#c0ceb8}#garage .paint-picker label span{color:#a3b39e;font-size:9px;float:none;margin-left:10px}
#garage .paints{gap:12px;margin-top:9px}#garage .paint-swatch{width:26px;height:26px;border-color:#17251c;outline-color:#728367}
#garage .paint-swatch[aria-pressed=true]{outline:2px solid #d6fa50}
#garage .personal-best{display:block;font-size:8px;text-align:right;color:#9bad97;white-space:nowrap}#garage .personal-best b{display:block;color:#f0f5e7;font:15px var(--mono);margin-top:7px}
#garage .launch-form{grid-column:2;grid-row:1;position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"title title" "actions actions" "name difficulty" "circuit circuit" "recommend recommend" "world world" "help help" "controls controls" "error error";gap:17px 12px;align-items:start;margin:0;padding:24px;background:#142019f5;border:1px solid #ffffff26;border-top:3px solid #d6fa50;border-radius:12px;box-shadow:0 16px 60px #0003;backdrop-filter:none}
.launch-heading{grid-area:title}.launch-heading .eyebrow{font-size:8px;color:#b0c1a5;letter-spacing:2px}.launch-heading h2{font:800 italic 48px/.95 var(--display);letter-spacing:-.5px;margin:10px 0 8px;color:#f5f8ea}.launch-heading p{font-size:12px;line-height:1.5;margin:0;color:#a7b7a0}
#garage .launch-actions{grid-area:actions;display:grid;grid-template-columns:1fr;gap:8px}
#garage .launch-form #start{font-size:32px;min-height:62px;background:#d6fa50;color:#14200e;border:1px solid #e5ff8b;border-radius:6px;padding:14px 18px;box-shadow:0 5px 0 #768d26;letter-spacing:.4px}
#garage .launch-form #start:hover{background:#e1ff76;transform:translateY(-2px)}#garage .launch-form #start:active{transform:translateY(2px);box-shadow:0 2px 0 #768d26}
#garage .launch-leaderboard{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:46px;background:#243124;color:#f0f5e7;border:1px solid #ffffff3b;border-radius:6px;text-decoration:none;font:700 21px var(--display);padding:10px 15px;letter-spacing:.8px}
#garage .launch-leaderboard:hover{background:#33432d;border-color:#d6fa50}#garage .launch-leaderboard span{color:#d6fa50}
#garage .ios-download{grid-column:1/-1;display:flex;align-items:center;gap:14px;min-width:0;min-height:94px;margin-top:5px;padding:14px 16px;border:1px solid #d6fa5080;border-radius:7px;background:#0e1812;color:#f3f5e9;text-decoration:none;transition:background .16s,border-color .16s}
#garage .ios-download:hover{background:#20301b;border-color:#d6fa50}
.ios-download-icon{width:25px;height:34px;flex:none;color:#d6fa50}
.ios-download-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.ios-download-copy>small{color:#d6fa50;font:8px var(--mono);letter-spacing:1.3px}
.ios-download-copy>strong{font:700 26px/1 var(--display)}
.ios-download-copy>span{color:#d5e1c9;font:12px/1.4 var(--body)}
.ios-download-copy>span>span{margin-left:5px;color:#d6fa50}
#garage .launch-form label{color:#b4c4a9;font-size:9px;letter-spacing:1px;min-height:0}#garage .launch-name>span{display:inline;color:#8e9f86;font-size:7px}
#garage .launch-form input,#garage .launch-form select{height:44px;font:16px var(--body);border-radius:5px;border:1px solid #69745d;background:#0f1912;color:#f2f6e8;padding:9px 10px;margin-top:7px;color-scheme:dark}#garage .launch-form input::placeholder{color:#9fab96}
#garage .launch-form .circuit-card{grid-area:circuit;display:flex;align-items:center;gap:8px;padding:14px 10px;background:#202d20;border:1px solid #ffffff20;border-radius:7px}
#garage .circuit-drawing{display:block;width:95px;flex:none}#garage .circuit-drawing svg{height:74px}#garage .circuit-drawing>span{color:#b7c6a4;font-size:8px}
#garage .circuit-description{min-width:0;width:100%}#garage .circuit-description .eyebrow{color:#b7c6a4;font-size:7px;letter-spacing:1px}
#garage .circuit-description #circuit{height:42px;font:700 28px var(--display);width:100%;max-width:none;margin:3px 0 6px;border:0;padding:0 20px 0 0;background:transparent;color:#f1f6e8}
#garage .circuit-description p{font-size:8px;gap:6px;color:#d0dbc4;letter-spacing:0}#garage .weather{color:#adbc9d;font-size:8px;margin-top:9px}
#garage .room-recommendation{grid-area:recommend;display:flex;flex-wrap:wrap;align-items:center;gap:13px;justify-content:space-between;padding:14px;background:#101a12;border:1px solid #93ac535e;border-radius:7px}
#garage .room-recommendation-copy{display:flex;flex-direction:column;gap:5px;min-width:0}#garage .room-recommendation-kicker{color:#d6fa50;font:8px var(--mono);letter-spacing:1px}#garage .room-recommendation-copy strong{color:#f1f6e7;font:700 22px var(--display);margin:0}#garage .room-recommendation-copy small{color:#a8b89b;font-size:11px}
#garage .room-recommendation button{min-height:44px;width:auto;border:1px solid #d6fa5080;background:#d6fa5014;color:#d6fa50;padding:8px 12px;border-radius:5px;font:700 18px var(--display)}
#garage .launch-help{display:flex;flex-direction:column;align-items:stretch;gap:10px;color:#a0b194;font-size:11px;line-height:1.4}
#garage .launch-help strong{display:flex;flex-wrap:wrap;padding:10px;background:#0e1810;color:#eef6df;border:1px solid #ffffff1f;box-shadow:none;font-size:9px;gap:6px;border-radius:5px;margin:0;letter-spacing:0}
#garage .online-total{flex-basis:calc(100% - 22px);margin:0 0 3px}#garage .online-circuit{flex:1;text-align:center;font-size:9px;padding:5px 3px;border-color:#a0b68c3b;color:#bdcdb0;border-radius:3px}#garage .online-circuit[data-current=true]{background:#d6fa50;color:#1b2613;border-color:#d6fa50}
#garage .launch-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}#garage .launch-practice{min-height:40px;padding:8px;border:1px solid #ffffff26;border-radius:5px;font-size:11px;color:#d9e5ce;text-align:center}#garage .launch-controls{grid-column:1/-1;grid-row:2;min-height:34px;justify-self:stretch;text-align:center;color:#a9b99d;font-size:11px;padding:10px}#garage .launch-controls span{color:#d6fa50}
#garage .launch-error{color:#ffaf94;font-size:12px;margin:0}#garage .launch-error:empty{display:none}
#garage .garage-footer{grid-column:1/-1;grid-row:2;position:relative;inset:auto;margin:4px 0 0;padding-top:18px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:12px;color:#96a78d;font-size:8px}
#garage .garage-footer b{color:#d6fa50}#garage .garage-footer>span{max-width:none}#garage .garage-footer nav{display:flex;gap:16px;align-items:center}#garage .garage-footer button{color:#bacbb0}
#garage :is(a,button,input,select):focus-visible{outline:2px solid #d6fa50;outline-offset:3px}
/* Waiting screens share the garage's instrument-panel language. */
.loading{background:#0e1712;color:#f3f6e9;overflow:hidden;padding:32px!important}
.loading::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(120deg,transparent 0 120px,#d6fa5004 121px 122px),radial-gradient(ellipse at 50% 40%,#334b213b,transparent 65%)}
.load-topline,.load-bottomline{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font:9px var(--mono);letter-spacing:1.5px;color:#93a687;z-index:1}.load-topline{top:32px}.load-bottomline{bottom:30px}
.load-content{width:min(480px,100%);z-index:1;text-align:left}.load-content>.eyebrow{color:#bfcdaf;font-size:9px;letter-spacing:2px}
.loading .load-brand{font:800 italic clamp(56px,10vw,94px)/.95 var(--display);letter-spacing:-1.5px;margin:17px 0 0;white-space:nowrap;animation:none}.loading .load-brand em{color:#d6fa50}.load-brand>span{display:block;font:9px var(--mono);letter-spacing:3px;color:#adbe9e;margin-top:13px}
.load-circuit{position:relative;margin:30px 0 25px}.load-circuit svg{width:100%;height:150px;overflow:visible}.load-road,.load-runner{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.load-road{stroke:#65805250;stroke-width:9}.load-runner{stroke:#d6fa50;stroke-dasharray:9 91;animation:circuit-lap 2.8s linear infinite}.load-circuit>span{position:absolute;inset:55% 0 auto;text-align:center;color:#7e9772;font:8px var(--mono);letter-spacing:3px}
.load-status{display:flex;justify-content:space-between;gap:10px;align-items:center;font:10px var(--mono);letter-spacing:.5px;min-height:24px;color:#d3dfc7}.loading .load-grid{display:flex;gap:4px;margin:0;height:14px;transform:skewX(-15deg);flex-shrink:0}.loading .load-grid i{width:5px;height:12px;background:#d6fa50}
.loading .loading-track{width:100%;height:5px;margin-top:12px;background:#d6fa5019;border-radius:2px}.loading-track #load-fill{background:#d6fa50}.loading .loading-track i::after{background:linear-gradient(90deg,transparent,#ffffff80,transparent)}
.load-stages{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font:8px var(--mono);color:#819774;letter-spacing:.7px}
.loading[data-phase=models] [data-step=models],.loading[data-phase=scene] [data-step=scene],.loading[data-phase=ready] [data-step=ready]{color:#d6fa50}
.loading .load-tip{margin:28px 0 0;padding-top:16px;border-top:1px solid #ffffff1a;color:#aabc9b;font:12px/1.6 var(--body)}.load-tip b{display:block;color:#d6fa50;font:8px var(--mono);letter-spacing:2px;margin-bottom:5px}
.game-dialog{--ink:#f0f5e9;--muted:#a3b697;--line:#ffffff24;border:1px solid #788c624d;border-top:3px solid #d6fa50;border-radius:12px;background:#131f17fa;color:#e9f1df;box-shadow:0 20px 90px #0008;padding:30px}
.game-dialog::backdrop{background:#040e0abf;backdrop-filter:blur(5px)}.game-dialog .eyebrow{color:#b3c6a3}.game-dialog h2{color:#f0f5e9}.game-dialog>p,.game-dialog .help-tip{color:#aabd9c}.game-dialog .primary{background:#d6fa50;color:#14210d;border-radius:5px;min-height:48px}.game-dialog .primary:hover{background:#e0ff76}.game-dialog :is(a,button,input):focus-visible{outline-color:#d6fa50}.game-dialog .text-button{color:#d6fa50}.game-dialog .dialog-actions{gap:14px}.game-dialog .dialog-actions button{border-color:#8da77470;min-height:40px;text-align:left}.game-dialog .volume-label input{accent-color:#d6fa50}
.multiplayer-dialog h2,#start-dialog h2{font-size:58px;margin:20px 0}.multiplayer-dialog .multiplayer-clock{border-color:#ffffff24;padding:12px 0}.multiplayer-dialog .multiplayer-clock strong{color:#d6fa50;font-size:68px}.multiplayer-roster{counter-reset:seat}.multiplayer-roster li{counter-increment:seat;align-items:center;padding:10px 0;font-size:14px}.multiplayer-roster li::before{content:'0' counter(seat);font:10px var(--mono);color:#6f865f}.multiplayer-roster li strong{margin-right:auto}.multiplayer-roster li span{color:#a7bc98}.multiplayer-dialog #multiplayer-preparing::before{background:#d6fa50}.wait-line{background:#d6fa501a}.wait-line i{background:#d6fa50}
.lobby-beacon{width:7px;height:7px;border-radius:50%;background:#d6fa50;box-shadow:0 0 0 4px #d6fa5015}.lobby-visual{display:flex;gap:6px;margin:10px 0 18px;height:7px}.lobby-visual i{height:100%;flex:1;background:#d6fa5040;transform:skewX(-18deg);animation:lobby-signal 2s ease-in-out infinite}.lobby-visual i:nth-child(2){animation-delay:.15s}.lobby-visual i:nth-child(3){animation-delay:.3s}.lobby-visual i:nth-child(4){animation-delay:.45s}.lobby-visual i:nth-child(5){animation-delay:.6s}
.game-dialog .vehicle-picker button{border-color:#8da77470;color:#e9f1df;border-radius:4px}.game-dialog .vehicle-picker button[aria-pressed=true]{background:#d6fa50;color:#14200e}.game-dialog #vehicle-description,.game-dialog .vehicle-facts span,.game-dialog .preview-angles button{color:#b3c5a4}.game-dialog .preview-angles button[aria-pressed=true]{color:#d6fa50;border-color:#d6fa50}.game-dialog .vehicle-facts b{color:#f1f5e9}
@keyframes circuit-lap{to{stroke-dashoffset:-100}}@keyframes lobby-signal{0%,100%{background:#d6fa5029}40%{background:#d6fa50}}
@media(min-width:1450px){body[data-state=garage] #garage{padding-inline:max(5%,calc((100vw - 1350px)/2));gap:30px 6%}}
@media(max-width:1050px) and (min-width:761px){body[data-state=garage] #garage{grid-template-columns:minmax(0,1fr) 330px;gap:20px 3%;padding-inline:3%}#garage .launch-form{padding:18px}#garage .hero-copy h1{font-size:66px}#garage .garage-plate{grid-template-columns:1fr}#garage .plate-preview{display:none}#garage .ride-card{padding:10px 8px}#garage .ride-spec{font-size:7px}#garage .race-options{gap:8px}#garage .paint-picker label span{display:none}#garage .circuit-drawing{width:75px}}
@media(max-width:760px){
 body[data-state=garage] .topbar,body[data-state=loading] .topbar{top:max(12px,env(safe-area-inset-top));left:4%;right:4%;height:42px}.topbar .wordmark{font-size:22px}.topbar .wordmark small{font-size:6px;letter-spacing:1.8px}.topbar .wordmark svg{width:22px}.top-actions{gap:5px}body[data-state=garage] .header-location{display:none}
 body[data-state=garage] #garage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto minmax(68px,auto);gap:12px;padding:calc(max(12px,env(safe-area-inset-top)) + 57px) 4% max(18px,env(safe-area-inset-bottom))}
 #garage .launch-form{display:contents}.launch-heading{display:none}#garage .launch-actions{grid-column:1/-1;grid-row:1;grid-template-columns:1.1fr 1fr;gap:8px}#garage .launch-form #start{min-height:51px;font-size:27px;padding:10px 12px;box-shadow:0 3px 0 #768d26}#garage .launch-leaderboard{font-size:21px;min-height:51px;padding:10px}
 #garage .garage-setup{grid-row:2;grid-column:1/-1;margin:9px 0 0}#garage .hero-copy>.eyebrow{font-size:7px;letter-spacing:1.3px}#garage .hero-copy h1{font-size:44px;line-height:.9;margin:13px 0 0}#garage .hero-copy h1 br{display:none}#garage .hero-copy h1 em{display:block}
 .garage-stage{height:180px;margin:0 0 8px}.stage-stamp{font-size:6px;letter-spacing:.8px}#garage .car-caption strong{font-size:25px}#garage .car-caption div>span{font-size:8px}.garage-section-label{margin:10px 0 8px;font-size:7px}#garage .ride-card{min-height:76px;padding:10px 9px}#garage .ride-card strong{font-size:30px}#garage .ride-spec{font-size:7px}#garage .ride-number{font-size:7px}
 #garage .garage-plate{grid-template-columns:1fr;margin-top:9px;padding:10px}#garage .plate-preview{display:none}#garage #plate-help{font-size:9px}#garage .race-entry{margin-top:8px}#garage .race-options{padding:10px 12px;flex-direction:row}#garage .paint-picker label span{display:none}#garage .personal-best{display:block;font-size:7px}#garage .personal-best b{font-size:12px;margin-top:7px}#garage .choose-car{min-height:24px;padding-bottom:6px}#garage .paint-swatch{width:23px;height:23px}
 #garage .launch-name{grid-area:3/1/4/2}#garage .launch-difficulty{grid-area:3/2/4/3}#garage .launch-form .circuit-card{grid-area:4/1/5/3;padding:12px 16px;gap:18px}#garage .circuit-drawing{width:110px}#garage .circuit-description #circuit{font-size:30px}#garage .room-recommendation{grid-area:5/1/6/3;flex-wrap:nowrap}#garage .room-recommendation-copy strong{font-size:23px}#garage .room-recommendation button{white-space:nowrap;font-size:19px}
 #garage .launch-help{grid-area:6/1/7/3}#garage .launch-links{grid-area:7/1/8/3}#garage .launch-error{grid-area:8/1/9/3}#garage .garage-footer{grid-area:9/1/10/3;font-size:7px;gap:12px;flex-wrap:wrap}#garage .garage-footer nav{gap:15px}#garage .garage-footer button{font-size:7px}
 .load-topline,.load-bottomline{font-size:7px;letter-spacing:.7px}.load-topline span:last-child{display:none}.loading{padding:25px!important}.loading .load-brand{font-size:70px}.load-content>.eyebrow{font-size:8px}.load-status{font-size:9px}.load-stages{font-size:7px}.load-circuit{margin:24px 0 18px}.loading .load-tip{font-size:12px}.game-dialog{padding:24px}.multiplayer-dialog h2,#start-dialog h2{font-size:48px;margin:16px 0}
}
@media(max-width:370px){#garage .launch-form #start{font-size:23px}#garage .launch-leaderboard{font-size:18px}#garage .ride-spec{font-size:6px}#garage .ride-card strong{font-size:27px}.loading .load-brand{font-size:59px}#garage .circuit-drawing{width:84px}#garage .room-recommendation{gap:8px;padding:12px}#garage .room-recommendation-copy strong{font-size:20px}#garage .room-recommendation button{font-size:16px}}
@media(orientation:landscape) and (max-height:550px){body[data-state=garage] #garage{padding-top:78px}#garage .hero-copy h1{font-size:48px}.garage-stage{height:200px}.load-topline{top:15px}.load-bottomline{bottom:15px}.load-content{width:640px;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;align-items:center}.load-content>.eyebrow{grid-column:1}.loading .load-brand{grid-column:1;font-size:62px;margin:0}.load-circuit{grid-column:2;grid-row:1/4;margin:0}.load-circuit svg{height:120px}.load-status{grid-column:1/-1}.loading .loading-track{grid-column:1/-1;margin-top:0}.load-stages{grid-column:1/-1;margin-top:0}.loading .load-tip{grid-column:1/-1;margin-top:8px;padding-top:8px;font-size:11px}.load-tip b{display:inline;margin-right:10px}.game-dialog{max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){.load-runner,.lobby-visual i,.loading .load-grid i{animation:none}.load-runner{stroke-dasharray:100 0}.lobby-visual i{background:#d6fa5070}#garage .ride-card,#garage .launch-form #start{transition:none}}
body[data-state=garage] .vignette{background:linear-gradient(90deg,#10171366,transparent 45%,#101713bb 75%),linear-gradient(0deg,#101713 0%,transparent 50%,#10171370 100%)}
@media(max-width:760px){#garage .launch-name,#garage .launch-difficulty{min-height:68px}#garage .launch-form .circuit-card{margin-top:3px}body[data-state=garage] .vignette{background:linear-gradient(0deg,#101713 0%,#10171300 65%,#10171377 100%)}}

/* Free drive shares the racing garage and controls, with its own open-world entry. */
#garage .free-world-card{grid-area:world;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;background:#122730;border:1px solid #6accdc66;border-radius:7px}
.free-world-card>div{display:flex;flex-direction:column;gap:5px;min-width:0}.free-world-card .eyebrow{font-size:7px;color:#8ddce6;letter-spacing:1px}.free-world-card strong{font:700 22px var(--display);color:#effbfc}.free-world-card small{font-size:9px;color:#adc9ce}.free-world-card a{color:#9cecf1;font:700 17px var(--display);text-decoration:none;white-space:nowrap;padding:9px;border-radius:4px;border:1px solid #6accdc66}.free-world-card a:hover{background:#6accdc24}.free-world-card a:focus-visible{outline:2px solid #d6fa50;outline-offset:3px}
body[data-mode=freeworld] #hud .lap,body[data-mode=freeworld] #hud .timing,body[data-mode=freeworld] #standings{display:none}
body[data-mode=freeworld] .personal-best[hidden],body[data-mode=freeworld] #room-recommendation[hidden],body[data-mode=freeworld] .launch-difficulty[hidden],body[data-mode=freeworld] #multiplayer-bots[hidden]{display:none!important}
body[data-mode=freeworld] #garage .launch-name{grid-column:1/-1}
@media(max-width:760px){#garage .free-world-card{grid-area:6/1/7/3;padding:12px;gap:8px}.free-world-card strong{font-size:21px}.free-world-card a{font-size:16px;padding:8px}.free-world-card small{font-size:8px}#garage .launch-help{grid-area:7/1/8/3}#garage .launch-links{grid-area:8/1/9/3}#garage .launch-error{grid-area:9/1/10/3}#garage .garage-footer{grid-area:10/1/11/3}}
@media(max-width:370px){.free-world-card strong{font-size:18px}.free-world-card a{font-size:14px}.free-world-card small{font-size:7px}}

.world-place-hud{display:none}body[data-mode=freeworld] .world-place-hud{display:flex;position:absolute;left:4%;top:225px;max-width:min(410px,72vw);flex-direction:column;gap:6px}.world-place-hud strong{font:700 21px var(--display);letter-spacing:1px}.world-place-hud span{font:500 11px/1.4 var(--body);color:#d6e6c5;max-width:310px}.world-life-captions{position:fixed;inset:0;pointer-events:none;z-index:6}.world-life-bubble{position:absolute;transform:translate(-50%,-100%);max-width:210px;border:1px solid #d6e6c5aa;border-radius:12px 12px 12px 2px;background:#142c24e8;padding:8px 12px;box-shadow:0 4px 18px #07150e30;color:#fff9e7;font:600 14px/1.2 var(--body);text-align:center;white-space:nowrap}.world-life-bubble:after{content:'';position:absolute;bottom:-6px;left:45%;width:9px;height:9px;background:#142c24;transform:rotate(45deg);border-right:1px solid #d6e6c5aa;border-bottom:1px solid #d6e6c5aa}.world-life-bubble[hidden]{display:none}
.controller-status{margin:8px 0 0;color:#6c8176;font:600 9px/1.4 var(--body);letter-spacing:.65px}.controller-status[data-connected=true]{color:#174c38}.world-place-hud #world-players{font-weight:700;letter-spacing:.9px;color:#fff4d5}
@media(max-width:760px){body[data-mode=freeworld] .world-place-hud{top:174px;left:5%;max-width:62vw}.world-place-hud strong{font-size:16px}.world-place-hud span{font-size:9px;max-width:220px}.world-life-bubble{font-size:12px;padding:7px 10px;max-width:170px}}
@media(max-height:520px) and (orientation:landscape){body[data-mode=freeworld] .world-place-hud{top:118px;left:3%;max-width:240px}.world-place-hud strong{font-size:14px}.world-place-hud span{font-size:9px}}

#world-walk{pointer-events:auto;justify-self:start;padding:7px 13px;border:1px solid #67d5bb80;border-radius:18px;background:#102d32df;color:#d5fff0;font:700 11px Barlow,sans-serif;letter-spacing:.07em;cursor:pointer}#world-walk[hidden]{display:none}
