/* Dedicated simulator shell; does not change the rest of the website. */
.race-sim{max-width:1600px;width:calc(100% - 64px);padding-top:28px}
.race-sim .race-head{align-items:center;margin-bottom:22px}.race-sim .display-2{font-size:clamp(30px,3vw,46px);margin:5px 0 0}.race-sim .race-head p{font-size:14px;margin-top:4px}
.sim-tag{color:#abc0cf;border:1px solid #25394a;border-radius:100px;padding:10px 15px;display:flex;gap:10px;align-items:center;font:600 11px Inter,sans-serif;letter-spacing:.12em}
.sim-tag i,.sim-dot{width:6px;height:6px;background:#4ff0a6;border-radius:50%;display:inline-block;box-shadow:0 0 8px #4ff0a655}
.race-sim .race-layout{display:block}.race-sim .race-stage{position:relative;height:clamp(530px,68vh,820px);padding:0;border:1px solid #32424e;border-radius:14px 14px 0 0;box-shadow:0 24px 70px #0005}
.race-sim #race-canvas{width:100%;height:100%;aspect-ratio:auto;outline:none;background:#343b40}.race-sim #race-canvas:focus-visible{outline:2px solid #40d6ed;outline-offset:-3px}
.sim-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#09142266,transparent 24%,transparent 72%,#09142255)}
.sim-session{position:absolute;top:19px;left:22px;display:flex;gap:8px;align-items:center;color:#deedf5;letter-spacing:.14em;font:600 10px Inter,sans-serif;text-shadow:0 1px 3px #000}
.race-sim .hud{left:20px;top:45px;transform:none;gap:1px;border-radius:7px;overflow:hidden}.race-sim .hud div{background:#07111bbf;border:0;border-radius:0;padding:10px 15px;backdrop-filter:blur(12px);min-width:88px}
.race-sim .hud small{color:#94a9ba;font:500 9px Inter,sans-serif;letter-spacing:.14em;margin-bottom:6px}.race-sim .hud b{font:600 23px/1 'Chakra Petch',sans-serif;color:#ecf5fa}
.sim-map{position:absolute;top:18px;right:20px;width:180px;padding:12px 10px 9px;background:#0915219e;backdrop-filter:blur(8px);border-radius:8px;pointer-events:none}
.sim-map canvas{width:100%;display:block}.sim-map span{color:#9fb7c5;font:600 8px Inter,sans-serif;letter-spacing:.17em;display:block;text-align:center;margin-top:5px}
.race-sim .race-overlay{place-items:center start;padding:114px 26px 24px;background:linear-gradient(90deg,#05101dc9,transparent 72%);backdrop-filter:none}
.race-sim .overlay-card{background:#08121acf;border:1px solid #7e9bb63b;box-shadow:0 12px 36px #0004;backdrop-filter:blur(16px);border-radius:12px;width:min(338px,100%);align-items:flex-start;text-align:left;padding:24px;gap:16px}
.race-sim .overlay-card .eyebrow{font-size:9px;color:#59d5eb;letter-spacing:.17em}.race-sim .overlay-card h2{font-size:32px;line-height:1.05;margin:0}.race-sim .overlay-card p{font-size:13px;line-height:1.6;color:#b6c8d5}
.race-sim .overlay-card .btn{width:100%;padding:13px 16px;min-height:45px}.race-sim .car-pick{gap:10px}.race-sim .car-pick button{height:25px;width:25px;box-shadow:inset 0 0 0 2px #0006}.race-sim .car-pick button:focus-visible{outline:2px solid #50daf1;outline-offset:4px}
.sim-demo{padding:0;background:none;border:0;color:#a8c1cf;cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.sim-telemetry{position:absolute;bottom:22px;right:24px;display:grid;gap:6px;width:120px;color:#d0dfe6;font:600 9px Inter,sans-serif}#sim-grip{letter-spacing:.14em;margin-bottom:3px}
.pedal-meter{display:flex;align-items:center;gap:8px}.pedal-meter small{width:24px;font-size:8px}.pedal-meter i{width:84px;height:4px;background:#d8e9f333;display:block;overflow:hidden}.pedal-meter b{background:#3ce5bf;display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left}.pedal-meter.brake b{background:#f38a75}
.steering-meter{position:relative;width:78px;height:2px;background:#c8d6e655;margin:8px 0 0 34px}.steering-meter i{position:absolute;left:37px;top:-2px;width:4px;height:6px;background:#dae8f5}
.sim-lights{position:absolute;top:36%;left:50%;transform:translateX(-50%);padding:17px 22px;border-radius:12px;background:#06111cd9;display:flex;gap:12px}.sim-lights[hidden]{display:none}.sim-lights i{height:22px;width:22px;border-radius:50%;background:#3b232a;border:1px solid #6d3742}.sim-lights i.lit{background:#ff374e;box-shadow:0 0 22px #f32951}
.sim-notice{pointer-events:none;position:absolute;left:50%;bottom:26px;transform:translateX(-50%);background:#091522d9;color:#e6f5fc;font:600 13px 'Chakra Petch',sans-serif;letter-spacing:.1em;padding:10px 16px;border-radius:6px;white-space:nowrap;margin:0}.sim-notice:empty{display:none}
.sim-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:#0c1824;border:1px solid #32424e;border-top:0;border-radius:0 0 14px 14px}
.sim-toolbar label{display:flex;align-items:center;gap:8px;color:#8296a8;font-size:11px}.sim-toolbar select{font:500 12px Inter,sans-serif;background:#142331;color:#d5e5ef;border:1px solid #344653;border-radius:5px;padding:8px 22px 8px 9px;width:auto;height:34px}
.sim-toolbar button{background:#152431;color:#bbcfdd;border:1px solid #344653;border-radius:5px;padding:8px 11px;font:500 11px Inter,sans-serif;height:34px;cursor:pointer}.sim-toolbar button[aria-pressed=true]{color:#6ce0eb;border-color:#32717b}.sim-toolbar button:disabled{opacity:.4;cursor:default}.toolbar-space{flex:1}
.sim-bottom{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;padding-top:30px}.sim-guide h2{font-size:25px;margin:6px 0 10px}.sim-guide p{color:#8ca1b1;font-size:14px;max-width:620px}.sim-guide .keys{margin:20px 0;gap:12px 16px;font-size:11px}.sim-guide .fine{font-size:11px}
.race-sim .leaderboard{padding:22px;background:#0c1722;border:1px solid #243746}.leaderboard-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.leaderboard-heading h2{font-size:17px;margin:0}.leaderboard-heading>span{font-size:9px;letter-spacing:.15em;color:#6e8799}
.race-sim .leaderboard .fine{margin-top:18px;font-size:11px;color:#7892a5}.race-sim .leaderboard ol{padding-left:23px}.race-sim .leaderboard li{padding:9px 0}.race-sim .leaderboard li span{display:inline-block;width:74%}
.race-sim .touch-controls{z-index:4;padding:12px}.race-sim .touch-controls button{width:64px;height:58px;font-size:10px;border-radius:10px;background:#0a192aaa}
.race-stage[data-state=ready] .touch-controls,.race-stage[data-state=paused] .touch-controls,.race-stage[data-state=done] .touch-controls{display:none}
.race-stage:fullscreen,.race-stage.expanded{width:100vw!important;height:100dvh!important;max-height:none!important;border:0;border-radius:0;background:#222}.race-stage.expanded{position:fixed!important;inset:0;z-index:100}
.sim-only[hidden]{display:none!important}.race-sim .race-stage[data-renderer=classic] #race-canvas{object-fit:contain}
@media(max-width:900px){.race-sim{width:calc(100% - 32px)}.sim-bottom{grid-template-columns:1fr;gap:22px}.race-sim .race-stage{height:clamp(530px,68vh,680px)}.sim-tag{display:none}.sim-map{width:130px}.race-sim .overlay-card{width:300px;padding:20px}.race-sim .overlay-card h2{font-size:28px}.sim-telemetry{bottom:90px}}
@media(max-width:600px){.race-sim{width:calc(100% - 20px);padding-top:20px}.race-sim .race-stage{height:560px}.race-sim .hud{top:42px;left:12px;right:12px}.race-sim .hud div{min-width:0;flex:1;padding:8px 10px}.race-sim .hud b{font-size:19px}.sim-session{left:14px;font-size:8px}.sim-map{top:111px;right:12px;width:105px;padding:6px}.sim-map span{font-size:6px}.race-sim .race-overlay{padding:150px 14px 18px;align-items:end}.race-sim .overlay-card{gap:12px;width:285px}.race-sim .overlay-card p{font-size:12px}.sim-toolbar{gap:8px;padding:12px}.toolbar-space{display:none}.sim-toolbar label{flex:1}.sim-toolbar select{width:100%}.sim-notice{bottom:86px;font-size:10px;padding:8px}.sim-telemetry{bottom:100px;right:18px;width:92px}.sim-telemetry .pedal-meter i{width:56px}.sim-telemetry .steering-meter{width:56px}.race-sim .keys kbd{font-size:10px;min-width:20px}.sim-bottom{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.sim-vignette{background:none}}

.sim-exitfull{position:absolute;right:20px;top:160px;z-index:8;background:#071521d9;color:#e5f5ff;border:1px solid #526877;border-radius:5px;padding:9px 12px;cursor:pointer}.sim-exitfull[hidden]{display:none}

.race-sim .hud b{white-space:nowrap}
@media(max-width:600px){.race-sim .hud b{font-size:17px}.sim-toolbar label{flex:1 1 42%;flex-direction:column;align-items:stretch;gap:5px}.sim-toolbar select{min-width:110px}.sim-exitfull{top:110px;left:14px;right:auto;font-size:10px}}

.race-sim .car-pick[hidden]{display:none}.race-sim .overlay-card{max-height:100%;overflow-y:auto;flex-shrink:0}.race-sim .overlay-card>*{flex-shrink:0}

/* Motion is opt-in. The brake and touch fallback remain reachable while driving. */
.sim-tilt-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:16px 18px;margin-bottom:16px;background:#0e222c;border:1px solid #315260;border-radius:10px}.sim-tilt-panel strong{font:600 16px 'Chakra Petch',sans-serif;color:#d8f3f6}.sim-tilt-panel p{color:#9ebbc8;font-size:12px;line-height:1.55;margin:4px 0 0}.sim-tilt-options{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.sim-tilt-options label{font-size:11px;color:#9ebbc8;display:flex;gap:7px;align-items:center}.sim-tilt-panel button,.sim-tilt-panel select,.sim-tilt-inrace button{min-height:40px;padding:9px 12px;background:#183343;border:1px solid #4a6a7b;border-radius:6px;color:#dfedf5;font:500 12px Inter,sans-serif;cursor:pointer}.sim-tilt-panel #sim-tilt{background:#39cde3;border-color:#64dce9;color:#062735;font-weight:700}.sim-tilt-panel button:disabled{opacity:.4;cursor:default}.sim-tilt-panel #sim-tilt-status{flex-basis:100%;font-size:11px;color:#c0dbe3}.sim-tilt-inrace{position:absolute;bottom:19px;left:14px;display:flex;gap:6px;z-index:6;max-width:calc(100% - 110px)}.sim-tilt-inrace button{font-size:11px;padding:9px 10px;background:#0a1d2ee6;min-height:42px}.race-stage[data-tilt=on] .tc-steer,.race-stage[data-tilt=on] .tc-pedals .gas{display:none}.race-stage[data-tilt=on] .touch-controls{justify-content:flex-end}.race-stage[data-tilt=on] .race-overlay{padding-bottom:85px}.sim-tilt-panel button:focus-visible,.sim-tilt-panel select:focus-visible,.sim-tilt-inrace button:focus-visible{outline:2px solid #74e7f3;outline-offset:3px}
@media(max-width:600px){.sim-tilt-panel{padding:13px;gap:10px}.sim-tilt-options{margin-left:0;width:100%;gap:7px}.sim-tilt-options label{flex:1;min-width:100%;justify-content:space-between}.sim-tilt-options select{min-width:130px}.sim-tilt-panel button{min-height:44px;flex:1}.sim-tilt-inrace{gap:4px;left:10px;bottom:20px}.sim-tilt-inrace button{padding:9px 8px;font-size:10px}.race-stage[data-tilt=on] .sim-notice{max-width:92%;white-space:normal;text-align:center;bottom:86px}.race-stage[data-tilt=on] .overlay-card{max-height:100%}}
