:root{--ink:#f4f4f6;--panel:#0c0c10d1;--accent:#e1090c;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.overlay{box-sizing:border-box;color:var(--ink);background:var(--panel);padding:env(safe-area-inset-top) 1.25rem env(safe-area-inset-bottom);text-align:center;flex-direction:column;justify-content:safe center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay h1{letter-spacing:.02em;margin:0;font-size:clamp(1.9rem,10vw,3.6rem);line-height:1.05}.overlay .hint{opacity:.85;font-size:1.1rem;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.overlay .hint{opacity:.85;animation:none}}.button{appearance:none;box-sizing:border-box;background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border:2px solid #fff;border-radius:14px 4px;width:min(100%,22rem);min-height:56px;padding:.85rem 1.5rem;font-size:1.25rem;font-style:italic;font-weight:800}.button.secondary{background:#ffffff0f;border-radius:12px 3px;min-height:48px;padding:.7rem 1.25rem;font-size:1rem}.hud{box-sizing:border-box;padding:calc(env(safe-area-inset-top) + 12px) calc(env(safe-area-inset-right) + 12px) 0 calc(env(safe-area-inset-left) + 12px);color:var(--ink);pointer-events:none;-webkit-user-select:none;user-select:none;--hud-time-size:clamp(1.15rem, 5.8vw, 2.3rem);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:.5rem;display:grid;position:fixed;top:0;left:0;right:0}.hud-panel{box-sizing:border-box;min-width:calc(var(--hud-time-size) * 4.05 + 1.4rem + 2px);background:#0a0a0e9e;border:1px solid #ffffff29;border-radius:14px 4px;justify-self:start;justify-items:start;gap:.3rem;padding:.45rem .7rem .55rem;display:grid;position:relative;overflow:hidden}.hud-best{justify-self:end;justify-items:end}.hud-tag{letter-spacing:.1em;text-transform:uppercase;align-items:baseline;gap:.3em;font-size:.7rem;font-style:italic;font-weight:800;display:inline-flex}.hud-lap .hud-tag{background:var(--accent);border-radius:8px 2px;padding:.1rem .5rem .14rem}.hud-best .hud-tag{opacity:.75}.hud-lap-count{letter-spacing:0;font-size:1.05rem;font-weight:900;animation:.45s cubic-bezier(.2,.9,.3,1.5) both hud-pop;display:inline-block}.hud-lap-total{letter-spacing:0;opacity:.8}.hud-time{font-size:var(--hud-time-size);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-style:italic;font-weight:900;line-height:1}.hud-best .hud-time{animation:.45s cubic-bezier(.2,.9,.3,1.5) both hud-pop}.hud-ghost{letter-spacing:.1em;text-transform:uppercase;opacity:.75;border:1px dashed #ffffff73;border-radius:6px 2px;padding:.1rem .4rem;font-size:.6rem}.hud-lap.final{padding-bottom:calc(.55rem + 5px)}.hud-lap.final:after{content:"";background:repeating-conic-gradient(#fff 0 25%, #141416 0 50%) 0 0 / 5px 5px;height:5px;position:absolute;bottom:0;left:0;right:0}.hud-center{justify-items:center;gap:.45rem;display:grid}.hud-logo{width:clamp(64px,19vw,112px);height:auto;display:block}.hud-menu{min-height:34px;color:var(--ink);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:#0a0a0e9e;border:2px solid #f4f4f68c;border-radius:10px 3px;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .6rem;font-size:.7rem;font-style:italic;font-weight:800;transition:transform .15s ease-out;display:inline-flex;position:relative}.hud-menu:before{content:"";background:currentColor;border-radius:1px;width:12px;height:2px;box-shadow:0 -4px,0 4px}.hud-menu:after{content:"";position:absolute;inset:-7px -4px}.hud-menu:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.hud-menu:hover{background:#e1090c8c;border-color:#fff}}@keyframes hud-pop{0%{opacity:.4;transform:scale(1.35)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hud-lap-count,.hud-best .hud-time{animation:none}}@media (width<=359px){.hud-menu{gap:0;padding:.3rem .65rem;font-size:0}.hud-panel{padding-left:.55rem;padding-right:.55rem}.hud-tag{letter-spacing:.04em}}.warn-edge{pointer-events:none;box-shadow:inset 0 0 90px 20px rgba(255, 77, 61, var(--warn,0));transition:box-shadow 60ms linear;position:fixed;inset:0}.controller{right:calc(env(safe-area-inset-right) + 8px);bottom:calc(env(safe-area-inset-bottom) + 8px);pointer-events:none;align-items:flex-end;gap:6px;display:flex;position:fixed}.controller-model{aspect-ratio:104/220;height:min(270px,42vh)}@media (hover:hover) and (pointer:fine){body:has(.controller){cursor:none}.controller-model{position:absolute;bottom:0;right:calc(100% + 6px)}}.controller-tip{width:max-content;max-width:min(15rem,100vw - 24px);transition:opacity .3s;position:absolute;bottom:calc(100% + 10px);right:0}@media (width>=560px){.controller-tip{top:0;bottom:auto;right:calc(100% + 10px)}}.controller-tip-done{opacity:0}.controller-tip-bubble{color:var(--ink);background:#0c0c10d1;border:2px solid #fff;border-radius:14px 4px;padding:.6rem .85rem;font-size:.95rem;font-style:italic;font-weight:800;line-height:1.3;animation:.28s ease-out both tip-in;box-shadow:0 6px 18px #00000059}.controller-tip-bubble p{margin:0}.controller-tip-bubble p+p{margin-top:.3rem}.controller-tip-arrow{color:#ffd23f;width:1.3em;font-style:normal;display:inline-block}.controller-tip-mouse{display:none}.controller-tip-next{color:#ffd23f;font-size:.8rem}@keyframes tip-in{0%{opacity:0;scale:.85}to{opacity:1;scale:1}}@media (hover:hover) and (pointer:fine){.controller-tip{--tip-gap:72px;max-width:min(16rem, calc(var(--tip-room,16rem) - var(--tip-gap) - 12px));position:fixed;inset:0 auto auto 0}.controller-tip:not([data-side]){visibility:hidden}.controller-tip-bubble{transition:transform .22s}.controller-tip[data-side=right] .controller-tip-bubble{transform:translate(var(--tip-gap), calc(-50% + 44px))}.controller-tip[data-side=left] .controller-tip-bubble{transform:translate(calc(-100% - var(--tip-gap)), calc(-50% + 44px))}.controller-tip-mouse{display:block}.controller-tip-touch{display:none}}@media (prefers-reduced-motion:reduce){.controller-tip,.controller-tip-bubble{transition:none;animation:none}}.controller-meter{flex-direction:column;align-items:center;gap:6px;margin-bottom:10px;display:flex}.controller-gauge{background:#00000061;border:1px solid #ffffff40;border-radius:7px;align-items:flex-end;width:14px;height:175px;display:flex;position:relative;overflow:hidden}.controller-gauge-fill{background:linear-gradient(180deg, #ffd23f, #ff8a3d 45%, var(--accent));border-radius:0 0 7px 7px;width:100%;transition:height 40ms linear}.controller-tick{background:#ffffff73;height:2px;position:absolute;left:0;right:0}.controller-percent{text-align:center;font-variant-numeric:tabular-nums;min-width:2.6em;color:var(--ink);text-shadow:0 2px 6px #000c;font-size:1.05rem;font-weight:700}.start{box-sizing:border-box;color:var(--ink);text-align:center;padding:calc(env(safe-area-inset-top) + 20px) calc(env(safe-area-inset-right) + 1rem) calc(env(safe-area-inset-bottom) + 20px) calc(env(safe-area-inset-left) + 1rem);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#08080ccc 0%,#08080c00 24% 44%,#08080cdb 66%,#08080cf0 100%);flex-direction:column;display:flex;position:fixed;inset:0}.start-title{flex-direction:column;align-items:center;gap:.4rem;margin:0;animation:.7s cubic-bezier(.2,.9,.3,1.2) both start-drop;display:flex}.start-logo{width:min(34vw,128px);height:auto}.start-wordmark{text-transform:uppercase;letter-spacing:-.01em;color:#fff;text-shadow:0 3px 0 var(--accent), 0 8px 22px #0000008c;padding:0 .12em .32em;font-size:clamp(1.9rem,10.4vw,3.6rem);font-style:italic;font-weight:900;line-height:.95;display:inline-block;position:relative;transform:skew(-6deg)}.start-wordmark:after{content:"";background:repeating-conic-gradient(#fff 0 25%, #141416 0 50%) 0 0 / .2em .2em;height:.2em;position:absolute;bottom:0;left:12%;right:12%;transform:skew(-20deg);-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.start-stage{flex:auto;min-height:110px}.start-panel{justify-items:center;gap:.7rem;width:min(100%,24rem);margin:0 auto;animation:.6s cubic-bezier(.2,.9,.3,1.1) .5s both start-rise;display:grid}.start-pick{letter-spacing:.16em;text-transform:uppercase;opacity:.85;align-items:center;gap:.7rem;width:100%;margin:0;font-size:.75rem;font-weight:700;display:flex}.start-pick:before,.start-pick:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c);flex:1;height:2px}.start-pick:after{transform:scaleX(-1)}.track-thumbs{grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;display:grid}.track-thumb{appearance:none;box-sizing:border-box;aspect-ratio:4/3;color:#fff;cursor:pointer;background:#0c0c108c;border:2px solid #f4f4f647;border-radius:12px 3px;min-height:52px;padding:7px;transition:transform .2s cubic-bezier(.2,.9,.3,1.4),background-color .2s,border-color .2s}.track-thumb.selected{background:var(--accent);border-color:#fff;transform:translateY(-3px)scale(1.05)}.track-thumb:active{transform:scale(.94)}.track-map{width:100%;height:100%;display:block;overflow:visible}.track-map-bed,.track-map-line{fill:none;stroke-linejoin:round}.track-map-bed{stroke:#00000073;stroke-width:15px}.track-map-line{stroke:currentColor;stroke-width:6px}.track-map-start{fill:var(--accent);stroke:#fff;stroke-width:3.5px}.track-thumb.selected .track-map-start{fill:#141416}.track-card{gap:.2rem;width:100%;animation:.45s cubic-bezier(.2,.9,.3,1.25) both garage-name-in;display:grid}.track-title{text-transform:uppercase;letter-spacing:.01em;text-shadow:0 0 24px #e1090cd9,0 2px 10px #0009;margin:0;font-size:clamp(1.6rem,8vw,2.2rem);font-style:italic;font-weight:900;line-height:1}.track-set{opacity:.75;margin:0;font-size:.85rem}.track-facts{grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.4rem 0 0;display:grid}.track-facts>div{background:#ffffff12;border:1px solid #ffffff24;border-radius:10px 3px;flex-direction:column-reverse;gap:.1rem;padding:.4rem .3rem;display:flex}.track-facts dt{letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-size:.66rem}.track-facts dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-style:italic;font-weight:800}.start-go{animation:1.8s ease-in-out infinite start-go-breathe;position:relative;overflow:hidden}.start-go:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:25%;animation:3.4s ease-in-out 1.2s infinite start-go-shine;position:absolute;top:0;bottom:0;left:-35%;transform:skew(-20deg)}@keyframes start-drop{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}@keyframes start-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes start-go-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes start-go-shine{0%{transform:skew(-20deg)translate(0)}35%,to{transform:skew(-20deg)translate(700%)}}@media (prefers-reduced-motion:reduce){.start-title,.start-panel,.track-card,.start-go,.start-go:after{animation:none}.track-thumb{transition:none}}@media (orientation:portrait) and (height<=640px){.start-logo{width:92px}.start-title{gap:.25rem}.start-wordmark{font-size:clamp(1.8rem,9.5vw,2.6rem)}.start-panel{gap:.5rem}.track-thumb{aspect-ratio:auto;height:50px}.track-facts{margin-top:.2rem}.track-facts dd{font-size:1rem}}@media (orientation:landscape) and (height<=560px){.start{background:linear-gradient(90deg,#08080c00 40%,#08080ce6 64%),linear-gradient(#08080cb3 0%,#08080c00 30%);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) min(21rem,46%);column-gap:1.25rem;display:grid}.start-title{flex-direction:row;grid-area:1/1;justify-content:flex-start;align-items:center;gap:.7rem}.start-logo{width:clamp(64px,12vw,88px)}.start-wordmark{padding-bottom:.3em;font-size:clamp(1.2rem,4.1vw,1.9rem)}.start-stage{grid-area:2/1}.start-panel{grid-area:1/2/-1;align-content:center;gap:.5rem;width:100%}.track-thumb{aspect-ratio:auto;height:50px}.track-title{font-size:1.6rem}.track-facts dd{font-size:1rem}}.overlay .label{text-transform:uppercase;letter-spacing:.12em;opacity:.7;margin:0;font-size:.8rem}.shoplink{color:#ff8a3d;text-decoration:underline}a.button{text-decoration:none;display:inline-block}.parts{text-align:left;width:min(100%,30rem)}.parts li{border-bottom:1px solid #f4f4f624;justify-content:space-between;gap:1rem;padding:.65rem 0;list-style:none;display:flex}.parts ul{margin:0;padding:0}.parts .sku{opacity:.6;font-size:.85rem}.parts .summary{opacity:.8;margin-top:1.2rem;font-size:.95rem}.garage{box-sizing:border-box;color:var(--ink);padding:calc(env(safe-area-inset-top) + .6rem) calc(env(safe-area-inset-right) + 1rem) calc(env(safe-area-inset-bottom) + 1rem) calc(env(safe-area-inset-left) + 1rem);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(#08080cb8 0%,#08080c00 20% 48%,#08080ce6 74%);flex-direction:column;display:flex;position:fixed;inset:0}.garage-top{justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;display:flex}.garage-back{appearance:none;color:var(--ink);min-height:44px;font:inherit;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;background:#0c0c1059;border:2px solid #f4f4f666;border-radius:12px 3px;padding:.5rem .9rem .5rem .7rem;font-size:.85rem;font-style:italic;font-weight:800}.garage-back:before{content:"";border-bottom:2.5px solid;border-left:2.5px solid;width:7px;height:7px;margin-right:.45rem;display:inline-block;transform:translateY(-1px)rotate(45deg)}.garage-stage{touch-action:none;cursor:grab;flex:auto;min-height:150px;position:relative;container-type:size}.garage-stage:active{cursor:grabbing}.garage-arrow{--arrow-size:60px;appearance:none;width:var(--arrow-size);height:var(--arrow-size);margin-top:calc(var(--arrow-size) / -2);cursor:pointer;background:#0a0a0e9e;border:3px solid #fff;border-radius:16px 5px;padding:0;transition:transform .15s ease-out,background-color .15s;position:absolute;top:50%;box-shadow:0 6px 18px #00000059}.garage-arrow:active{background:var(--accent);transform:scale(.9)}@media (hover:hover) and (pointer:fine){.garage-arrow:hover{background:var(--accent)}}.garage-arrow:before{content:"";border-top:4px solid #fff;border-right:4px solid #fff;width:16px;height:16px;margin:auto;position:absolute;inset:0}.garage-arrow.previous{left:max(0px, calc(50% - 50cqh - 28px - var(--arrow-size)))}.garage-arrow.previous:before{transform:translate(3px)rotate(-135deg)}.garage-arrow.next{right:max(0px, calc(50% - 50cqh - 28px - var(--arrow-size)))}.garage-arrow.next:before{transform:translate(-3px)rotate(45deg)}@media (width>=900px) and (hover:hover) and (pointer:fine){.garage-arrow{--arrow-size:72px}.garage-arrow:before{border-top-width:5px;border-right-width:5px;width:20px;height:20px}}.garage-card{text-align:center;justify-items:center;gap:.75rem;width:min(100%,24rem);margin:0 auto;display:grid}.garage-name{animation:.45s cubic-bezier(.2,.9,.3,1.25) both garage-name-in}.garage-name h2{text-transform:uppercase;letter-spacing:.01em;text-shadow:0 0 24px var(--car-accent), 0 2px 10px #0009;margin:0;font-size:clamp(1.7rem,8.5vw,2.4rem);font-style:italic;font-weight:900;line-height:1}.garage-name p{opacity:.75;margin:.3rem 0 0;font-size:.85rem}@keyframes garage-name-in{0%{opacity:0;transform:translateY(10px)skew(-10deg)}to{opacity:1;transform:none}}.garage-stats{gap:.45rem;width:100%;display:grid}.stat{grid-template-columns:8.2rem 1fr;align-items:center;gap:.6rem;display:grid}.stat-label{text-transform:uppercase;letter-spacing:.1em;opacity:.75;text-align:left;font-size:.72rem}.stat-track{background:#ffffff1f;border-radius:2px;height:11px;position:relative;overflow:hidden;transform:skew(-20deg)}.stat-track:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 3px),#0a0a0ef2 calc(10% - 3px) 10%);position:absolute;inset:0}.stat-fill{background:linear-gradient(90deg, var(--car-accent), #fff 140%);transform-origin:0;height:100%;transition:transform .6s cubic-bezier(.2,.9,.3,1.15);display:block}.garage-dots{gap:.35rem;display:flex}.garage-dot{appearance:none;cursor:pointer;background:0 0;border:none;width:44px;height:28px;padding:0;position:relative}.garage-dot:before{content:"";background:#ffffff4d;border-radius:4px;height:8px;transition:background .25s,left .25s,right .25s;position:absolute;top:10px;left:8px;right:8px}.garage-dot.selected:before{background:#fff;left:2px;right:2px}@media (prefers-reduced-motion:reduce){.garage-name{animation:none}.stat-fill{transition:none}}@media (orientation:landscape) and (height<=560px){.garage{background:linear-gradient(90deg,#08080c00 40%,#08080ce0 62%);grid-template-rows:auto 1fr;grid-template-columns:1fr min(21rem,46%);column-gap:1rem;display:grid}.garage-top{grid-column:1/-1}.garage-stage{grid-area:2/1}.garage-card{grid-area:2/2;align-content:center;gap:.55rem}}.countdown{pointer-events:none;justify-content:center;display:flex;position:fixed;top:max(15%,5.5rem);left:0;right:0}.countdown-value{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 28px #ff2a14f2,0 4px 16px #0009;font-size:clamp(5rem,30vw,9.5rem);font-style:italic;font-weight:900;line-height:1;animation:.8s cubic-bezier(.2,.9,.3,1.2) both countdown-pop}.countdown-value.yellow{text-shadow:0 0 28px #ffc21af2,0 4px 16px #0009}.countdown-value.green{text-shadow:0 0 30px #2cff52f2,0 4px 16px #0009}.countdown-value.go{text-transform:uppercase;animation:.8s ease-out both countdown-go}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.7)}22%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:.15;transform:scale(.92)}}@keyframes countdown-go{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1.1)}70%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.countdown-value,.countdown-value.go{animation:none}}
