/* Background motion is shared by both lanes; race progress and finish stay fixed. */
.race-v3{--world-height:144px;--wheel-turn:0deg;--corner-tilt:0deg;--skid-opacity:0;--boost-opacity:0;--stripe-offset:0px}
.race-v3 .race-scene{background:linear-gradient(160deg,#14222c,#10161e 55%);padding-bottom:18px}
.race-v3[data-track-theme="ring"] .race-scene{background:linear-gradient(160deg,#28231e,#10161e 55%)}
.race-v3[data-track-theme="highway"] .race-scene{background:linear-gradient(160deg,#1c233b,#10161e 55%)}
.race-v3 .race-road{padding-top:var(--world-height);background:#111c24;border-color:#53616d}
.track-world{height:var(--world-height);position:absolute;inset:0 0 auto;isolation:isolate;overflow:hidden;background:#101c28;pointer-events:none}
.track-far{position:absolute;inset:0 auto 0 0;width:calc(100% + 260px);background-repeat:repeat-x;background-size:720px auto;background-position:0 61%;will-change:transform}
.theme-docks .track-far{background-image:url('/assets/track-docks-far.webp')}
.theme-ring .track-far{background-image:url('/assets/track-ring-far.webp')}
.theme-highway .track-far{background-image:url('/assets/track-highway-far.webp')}
.track-atmosphere{position:absolute;inset:0;background:linear-gradient(180deg,#06131c20,transparent 45%,#0c172c40);pointer-events:none}
.track-near{position:absolute;left:0;bottom:0;width:calc(100% + 480px);height:72px;background-repeat:repeat-x;background-size:480px 96px;background-position:0 100%;will-change:transform}
.theme-docks .track-near{background-image:url('/assets/track-docks-near.svg')}
.theme-ring .track-near{background-image:url('/assets/track-ring-near.svg')}
.theme-highway .track-near{background-image:url('/assets/track-highway-near.svg')}
.track-edge{position:absolute;bottom:0;left:0;right:0;height:5px;background:linear-gradient(#54616a,#202d35);border-top:1px solid #8a92973b}
.race-v3 .race-lane{background:linear-gradient(180deg,#1b2630cc,#111b25)}
.race-v3 .race-lane+.race-lane{border-top:1px dashed #94a3b563}
.race-v3 .road-end{top:var(--world-height);z-index:1;pointer-events:none}
.race-v3 .racer-name{letter-spacing:.35px;font-size:11px;padding:3px 7px;border-radius:4px;background:#0c141cdc;top:7px;left:7px;z-index:3}
.race-v3 .car-runner{isolation:isolate}
.race-car-visual{position:absolute;left:0;bottom:6px;width:100%;transform:rotate(var(--corner-tilt));transform-origin:50% 92%;isolation:isolate}
.race-v3 .race-body{position:relative;left:auto;bottom:auto;width:100%;height:auto;max-height:none;object-fit:contain;z-index:1;filter:drop-shadow(0 2px 1px #0006)}
.race-rim{position:absolute;z-index:2;border-radius:50%;display:none;transform:scaleX(var(--rim-aspect,1)) rotate(var(--wheel-turn));transform-origin:center;pointer-events:none}
[data-rims-ready="true"] .race-rim{display:block}
.race-v3 .nitro-trail,.race-v3.boosting .you .nitro-trail{animation:none!important;opacity:0;filter:none;box-shadow:none}
.race-v3.boosting .you .nitro-trail{opacity:var(--boost-opacity);height:9px;background:linear-gradient(90deg,transparent,#308ad580,#b8effc);border-radius:50%;z-index:0}
.boost-stream{position:absolute;z-index:0;left:-45px;bottom:23px;width:62px;height:15px;background:linear-gradient(90deg,transparent,#62c7e480,transparent) 0 2px/100% 1px no-repeat,linear-gradient(90deg,transparent,#8fdff080,transparent) 0 12px/75% 1px no-repeat;opacity:0;transform:translateX(var(--streak-offset));pointer-events:none}
.race-v3.boosting .you .boost-stream{opacity:var(--boost-opacity)}
.tyre-trace{position:absolute;z-index:0;left:-18%;bottom:6px;width:82%;height:4px;border-top:1px solid #080c10;border-bottom:1px solid #080c10;opacity:var(--skid-opacity);transform:rotate(-1deg);pointer-events:none}
.race-v3 .lane-stripes,.race-v3.boosting .lane-stripes{animation:none!important;background-position:var(--stripe-offset) 0}
.race-v3.boosting .race-road{border-color:#7dbbd1;box-shadow:inset 0 0 15px #2486ac10}
.race-v3 .road-caption span:nth-child(2){max-width:190px}
.race-quality{border-top:1px solid #33434f;color:#b7c6d3;margin-top:10px;font-size:12px}
.race-quality summary{min-height:44px;padding:13px 4px;cursor:pointer;line-height:1.6}
.race-quality-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}
.race-quality-options button{min-width:0;min-height:48px;padding:10px 6px;font-size:12px}
.race-quality-options [aria-pressed="true"]{border-color:#7cb6ca;background:#213847;color:#c3eef8}
.race-quality p{font-size:12px;color:#a7bccb;line-height:1.7;margin:10px 0 16px}
.race-quality summary:focus-visible{outline:2px solid #a5d9ef;outline-offset:2px}
.race-v3.effects-lite .track-far,.race-v3.reduced-motion .track-far,.race-v3.reduced-motion .track-near{will-change:auto;transform:none!important}
.race-v3.effects-lite .race-rim,.race-v3.reduced-motion .race-rim{transform:scaleX(var(--rim-aspect,1))}
.race-v3.effects-lite .boost-stream,.race-v3.effects-lite .tyre-trace,.race-v3.effects-lite .nitro-trail,.race-v3.reduced-motion .boost-stream,.race-v3.reduced-motion .tyre-trace,.race-v3.reduced-motion .nitro-trail{display:none}
.race-v3.effects-lite .race-body{filter:none}
.race-v3.effects-lite .race-car-visual,.race-v3.reduced-motion .race-car-visual{transform:none}
.track-card[data-track="docks"]{background-image:linear-gradient(90deg,#10151bef,#10151bae),url('/assets/track-docks-far.webp')}
.track-card[data-track="ring"]{background-image:linear-gradient(90deg,#10151bef,#10151bae),url('/assets/track-ring-far.webp')}
.track-card[data-track="highway"]{background-image:linear-gradient(90deg,#10151bef,#10151bae),url('/assets/track-highway-far.webp')}

 .race-v3{--world-height:112px}.race-v3 .race-scene{padding:14px 10px 10px}
 .race-v3 .race-top h2{font-size:23px}.race-v3 .race-top{gap:8px}.race-v3 .race-top>div{min-width:0}
 .race-v3 .race-hud{margin:14px 0 12px}
 .track-far{background-size:570px auto;background-position:0 59%}
 .track-near{height:52px;background-size:480px 96px}
 .race-v3 .racer-name{font-size:9px;top:5px}
 .race-v3 .race-lane{height:80px}
 .race-v3 .road-caption span:nth-child(2){font-size:9px;max-width:165px}
 .race-v3 .nitro-trail{height:6px!important;bottom:13px}
 .boost-stream{width:38px;left:-24px;height:12px;bottom:16px}
 .tyre-trace{bottom:6px;height:3px}
 .race-v3 .race-quality-options button{font-size:11px}

@media(max-width:350px){.race-v3 .race-top h2{font-size:22px}.race-quality-options{gap:5px}.race-quality-options button{font-size:10px;padding:8px 3px}}
@media(prefers-reduced-motion:reduce){
 .race-v3 .track-far,.race-v3 .track-near,.race-v3 .race-car-visual{transform:none!important;animation:none!important;will-change:auto}
 .race-v3 .race-rim{transform:scaleX(var(--rim-aspect,1))!important;animation:none!important;will-change:auto}
 .race-v3 .boost-stream,.race-v3 .tyre-trace,.race-v3 .nitro-trail{display:none!important}
 .race-v3 .lane-stripes{background-position:0 0!important}
}
