:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color-scheme:light;--ink:#1b2a30;--muted:#405963;--accent:#655233;--wash:237,243,241}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#dce7e6;overflow:hidden}body[data-tone=dark]{color-scheme:dark;--ink:#f3f3ed;--muted:#c6ced2;--accent:#e6cda0;--wash:9,16,26;background:#101725}button,a,select{font:inherit;touch-action:manipulation}button{background:none;border:0;color:inherit;cursor:pointer;padding:0}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,.vehicle-rail:focus-visible{outline:2px solid var(--ink);outline-offset:5px}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;border:0;background:#111923}.scene-wash{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(var(--wash),.78),rgba(var(--wash),.32) 18%,transparent 39%,transparent 61%,rgba(var(--wash),.58) 78%,rgba(var(--wash),.94));transition:background .5s}#scene-loading{position:fixed;inset:0;background:#121a20;color:#edece5;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transition:opacity .5s}#scene-loading.ready{opacity:0;pointer-events:none}#scene-loading span{font-size:10px;letter-spacing:4px}#scene-loading strong{font-size:30px;font-weight:400}#scene-loading small{font-size:11px;color:#a6b7bc}#scene-retry{margin-top:16px;color:#e6cda0}.top{position:fixed;z-index:3;left:34px;right:34px;top:0;height:76px;display:flex;align-items:center;gap:30px;pointer-events:none}.top>*{pointer-events:auto}.brand{display:flex;gap:10px;align-items:center}.brand b{font-size:25px;font-weight:850;letter-spacing:-1px;font-style:italic}.top nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:32px;font-size:12px;white-space:nowrap}.top nav>a,.top nav>button{opacity:.62}.top nav .active{opacity:1;position:relative}.top nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:currentColor}.account{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:11px}.account i{font-size:12px;font-style:normal}.account small{opacity:.65;font-size:9px;margin-left:7px}.hud{position:fixed;inset:0;pointer-events:none}.hud button{pointer-events:auto}.venue{position:absolute;left:40px;top:115px;max-width:48%}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:500;color:var(--muted)}.event-label{display:flex;gap:8px;align-items:center;margin-top:20px;font-size:10px}.event-label i{width:5px;height:5px;border-radius:50%;background:currentColor}#round-code{opacity:.6;font-size:9px;letter-spacing:1px;margin-left:6px}h1{font-size:clamp(32px,4.3vw,66px);font-weight:520;letter-spacing:-2px;margin:15px 0 12px;line-height:1.15}.venue>p{font-size:12px;letter-spacing:2px;margin:0}.venue-note{font-size:9px;color:var(--muted);margin-top:15px}.event-info{position:absolute;right:40px;top:116px;text-align:right;width:220px}#countdown{font-size:46px;font-weight:350;letter-spacing:-2px;font-variant-numeric:tabular-nums;line-height:1.3;margin:8px 0 15px}.start-line{display:flex;justify-content:flex-end;gap:18px;align-items:center;font-size:10px}.start-line strong{font-weight:500;font-size:15px}#schedule-label{font-size:9px;margin:7px 0 0;color:var(--muted)}dl{margin:18px 0 0;font-size:10px}dl>div{display:flex;justify-content:space-between;gap:15px;margin:10px 0}dt{color:var(--muted)}dd{margin:0}.vehicle-title{position:absolute;left:40px;bottom:220px;max-width:52%}#selected-car strong{display:block;font-size:clamp(23px,3.1vw,44px);font-weight:500;letter-spacing:-1.4px;margin:8px 0}#selected-car small{display:block;font-size:11px;color:var(--muted)}.view-hint{display:block;font-size:9px;color:var(--muted);margin-top:18px}.entry-actions{position:absolute;right:40px;bottom:218px;max-width:330px;text-align:right}#entry-status{font-size:10px;letter-spacing:1px;color:var(--muted)}.enter{display:block;margin:12px 0 0 auto;font-size:23px;font-weight:500;letter-spacing:1px}.enter span{font-size:31px;margin-left:32px;display:inline-block;transition:transform .2s}.enter:hover:not(:disabled){color:var(--accent)}.enter:hover:not(:disabled) span{transform:translate(4px,-4px)}#withdraw{margin-top:13px;font-size:10px;color:var(--muted)}#entry-note,#message{font-size:9px;line-height:1.7;color:var(--muted);margin:9px 0 0;max-width:275px;margin-left:auto}#message{color:var(--ink)}.garage-dock{position:fixed;left:40px;right:40px;bottom:0;height:186px;z-index:3}.dock-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;height:29px}.dock-label small{font-size:9px;color:var(--muted);margin-left:4px}.dock-tools{display:flex;align-items:center;gap:24px}.dock-tools button{font-size:18px;padding:6px}.dock-tools span{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:2px}.vehicle-rail{display:flex;gap:25px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;height:122px;align-items:stretch;padding:4px 0 0;overscroll-behavior-x:contain;touch-action:pan-x}.vehicle-rail::-webkit-scrollbar{display:none}.vehicle-card{position:relative;flex:0 0 143px;text-align:left;scroll-snap-align:center;opacity:.56;padding:0 0 9px;transition:opacity .2s}.vehicle-card[aria-pressed=true],.vehicle-card:hover{opacity:1}.vehicle-card:after{content:"";position:absolute;bottom:1px;height:2px;background:currentColor;left:0;width:0;transition:width .2s}.vehicle-card[aria-pressed=true]:after{width:100%}.vehicle-card img{height:64px;width:133px;object-fit:contain;mix-blend-mode:multiply;display:block;margin:0 0 5px;filter:contrast(1.15)}body[data-tone=dark] .vehicle-card img{mix-blend-mode:screen}.vehicle-card strong{font-size:10px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-card small{display:block;font-size:8px;margin-top:4px;color:var(--muted)}.car-placeholder{height:69px;width:133px;display:grid;place-items:center;font-size:18px;font-weight:300;letter-spacing:3px}.bottom-line{display:flex;justify-content:space-between;gap:20px;font-size:8px;color:var(--muted);height:30px;align-items:center;letter-spacing:.6px}.bottom-line button{color:var(--ink);font-size:9px}.bottom-line>span:nth-child(2){margin-left:auto}dialog{width:min(660px,90vw);max-height:80vh;overflow:auto;padding:35px;background:rgba(var(--wash),.96);color:var(--ink);border:0;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#10202b55;backdrop-filter:blur(12px)}dialog h2{font-size:28px;font-weight:450;margin:14px 0 16px;letter-spacing:-1px}dialog>p,dialog>small{font-size:11px;line-height:1.8;color:var(--muted)}.close{position:absolute;right:20px;top:16px;font-size:25px}.roster{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}.roster-card{display:flex;gap:16px;align-items:center}.roster-card i{font-style:normal;font-size:19px;opacity:.5}.roster-card strong{font-size:13px;font-weight:500}.roster-card small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.empty{padding:35px 0;line-height:1.8;font-size:13px;grid-column:1/-1}.empty small{display:block;font-size:11px;color:var(--muted)}.history-row{display:grid;grid-template-columns:45px 1fr 1fr auto;gap:12px;padding:22px 0;font-size:11px;align-items:center;border-bottom:1px solid #8883}.history-row>b{font-size:24px;font-weight:400}.history-row small{display:block;color:var(--muted);font-size:9px;margin-top:7px}.history-row>span:nth-of-type(3){display:none}.history-row button{font-size:10px}.record-line{display:grid;grid-template-columns:30px 1fr auto;gap:15px;padding:18px 0;font-size:13px;border-bottom:1px solid #8883}.record-line small{font-size:10px;color:var(--muted)}.record-line.me{font-weight:650}.demo-controls{display:flex;gap:30px;margin:25px 0}.demo-controls label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:10px}select{background:none;border:0;border-bottom:1px solid #8885;color:var(--ink);padding:8px 0}.demo-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:14px;margin:30px 0}
@media(max-width:900px){.top{left:24px;right:24px}.venue,.vehicle-title{left:26px}.event-info,.entry-actions{right:26px}.garage-dock{left:26px;right:26px}.venue{top:108px}.event-info{top:109px;width:190px}.venue h1{font-size:39px}.event-label{flex-wrap:wrap}#round-code{display:none}.vehicle-title{max-width:48%}#selected-car strong{font-size:28px}.entry-actions{max-width:255px}.top nav{gap:22px}.account small{display:none}.vehicle-card{flex-basis:135px}.vehicle-rail{gap:20px}}
@media(max-width:600px){.top{height:62px;left:18px;right:18px;gap:16px}.brand b{font-size:22px}.brand img{width:24px;height:24px}.top nav{position:static;transform:none;margin-left:auto;gap:17px;font-size:10px}.account{display:none}.venue{left:20px;top:91px;max-width:62%}.eyebrow{font-size:7px;letter-spacing:1.3px}.event-label{font-size:8px;margin-top:14px}.venue h1{font-size:32px;letter-spacing:-1px}.venue>p{font-size:9px;letter-spacing:.6px}.venue-note{font-size:8px;margin-top:9px}.event-info{right:20px;top:91px;width:118px}#countdown{font-size:32px;margin:6px 0 12px}.start-line{font-size:8px;gap:10px}.start-line strong{font-size:12px}#schedule-label{font-size:8px;line-height:1.7}dl{margin-top:12px;font-size:8px}dl>div{flex-direction:column;gap:5px;margin:8px 0}.vehicle-title{left:20px;bottom:231px;max-width:85%}#selected-car strong{font-size:25px;margin:7px 0}#selected-car small{font-size:9px}.view-hint{display:none}.entry-actions{left:20px;right:20px;bottom:173px;max-width:none;display:flex;align-items:center;gap:15px;text-align:left}.enter{font-size:16px;margin:0 0 0 auto;order:3}.enter span{font-size:22px;margin-left:15px}#entry-status{font-size:9px}#withdraw{margin:0;font-size:9px}#entry-note{display:none}#message{position:absolute;left:0;top:27px;font-size:8px;margin:0;max-width:none}.garage-dock{left:20px;right:20px;height:140px}.dock-label{height:22px;font-size:9px}.dock-label small{font-size:8px}.dock-tools{gap:13px}.dock-tools span{font-size:8px}.dock-tools button{font-size:15px}.vehicle-rail{height:91px;gap:20px}.vehicle-card{flex-basis:105px;padding-bottom:7px}.vehicle-card img{height:42px;width:100px;margin-bottom:4px}.vehicle-card strong{font-size:8px}.vehicle-card small{font-size:7px}.car-placeholder{width:100px;height:46px;font-size:14px}.bottom-line{height:25px;font-size:6px;gap:6px}.bottom-line button{font-size:8px}.bottom-line>span:nth-child(2){display:none}dialog{padding:26px}.history-row{grid-template-columns:35px 1fr auto}.history-row>span:nth-of-type(2){display:none}.roster{gap:18px}.roster-card{gap:9px}.roster-card strong{font-size:11px}.roster-card small{font-size:8px}}
@media(max-height:670px) and (min-width:601px){.venue{top:88px}.event-info{top:88px}.venue h1{font-size:36px}.venue-note{display:none}.garage-dock{height:145px}.vehicle-rail{height:91px}.vehicle-card img{height:42px}.car-placeholder{height:47px}.vehicle-title{bottom:168px}.entry-actions{bottom:165px}.view-hint{margin-top:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.vehicle-card img.rendered-thumb{mix-blend-mode:normal!important;filter:none}.event-info,.venue,.vehicle-title,.entry-actions{text-shadow:0 1px 8px rgba(var(--wash),.45)}.scene-wash{background:linear-gradient(180deg,rgba(var(--wash),.86),rgba(var(--wash),.57) 22%,transparent 44%,transparent 61%,rgba(var(--wash),.58) 78%,rgba(var(--wash),.94))}

/* Let the actual track remain visible. Contrast comes from HUD text, not a painted veil. */
.scene-wash{display:none}
[data-hud-tone=dark]{--ink:#f5f5ef;--muted:#d9e0e3;--accent:#c5a3ff;--hud-shadow:0 1px 5px #0009;color:var(--ink)}
[data-hud-tone=light]{--ink:#182b35;--muted:#304a57;--accent:#503477;--hud-shadow:0 1px 3px #ffffff55;color:var(--ink)}
.top,.venue,.event-info,.vehicle-title,.entry-actions,.garage-dock{text-shadow:var(--hud-shadow,0 1px 4px #0002)}
.vehicle-card img{filter:none}

.vehicle-card{opacity:.76}.vehicle-card[aria-pressed=true],.vehicle-card:hover{opacity:1}

/* Only the vehicle picker has a scrim; the main car and track remain unmasked. */
.garage-dock{isolation:isolate;--ink:#f5f5ef;--muted:#d9e0e3;color:var(--ink)}
.garage-dock:before{content:"";position:absolute;z-index:-1;inset:-8px -40px 0;background:linear-gradient(180deg,rgba(8,15,23,0),rgba(8,15,23,.42) 20%,rgba(8,15,23,.72) 100%);pointer-events:none}
@media(max-width:900px){.garage-dock:before{left:-26px;right:-26px}}@media(max-width:600px){.garage-dock:before{left:-20px;right:-20px}}

.scene-progress{width:min(280px,70vw);margin-top:12px}.scene-progress>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.scene-progress span{letter-spacing:1px!important}.scene-progress b{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.scene-progress progress{width:100%;height:3px;appearance:none;border:0;background:#ffffff1a;color:#b58af5}.scene-progress progress::-webkit-progress-bar{background:#ffffff1a}.scene-progress progress::-webkit-progress-value{background:#b58af5}.scene-progress progress::-moz-progress-bar{background:#b58af5}
#scene-retry{padding:12px 18px;border:1px solid #b58af544;font-size:12px}#scene-status{max-width:80vw;text-align:center;line-height:1.7}

/* Transparent vehicle rail: larger portraits, one compact name, no card panel. */
.garage-dock{height:auto;padding-bottom:var(--dock-inset)}
.vehicle-rail{height:146px;gap:20px;padding:3px 1px 0}
.vehicle-card{flex-basis:155px;height:140px;padding:0 0 10px;opacity:.8;border:0;border-radius:0;background:none;box-shadow:none}
.vehicle-card:hover,.vehicle-card[aria-pressed=true]{opacity:1;background:none;box-shadow:none}
.vehicle-thumb{height:111px;display:grid;place-items:center}
.vehicle-card .vehicle-thumb img,.vehicle-card .car-placeholder{display:block;width:100%;height:111px;object-fit:contain;margin:0;mix-blend-mode:normal!important;filter:none}
.vehicle-caption{display:block}
.vehicle-card strong{display:block;font-size:10px;font-weight:500;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-card small,.selected-mark{display:none}
.vehicle-title{bottom:calc(180px + var(--dock-inset))}.entry-actions{bottom:calc(178px + var(--dock-inset))}
@media(max-width:600px){.vehicle-rail{height:121px;gap:16px}.vehicle-card{flex-basis:126px;height:117px}.vehicle-thumb,.vehicle-card .vehicle-thumb img,.vehicle-card .car-placeholder{height:88px}.vehicle-card strong{font-size:9px}.vehicle-title{bottom:calc(212px + var(--dock-inset))}.entry-actions{bottom:calc(150px + var(--dock-inset))}}
@media(max-height:670px) and (min-width:601px){.vehicle-rail{height:110px}.vehicle-card{flex-basis:132px;height:107px}.vehicle-thumb,.vehicle-card .vehicle-thumb img,.vehicle-card .car-placeholder{height:80px}.vehicle-title{bottom:calc(138px + var(--dock-inset))}.entry-actions{bottom:calc(136px + var(--dock-inset))}}

/* Keep the approved HUD layout; show only names, times and actionable state. */
#entry-note:empty,#message:empty{display:none}
#selected-car strong{margin-bottom:0}
#model-status{font-size:9px;margin-top:10px}

/* The next registration and the previous race are independent HUD actions. */
.recent-race{margin-top:22px;padding-top:15px;border-top:1px solid currentColor}
.recent-race>strong{display:block;font-size:11px;font-weight:500}
.recent-race>small{display:block;font-size:9px;color:var(--muted);margin-top:7px}
.recent-race>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px}
.recent-race button{padding:4px 0}
.history-actions{display:flex;flex-direction:column;gap:13px;align-items:flex-end}
.record-replay{display:block;margin:24px 0 0 auto;font-size:13px}
@media(max-width:600px){.recent-race{margin-top:13px;padding-top:10px}.recent-race>strong,.recent-race>div{font-size:9px}.recent-race>small{font-size:8px}.recent-race>div{gap:6px;margin-top:6px}}
.event-info{z-index:1}
.recent-race{margin-top:14px;padding-top:10px}
.recent-race>div{margin-top:8px}

/* The same four product destinations remain usable above the race HUD. */
@media(max-width:600px){.top{height:90px;align-items:flex-start;padding-top:16px}.top nav{position:absolute;top:54px;left:0;right:0;margin:0;transform:none;justify-content:space-between;gap:8px;font-size:11px}.venue,.event-info{top:118px}.top nav a,.top nav button{white-space:nowrap}}
/* The vehicle dock keeps its translucent material over the track. */
body {
  --dock-inset:max(8px,env(safe-area-inset-bottom));
  --race-glass:rgba(235,244,244,.24); --race-glass-line:rgba(255,255,255,.44);
  --race-glass-ink:#193039; --race-glass-muted:#40575d; --race-glass-control:rgba(249,252,248,.22);
}
body[data-tone=dark] {
  --race-glass:rgba(13,22,29,.24); --race-glass-line:rgba(226,239,238,.16);
  --race-glass-ink:#f5f5ef; --race-glass-muted:#ced6d5; --race-glass-control:rgba(239,248,248,.05);
}
/* Match the collection header regardless of the track's lighting. */
body #product-header[data-product-page=race] {
  background:var(--header-bg); color:var(--header-text);
  backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none;
}
body .garage-dock {
  --ink:var(--race-glass-ink); --muted:var(--race-glass-muted);
  color:var(--race-glass-ink); text-shadow:none;
}
body .garage-dock::before {
  top:0; background:var(--race-glass); border-top:1px solid var(--race-glass-line);
  backdrop-filter:blur(8px) saturate(108%); -webkit-backdrop-filter:blur(8px) saturate(108%);
  box-shadow:0 1px 0 #ffffff0d inset;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body { --race-glass:rgba(235,244,244,.9); }
  body[data-tone=dark] { --race-glass:rgba(13,22,29,.9); }
}

/* Keep a transparent placeholder until the normalized render is ready. */
.vehicle-thumb .car-placeholder{width:100%;height:100%;opacity:.35;font-size:20px}
.scene-controls{display:flex;align-items:center;gap:14px;margin-top:10px;font-size:11px;line-height:1.5;color:inherit}
.scene-controls>span{opacity:.65}
.scene-controls button{padding:2px 0;background:none;border:0;border-bottom:1px solid currentColor;border-radius:0;color:inherit;font:inherit;cursor:pointer}
.scene-controls button:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Edge controls share the thumbnail row; no label or pagination strip. */
.vehicle-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}
.vehicle-picker .vehicle-rail{min-width:0}
.vehicle-arrow{display:grid;place-items:center;width:44px;height:56px;align-self:center;margin-bottom:20px;font-size:25px;font-weight:400;border-radius:4px;transition:background .2s}
.vehicle-arrow:hover:not(:disabled){background:rgba(128,150,155,.12)}
@media(max-width:600px){.vehicle-picker{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.vehicle-arrow{width:44px;height:48px;font-size:22px;margin-bottom:20px}}

/* Account-owned garage drawer; opening it does not resize the WebGL stage. */
.garage-dock{position:fixed;left:26px;right:auto;top:290px;bottom:auto;width:auto;height:auto;padding:0;background:none!important;backdrop-filter:none!important;border:0!important;z-index:4}
.garage-dock:before{display:none}
#open-vehicles{display:flex;align-items:center;gap:14px;padding:13px 20px;border:1px solid #b58af580;border-radius:5px;background:#111315;color:#b58af5;font-size:14px;box-shadow:0 4px 18px #0002}
#vehicle-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(360px,90vw);max-width:none;height:100dvh;max-height:none;padding:26px 20px;border:0;border-right:1px solid #ffffff24;border-radius:0;background:#111315;color:#eeedea;overflow:hidden;box-shadow:8px 0 35px #0005;color-scheme:dark}
#vehicle-drawer[open]{display:flex;flex-direction:column;gap:16px}
#vehicle-drawer::backdrop{background:#0005;backdrop-filter:none}
#vehicle-drawer header{display:flex;justify-content:space-between;align-items:center}
#vehicle-drawer header span{font-size:12px;color:#dabb90}#vehicle-drawer h2{margin:8px 0 0;font-size:24px}
#close-vehicles{width:40px;height:40px;font-size:30px;color:#c7c7c7}
#vehicle-search{flex:none;width:100%;padding:15px 18px;border:1px solid #ffffff30;border-radius:28px;background:transparent;color:inherit;font:inherit;font-size:14px}
.vehicle-filters{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff20;flex:none}
.vehicle-filters button{padding:10px 12px;border-bottom:2px solid transparent;font-size:13px;color:#b6b6b6}.vehicle-filters button[aria-pressed=true]{color:#b58af5;border-color:#b58af5}
#vehicle-count{font-size:12px;color:#aaa;margin:0}
#vehicle-grid{display:flex;flex-direction:column;gap:7px;overflow-y:auto;overflow-x:hidden;min-height:0;padding:0 2px 12px;overscroll-behavior:contain}
#vehicle-grid .vehicle-card{position:relative;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:6px;flex:none;width:100%;height:90px;padding:12px 10px;border:1px solid #ffffff12;border-radius:5px;background:linear-gradient(115deg,#1b1e21 55%,#252a30 55%);opacity:1;color:#eee;text-align:left;scroll-snap-align:none}
#vehicle-grid .vehicle-card[aria-pressed=true]{border-color:#b99a6d;background:linear-gradient(115deg,#342f25 55%,#514633 55%)}
#vehicle-grid .vehicle-thumb{width:112px;height:72px;flex:none}#vehicle-grid .vehicle-thumb img{width:100%;height:72px;object-fit:contain;filter:none;mix-blend-mode:normal}
#vehicle-grid .vehicle-caption{min-width:0;flex:1}#vehicle-grid strong{white-space:normal;font-size:13px;line-height:1.4;font-weight:600}#vehicle-grid small{display:block;margin-top:6px;font-size:11px;color:#bbb}#vehicle-grid .selected-mark{display:none}#vehicle-grid [aria-pressed=true] .selected-mark{display:block;position:absolute;right:8px;bottom:6px;color:#b58af5}
.vehicle-title{bottom:70px}.entry-actions{bottom:66px}
@media(max-width:600px){.garage-dock{left:20px;top:275px}#open-vehicles{padding:10px 15px;font-size:12px}.vehicle-title{bottom:110px}.entry-actions{bottom:35px}}
@media(max-height:670px) and (min-width:601px){.garage-dock{top:245px}}

#vehicle-grid .vehicle-card:after{display:none}

/* Primary lobby actions and race records use the same garage presentation. */
.venue .garage-dock{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;width:max-content;max-width:none;pointer-events:auto}
#open-vehicles,#open-history{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:13px 18px;border:1px solid #b58af580;border-radius:5px;background:#111315;color:#b58af5;font-size:14px;white-space:nowrap;box-shadow:0 4px 18px #0002}
#open-vehicles:hover:not(:disabled),#open-history:hover{background:#24221e;border-color:#b58af5}
.garage-dock button:focus-visible,.race-drawer button:focus-visible,#result-notice button:focus-visible{outline:2px solid #b58af5;outline-offset:3px}
#demo-tools{flex-basis:100%;font-size:11px}
#history-dialog,#record-dialog,#world-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(420px,94vw);max-width:none;height:100dvh;max-height:none;padding:26px 20px;border:0;border-right:1px solid #ffffff24;border-radius:0;background:#111315;color:#eeedea;--muted:#aeb0ad;overflow:hidden;box-shadow:8px 0 35px #0005;color-scheme:dark;text-shadow:none}
.race-drawer[open]{display:flex;flex-direction:column;gap:20px}
.race-drawer::backdrop{background:#0005;backdrop-filter:none}
.race-drawer header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}
.race-drawer header small{font-size:11px;color:#b58af5}
.race-drawer header h2{font-size:23px;margin:7px 0 0;letter-spacing:0;font-weight:600}
.race-drawer header button{flex-shrink:0;width:40px;height:40px;font-size:26px;color:#b58af5}
#history-list,#record-ranking{overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}
#history-list .history-row{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:20px 0;font-size:13px}
#history-list .history-row>b{grid-row:span 2;align-self:start;color:#b58af5;font-size:25px}
#history-list .history-row>span:nth-of-type(2){display:block;font-size:12px;color:#aeb0ad}
#history-list .history-row small{font-size:11px;line-height:1.5;margin-top:5px}
#history-list .history-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:12px}
#history-list .history-actions button{font-size:12px;padding:8px 0;color:#b58af5;border-bottom:1px solid #b58af555}
#record-ranking .record-line{grid-template-columns:24px minmax(0,1fr) auto;gap:10px;font-size:12px;line-height:1.5}
#record-ranking .record-line.me{color:#b58af5}
#record-replay{flex-shrink:0;width:100%;margin:0;padding:15px;background:#b58af5;color:#171717;border-radius:5px;font-size:14px;font-weight:600}
#result-notice{width:min(460px,calc(100vw - 32px));padding:32px;border:1px solid #b58af566;border-radius:14px;background:#171a1e;color:#eeedea;--muted:#b9bcbf;color-scheme:dark;text-align:left}
#result-notice::backdrop{background:#0009;backdrop-filter:none}
#result-notice .eyebrow{color:#b58af5;font-size:11px;letter-spacing:1px}
#result-notice h2{font-size:27px;font-weight:600;letter-spacing:0;margin:14px 0}
#result-notice-meta{font-size:13px;line-height:1.8;color:#b9bcbf}
#result-notice-rank{display:block;font-size:36px;margin:24px 0 10px;color:#b58af5;font-variant-numeric:tabular-nums}
#result-notice .notice-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-top:28px}
#result-notice .notice-actions button{min-height:46px;border:1px solid #ffffff30;border-radius:5px;font-size:13px}
#result-notice #notice-details{background:#b58af5;border-color:#b58af5;color:#171717;font-weight:600}
@media(max-width:600px){.venue .garage-dock{gap:8px;margin-top:18px}#open-vehicles,#open-history{gap:7px;padding:10px 12px;font-size:12px}.race-drawer header h2{font-size:21px}#result-notice{padding:24px}}

#world-section{padding-bottom:16px;border-bottom:1px solid #ffffff24}#open-world{width:100%;display:flex;gap:12px;align-items:center;text-align:left;color:#b58af5;font-size:14px}#world-status{margin-left:auto;color:#aeb0ad;font-size:11px}#world-content{overflow:auto;min-height:0;font-size:13px;line-height:1.9;color:#c3c7cb}#world-content p{margin:0 0 16px}.world-event{padding:18px 0;border-top:1px solid #ffffff24}.world-event h3{font-size:15px;color:#b58af5}.world-event button{padding:10px 16px;background:#b58af5;color:#171717;border-radius:4px}.world-event ol{padding-left:20px}

.world-qualifiers li{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.world-qualifiers time{color:#b58af5;font-variant-numeric:tabular-nums}

/* Keep the top information and bottom actions separate on short landscape screens. */
@media(max-height:480px) and (min-width:601px){
  .venue,.event-info{top:calc(var(--product-header-height,64px) + 14px)}
  .venue>.eyebrow{display:none}
  .event-label{margin-top:0}
  .venue h1{font-size:28px;margin:8px 0}
  .venue .garage-dock{margin-top:12px;gap:8px}
  #open-vehicles,#open-history{min-height:40px;padding:9px 12px;font-size:12px}
  #countdown{font-size:34px;margin:4px 0 8px}
  .event-info dl{margin-top:8px}
  .event-info dl>div{margin:6px 0}
  .vehicle-title{bottom:16px}
  #selected-car strong{font-size:24px;margin:5px 0}
  .entry-actions{bottom:16px}
  .entry-actions .enter{font-size:21px}
  .recent-race{max-height:72px;overflow:auto;pointer-events:auto;margin-top:8px;padding-top:6px}
}

/* Keep measured download progress visible on desktop and mobile while switching. */
.model-loading{width:300px;max-width:100%;margin-top:12px;padding:14px 16px;background:#171b20ed;border:1px solid #b58af566;border-radius:8px;color:#eeedea;text-shadow:none}
.model-loading[hidden]{display:none}.model-loading>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.model-loading strong{font-weight:500}.model-loading small{display:block;margin-top:8px;color:#aeb7bd;font-size:11px}.model-loading progress{display:block;width:100%;height:5px;margin-top:12px;accent-color:#b58af5}.model-loading progress[hidden]{display:none}
@media(max-width:600px){.model-loading{width:260px;padding:12px}.model-loading>div{font-size:12px}}

/* LaneUp race controls share the black and purple collection palette. */
#open-vehicles,#open-history{background:#17131f;border-color:#8a57ca80;color:#d5baff;text-shadow:none}#open-vehicles:hover,#open-history:hover{background:#292034;border-color:#ac7aee}.enter{color:#d5baff}.vehicle-card[aria-pressed=true]{border-color:#ac7aee}button:focus-visible{outline:2px solid #b58af5;outline-offset:3px}
