:root{--ink:#232829;--muted:#777b7d;--paper:#faf9f6;--line:#dfdfd9;--red:#b32b23;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #ad362e;outline-offset:4px}header{height:85px;display:flex;align-items:center;gap:40px;padding:0 36px;border-bottom:1px solid var(--line);background:var(--paper)}.brand img{display:block;width:166px;height:auto}.wordmark{padding-left:30px}.wordmark img{display:block;height:22px;width:auto}.header-right{margin-left:auto;display:flex;gap:28px;align-items:center}.demo-tag{font:10px ui-monospace,monospace;letter-spacing:1.5px;color:#717777;display:flex;align-items:center;gap:7px}.demo-tag i{display:inline-block;width:6px;height:6px;background:#77927a;border-radius:100%}.text-button{border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:650;padding:10px 0;text-decoration:none}.text-button span{margin-left:15px}.text-button:hover{color:var(--red)}main{height:calc(100dvh - 85px);min-height:660px;display:grid;grid-template-columns:minmax(0,1fr) 365px}#stage{position:relative;min-width:0;overflow:hidden;background:#e8e8e1}canvas{width:100%;height:100%;display:block;touch-action:none}.stage-heading{position:absolute;left:38px;top:35px;pointer-events:none}.eyebrow{font:9px ui-monospace,SFMono-Regular,monospace;letter-spacing:1.8px;font-weight:650;color:var(--muted)}h1{font-size:clamp(25px,3.5vw,48px);letter-spacing:-2px;line-height:1.05;margin:14px 0;font-weight:650}h1 span{display:block;color:#92968e;font-weight:350}.stage-footer{position:absolute;bottom:25px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#777e78}.stage-footer b{padding:0 8px}.views{display:flex;gap:3px;background:#faf9f6c9;padding:4px;border:1px solid #ffffff7a;border-radius:4px}.views button{border:0;padding:7px 12px;background:transparent;color:#6a706a;font-size:10px}.views button:hover{background:#fff;color:var(--ink)}#config{background:var(--paper);padding:29px 26px 15px;border-left:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column}.panel-title h2{font-size:25px;font-weight:650;letter-spacing:-1px;margin:13px 0 7px}.panel-title p{font-size:11px;color:var(--muted);margin:0}.paint-section{margin-top:27px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-label h3{font-size:11px;margin:0;font-weight:650}.section-label span{font-size:10px;color:var(--muted)}.swatches{display:flex;gap:13px;padding:3px}.swatch{width:28px;height:28px;border:3px solid var(--paper);outline:1px solid #ddd;border-radius:50%;padding:0;position:relative}.swatch[aria-pressed=true]{outline:1.5px solid var(--ink)}.swatch[aria-pressed=true]:after{content:"";position:absolute;width:5px;height:5px;border-radius:100%;background:white;top:8px;left:8px}.small .swatch{width:23px;height:23px}.small .swatch[aria-pressed=true]:after{top:6px;left:6px;width:4px;height:4px}#categories{display:flex;border-bottom:1px solid var(--line);margin-top:27px;margin-bottom:15px;gap:19px}#categories button{font-size:11px;border:0;background:none;padding:0 0 12px;color:#969996;border-bottom:2px solid transparent}#categories button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--red);font-weight:700}#options{display:grid;gap:8px;min-height:168px;align-content:start}.option{display:flex;align-items:center;text-align:left;padding:13px 12px;background:transparent;border:1px solid var(--line);border-radius:3px;gap:11px;color:var(--ink)}.option:hover{background:#f0f0eb}.option[aria-pressed=true]{border-color:var(--red);background:#f6f0e9}.radio{width:13px;height:13px;border-radius:50%;border:1px solid #bbb;flex-shrink:0}.option[aria-pressed=true] .radio{border:4px solid var(--red)}.option-copy{display:flex;flex:1;flex-direction:column;gap:5px}.option strong{font-size:11px;font-weight:650}.option small{font-size:9px;color:var(--muted)}.option-tag{font:8px ui-monospace,monospace;color:#8d8e88;letter-spacing:.5px;max-width:70px}.accessory-finish{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.summary{margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.summary>div{display:flex;justify-content:space-between}.summary #saved{font-size:9px;color:#839082}.summary p{font-size:11px;line-height:1.65;margin:9px 0 0;color:#666e69}.panel-actions{margin-top:auto;padding-top:21px}.primary{border:0;border-radius:3px;background:var(--red);color:white;padding:15px 19px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:background .15s}.primary:hover{background:#8e221c}#drive{width:100%}.primary span{font-size:20px;font-weight:350;line-height:12px}.reset{display:block;margin:7px auto 0;font-size:10px;color:#80847e}.poc-note{font-size:9px;line-height:1.5;text-align:center;margin:8px 0 0;color:#959892}#loading{position:absolute;inset:0;background:#e9e9e2f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:10}#loading[hidden]{display:none}#loading strong{font-size:16px;font-weight:500}#loading>span:last-child{font-size:11px;color:#848a82}.loader-ring{width:34px;height:34px;border:2px solid #c8cbc3;border-top-color:var(--red);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:absolute;bottom:78px;left:50%;transform:translateX(-50%);padding:10px 18px;background:#242b27e8;color:#fff;font-size:11px;border-radius:5px;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}#toast.show{opacity:1}dialog{width:460px;max-width:calc(100vw - 32px);padding:28px;border:0;border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#161e1caf;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.icon-button{background:transparent;border:0;font-size:25px;line-height:1;color:#777}.dialog-top+h2{font-size:32px;letter-spacing:-1px;margin:21px 0 5px}dialog p{color:var(--muted);font-size:12px}dialog ul{list-style:none;padding:0;margin:25px 0}dialog li{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.sheet-note{font-size:10px;color:var(--muted);line-height:1.6}.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:12px}.dialog-actions .primary{font-size:11px}.dialog-actions a{font-size:11px}body.driving #config,body.driving .stage-heading,body.driving .stage-footer{display:none}body.driving main{display:block}body.driving #stage{height:100%}#driveHud{position:absolute;inset:0;pointer-events:none;color:white;text-shadow:0 1px 10px #0007}#driveHud[hidden]{display:none}#driveHud button{pointer-events:auto}.trail-heading{position:absolute;top:25px;left:30px;display:flex;flex-direction:column;gap:10px}.trail-heading .eyebrow{color:#d4d5c8}.trail-heading strong{font-size:23px;letter-spacing:-.5px}#garage{position:absolute;right:26px;top:23px;background:#242a27e8;border:1px solid #ffffff35}.speedometer{position:absolute;bottom:32px;left:30px;display:flex;align-items:baseline;gap:7px}#speed{font-size:60px;font-weight:650;letter-spacing:-3px}.speedometer small{font-size:11px;letter-spacing:2px}#surface{font:11px ui-monospace,monospace;padding-left:18px;color:#eadcb6}.drive-help{position:absolute;bottom:36px;right:30px;font:10px/1.9 ui-monospace,monospace;opacity:.85}#touchDrive{display:none}@media(max-width:1050px){header{padding:0 22px;gap:25px}.wordmark{padding-left:20px}main{grid-template-columns:minmax(0,1fr) 325px}#config{padding:24px 20px 15px}.stage-heading{left:25px}.stage-footer{left:20px;right:20px}#stageHint{max-width:120px;line-height:1.7}#categories{gap:15px}.option-tag{display:none}}@media(max-width:720px){header{height:64px;padding:0 18px;gap:13px}.brand img{width:120px}.wordmark{padding-left:13px}.wordmark img{height:16px}.header-right{gap:5px}.demo-tag{display:none}.header-right .text-button{font-size:10px}main{height:auto;min-height:calc(100dvh - 64px);display:flex;flex-direction:column}#stage{height:49dvh;min-height:320px}.stage-heading{left:22px;top:21px}.eyebrow{font-size:8px}h1{font-size:29px;letter-spacing:-1px;margin-top:9px}#config{border-left:0;padding:24px;overflow:visible}.panel-title h2{font-size:23px}.panel-title{display:none}.paint-section{margin-top:0}#categories{gap:25px;margin-top:23px}#options{min-height:0}.option{padding:14px}.option strong{font-size:12px}.option small{font-size:10px}.option-tag{display:block}#stageHint{max-width:none;font-size:9px}.stage-footer{bottom:15px}.views button{padding:5px 9px}.summary{margin-top:16px}.panel-actions{padding-top:18px}.poc-note{max-width:280px;margin:9px auto}body.driving main{height:calc(100dvh - 64px)}body.driving #stage{height:100%;min-height:0}.trail-heading{left:18px;top:20px}.trail-heading strong{font-size:18px}#garage{right:14px;top:16px;font-size:11px;padding:12px}.speedometer{bottom:110px;left:20px}#speed{font-size:45px}.drive-help{display:none}#touchDrive{position:absolute;bottom:24px;left:15px;right:15px;display:flex;gap:8px}#touchDrive button{border:1px solid #ffffff60;background:#202c27bb;color:#fff;border-radius:6px;padding:18px;font-size:14px;touch-action:none;user-select:none}#touchDrive button[data-action=gas]{background:var(--red);margin-left:auto}#touchDrive button[data-action=brake]{font-size:10px;margin-left:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loader-ring{animation:none}}[hidden]{display:none!important}
/* Service-bay UI: the same charcoal, red steel, and warm light as the game. */
:root{--ink:#e9e9e1;--muted:#929d9e;--paper:#171d20;--line:#343c3f;--red:#bc3028}
body,header{background:#13191c}header{border-bottom-color:#ffffff18}.demo-tag{color:#a4afac}#stage{background:#181e22}#config{background:linear-gradient(145deg,#20282bf7,#141a1cfb);border-left:1px solid #ffffff15}.stage-heading{top:25px;left:27px;text-shadow:0 2px 12px #0009}.stage-heading .eyebrow{color:#c7b788}h1{font-size:28px;letter-spacing:-.7px;color:#f0eee4;margin-top:9px}h1 span{font-size:12px;letter-spacing:.3px;font-weight:400;color:#b9c0bc;margin-top:9px}.panel-title h2{font-size:23px}.option[aria-pressed=true]{background:#512b254f;border-color:#c9473e}.option:hover{background:#ffffff08}.radio{border-color:#788284}.option-tag{color:#a2aba8}#categories button{color:#95a0a0}#categories button[aria-pressed=true]{color:#fff}.section-label span,.summary p{color:#b0b9b7}.swatch{outline-color:#647073}.swatch[aria-pressed=true]{outline-color:#faf5df}.summary #saved{color:#92a88c}.views{background:#141b20c9;border:1px solid #ffffff24}.views button{color:#c1c8c4}.views button:hover{background:#ffffff15;color:white}.stage-footer{color:#c1c7bd;text-shadow:0 1px 8px #000}.poc-note{color:#899596}#loading{background:#171f22f5}#loading>span:last-child{color:#a0aba5}dialog{background:#1b2326}.sheet-note{color:#a0aaa8}#drive{padding:17px 19px}.reset{color:#9eaaa6}.primary:hover{background:#dc3d31}#stageHint{background:#151d219c;padding:7px 9px;border-radius:3px}
/* Accessory catalog with independent installed-item finishes. */
#config{display:block;scrollbar-width:thin;scrollbar-color:#536064 #171d20;padding-bottom:0}.store-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 12px}.store-heading h3{font-size:12px;margin:0}.store-heading span{font:10px ui-monospace,monospace;color:#aab7b0}#options{display:grid;gap:11px;min-height:0}.product{border:1px solid #394448;border-radius:5px;overflow:hidden;background:#20282a}.product.installed{border-color:#67443b}.product-top{display:flex;align-items:center;gap:10px;padding:11px 10px}.product-image{width:62px;height:54px;object-fit:contain;background:#293236;border-radius:3px}.product-copy{flex:1;min-width:0}.product-copy h3{font-size:12px;line-height:1.3;margin:0 0 5px}.product-copy p{font-size:9px;line-height:1.45;color:#a2afae;margin:0}.product-add{flex-shrink:0;padding:7px 9px;font-size:10px;border:1px solid #b9483b;border-radius:3px;background:#a43127;color:#fff}.installed .product-add{background:transparent;border-color:#4b5759;color:#afb9b7}.product-add:hover{border-color:#ef7160;color:#fff}.product-finish{border-top:1px solid #ffffff0c;padding:9px 11px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.product-finish>span{font-size:9px;color:#a4b0b0}.product-finish>strong{font-size:9px;font-weight:500;color:#e0e7de}.product-finish .swatches{margin-left:auto;gap:7px;padding:2px}.product-finish .swatch{width:18px;height:18px;border-width:2px}.product-finish .swatch[aria-pressed=true]:after{top:5px;left:5px;width:3px;height:3px}.panel-actions{position:sticky;bottom:0;background:#171d20f5;padding:13px 0 12px;margin-top:15px;border-top:1px solid #394448;backdrop-filter:blur(10px)}.panel-actions .reset{display:inline-block;margin-top:5px}.panel-actions .poc-note{font-size:8px;margin-top:0}.summary{padding-top:13px;margin-top:18px}.summary p{font-size:10px}.paint-section{margin-top:20px}@media(max-width:1050px){.product-top{gap:7px;padding:10px 8px}.product-image{width:48px;height:49px}.product-copy h3{font-size:11px}.product-add{font-size:9px;padding:7px}.product-finish .swatches{gap:5px}}@media(max-width:720px){#config{padding-bottom:0}.panel-title{display:block;margin-bottom:20px}.panel-title h2{font-size:23px}.product-image{width:67px;height:56px}.product-copy h3{font-size:13px}.product-copy p{font-size:10px}.product-finish .swatches{gap:10px}.product-finish .swatch{width:23px;height:23px}.product-finish .swatch[aria-pressed=true]:after{top:7px;left:7px}.product-add{font-size:11px;padding:9px}.panel-actions{z-index:3}.panel-actions .poc-note{max-width:none}}
@media(max-width:720px){.panel-actions{position:static}.header-right{gap:16px}}

.product-finish .swatches{width:100%;margin:5px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(22px,1fr));gap:9px}.product-finish .swatch{width:22px;height:22px}.product-finish .swatch[aria-pressed=true]:after{top:7px;left:7px}

.session-settings{display:grid;gap:9px;margin-top:22px}.session-settings label{font-size:11px;color:#b8c3c0}.session-settings input,.session-settings select,#inviteUrl{width:100%;min-width:0;background:#11191e;color:#eee;border:1px solid #526166;padding:11px;font:12px inherit;border-radius:4px}.online-panel{position:absolute;top:88px;right:26px;display:grid;gap:5px;background:#142027dd;padding:10px 14px;border-radius:4px;font-size:12px;color:#e5eadf;max-width:270px}.online-panel .text-button{text-align:right;color:#eee}.online-panel #inviteUrl{font-size:10px}@media(max-width:720px){.online-panel{top:74px;right:14px;font-size:10px;padding:8px;max-width:200px}}

#rolloutOverlay{position:absolute;inset:0;z-index:12;display:flex;align-items:flex-end;justify-content:space-between;padding:32px;background:linear-gradient(transparent 70%,#080d13b0);pointer-events:none;color:#fff}#rolloutOverlay strong{display:block;font-size:22px;margin-top:8px}#rolloutOverlay .eyebrow{color:#e0d5b4}#skipRollout{pointer-events:auto;color:#fff;background:#172027dd;padding:12px 16px;border:1px solid #ffffff55;border-radius:4px}#rolloutFade{position:absolute;inset:0;background:#080d12;z-index:11;opacity:0;transition:opacity .3s;pointer-events:none}#rolloutFade.covered{opacity:1}.rolling-out .stage-heading,.rolling-out .stage-footer{display:none}@media(max-width:720px){#rolloutOverlay{padding:18px;gap:10px}#rolloutOverlay strong{font-size:17px}}@media(prefers-reduced-motion:reduce){#rolloutFade{transition:none}}

.rolling-out .trail-progress,.rolling-out .trail-actions,.rolling-out #timeTrialPrompt,.rolling-out #timeTrialHud,.rolling-out #trialMiniMap{display:none!important}

/* Cabin / chase camera toggle — keep clear of the trail heading and garage. */
#viewMode{position:absolute;top:78px;right:26px;z-index:3;border:1px solid #ffffff45;background:#1c2420e8;color:#f2f4ef;border-radius:4px;padding:12px 16px;font-size:12px;font-weight:650;letter-spacing:.2px;min-width:132px;text-align:center;box-shadow:0 8px 24px #0005}
#viewMode:hover{border-color:#ffffff70;background:#24302ae8}
#viewMode.is-cabin,#viewMode[aria-pressed=true]{background:#a43127;border-color:#ef7160}
@media(max-width:720px){#viewMode{top:68px;right:14px;padding:11px 14px;font-size:11px;min-width:118px}}
.trail-heading{pointer-events:none}
