
/* Race presentation stays isolated from the existing garage. */
.racing .page-heading{display:none}.race-v2{max-width:980px;margin:auto}
.race-v2 .race-scene{height:auto;padding:24px;background:linear-gradient(#10161e66,#10161ef5 75%),url('/assets/night.webp') center top/cover}
.race-v2 .race-top{gap:14px}.race-v2 .race-top h2{font-size:30px;margin-top:6px}
.race-v2 .eyebrow{color:#b8c8d7;font-size:11px;letter-spacing:1.4px}
.race-live{font-size:11px;letter-spacing:1px;color:#82eaff;background:#122c36;border:1px solid #377087;border-radius:5px;padding:8px 10px;white-space:nowrap}
.race-hud{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin:23px 0 16px;padding:14px 0;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;text-align:center}
.race-hud>div+div{border-left:1px solid #ffffff24}.race-hud small{display:block;color:#b1bece;font-size:11px;letter-spacing:1.2px}
.race-hud strong{display:block;font:500 25px Oswald;margin-top:4px;font-variant-numeric:tabular-nums}
.race-hud em{font:14px Manrope;color:#9aaabf;font-style:normal}.gap-hud strong{color:#8deaff}
.race-road{--car-w:140px;position:relative;background:#0b121be8;border:1px solid #47596e;border-radius:8px;overflow:hidden;isolation:isolate}
.race-lane{position:relative;height:112px}.race-lane+.race-lane{border-top:1px dashed #8998aa66}
.racer-name{position:absolute;top:10px;left:14px;z-index:2;font-size:11px;color:#c9d7e5;letter-spacing:1px}
.car-runner{position:absolute;left:12px;bottom:8px;width:var(--car-w);height:76px;z-index:2;will-change:transform}
.car-runner img{position:absolute;left:0;bottom:6px;width:100%;height:auto;max-height:calc(100% - 10px);object-fit:contain;display:block;filter:drop-shadow(0 2px 1px #0005)}
.car-runner:before{content:'';position:absolute;left:8%;right:6%;bottom:2px;height:8px;border-radius:50%;background:#0009;filter:blur(3px)}
.car-runner.you:before{box-shadow:0 0 8px #44dcff30}
.road-end{position:absolute;right:9px;top:0;bottom:0;width:11px;background:repeating-conic-gradient(#d8e2e9 0% 25%,#293443 0% 50%) 0 0/12px 12px;z-index:0;font-size:0;opacity:.6}
.lane-stripes{position:absolute;bottom:0;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,#89a3bc66 0 20px,transparent 20px 46px);opacity:.5}
.road-caption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:#9daabc;font-size:10px}
.road-caption span:nth-child(2){font-size:11px;text-align:center}
.start-overlay{position:absolute;inset:0;z-index:4;background:#07121bdc;backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:12px}
.start-overlay[hidden]{display:none}.start-overlay small{font-size:11px;letter-spacing:3px;color:#b8cddd}
.start-overlay strong{font:600 68px/1.15 Oswald;color:#a9edff;text-shadow:0 0 32px #52d3ff55}
.start-overlay span{font-size:12px;color:#c2d0de}
.race-v2 .race-controls{padding:22px 24px}.race-v2 .sector-pips{margin:0 0 17px;gap:8px}.race-v2 .sector-pips span{height:6px}
.race-v2 .sector-title h3{font-size:27px}.race-v2 .sector-title span{font-size:11px;color:#bac6d4;text-align:right}
.race-v2 .sector-hint{font-size:14px;color:#bec9d7;line-height:1.5;margin:10px 0 17px}
.race-v2 .drive-buttons{gap:10px}.race-v2 .drive-button{min-height:94px;font-size:15px;font-weight:700;gap:6px;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}
.race-v2 .drive-button svg{width:23px;height:23px}.race-v2 .drive-button small{font-size:12px;font-weight:400;color:#b4c3d3}
.race-v2 .drive-button:disabled{opacity:.6;cursor:default}.race-v2 .drive-button:not(:disabled):active{background:#506375}
.race-v2 .drive-button.nitro:not(:disabled):active{background:#7a422d}
.race-v2 .race-feedback{display:flex;gap:11px;min-height:92px;color:#d6e3ee;background:#172431;border:1px solid #314659;border-radius:8px;padding:13px;margin:16px 0 5px}
.race-feedback strong{font-size:13px;color:#94e5f7}.race-feedback p{font-size:13px;line-height:1.6;margin:5px 0 0}.feedback-mark svg{width:20px;height:20px;color:#8ad9f0}
.race-v2 .text-button{font-size:13px;min-height:44px;padding:10px 4px}
.nitro-trail{position:absolute;left:-27px;width:44px;height:12px;bottom:18px;background:linear-gradient(90deg,transparent,#398dff,#aff7ff);border-radius:50% 10% 10% 50%;filter:blur(2px);opacity:0;box-shadow:0 0 18px #2c9fff}
.boosting .you .nitro-trail{opacity:1;animation:boost .22s ease-in-out infinite alternate}
.boosting .race-road{border-color:#68d5ff;box-shadow:inset 0 0 40px #178fff20}
.boosting .lane-stripes{animation:road-speed .24s linear infinite}
@keyframes boost{from{transform:scaleX(.75)}to{transform:scaleX(1.2)}}
@keyframes road-speed{to{background-position:-46px 0}}
.reduced-motion .car-runner{will-change:auto}.reduced-motion .nitro-trail,.reduced-motion .lane-stripes{animation:none!important}
.result-v2 .next-race-tip{display:flex;gap:12px;text-align:left;max-width:530px;margin:20px auto;padding:16px;background:#1b2732;border:1px solid #3a5064;border-radius:8px}
.next-race-tip svg{flex-shrink:0;color:#8deaff}.next-race-tip strong{font-size:14px}.next-race-tip p{margin:6px 0 0;font-size:14px;color:#c6d2df;line-height:1.6}
.result-v2 .reward-saved{display:flex;align-items:center;justify-content:center;gap:8px;color:#a7dbc4;margin:18px 0;font-size:12px}.reward-saved svg{width:16px;height:16px}

 .racing main{padding-top:14px}.race-v2 .race-scene{padding:16px 12px 12px}
 .race-v2 .race-top h2{font-size:24px}.race-v2 .eyebrow{font-size:10px}.race-live{font-size:9px;padding:7px;letter-spacing:.3px}
 .race-hud{margin:16px 0 12px;padding:11px 0;gap:4px}.race-hud strong{font-size:23px}.race-hud small{font-size:10px;letter-spacing:.6px}.race-hud em{font-size:12px}
 .race-road{--car-w:76px}.race-lane{height:81px}.car-runner{height:48px;bottom:6px}.racer-name{font-size:10px;top:8px;left:12px}
 .road-caption{font-size:9px;gap:5px}.road-caption span:nth-child(2){font-size:10px;max-width:155px}
 .start-overlay strong{font-size:53px}.start-overlay span{font-size:11px}
 .race-v2 .race-controls{padding:17px 12px 8px}.race-v2 .sector-title h3{font-size:24px}.race-v2 .sector-title span{font-size:10px;max-width:100px}
 .race-v2 .sector-hint{font-size:13px;margin:9px 0 14px;min-height:39px}
 .race-v2 .drive-buttons{gap:6px}.race-v2 .drive-button{font-size:13px;min-height:88px;padding:9px 2px}.race-v2 .drive-button small{font-size:11px}
 .race-v2 .race-feedback{padding:11px 9px;gap:8px;min-height:108px}.race-feedback p{font-size:12px}.race-feedback strong{font-size:12px}
 .nitro-trail{bottom:12px;left:-18px;width:29px;height:8px}
 .result-v2 .result-stats{gap:0;justify-content:space-between}.result-v2 .result-stats strong{font-size:27px}.result-v2 .result-stats small{font-size:11px}

@media(max-width:350px){.race-v2 .race-live{display:none}.race-road{--car-w:68px}.race-v2 .drive-button{font-size:12px}.race-v2 .sector-title{gap:6px}}
@media(prefers-reduced-motion:reduce){.nitro-trail,.lane-stripes{animation:none!important}.start-overlay{backdrop-filter:none}}
