:root{color-scheme:dark;--ink:#132f34;--cream:#f4e8cb;--gold:#e8ac4a;--teal:#46bdb8}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--ink);color:var(--cream);font:16px system-ui,sans-serif}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button,select{min-height:44px;min-width:44px;border:1px solid #72918b;border-radius:8px;background:#24494b;color:var(--cream);padding:8px 12px}button{cursor:pointer;font-weight:650}button:hover{background:#32615e}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:var(--cream);display:inline-flex;align-items:center;min-height:44px;padding:7px 10px;text-underline-offset:4px}[hidden]{display:none!important}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none}header{height:64px;position:absolute;inset:0 0 auto;z-index:4;display:flex;gap:12px;align-items:center;padding:6px 12px;background:var(--ink);border-bottom:1px solid #80928a}.brand{font-weight:800;font-size:12px;letter-spacing:.09em}.brand span{display:block;color:var(--gold);font-size:10px;margin-top:3px}#objective{font-size:12px;flex:1;text-align:center}header button{font-size:12px}.overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:#0d232bdd;overflow:auto}.panel{width:min(960px,100%);max-height:calc(100dvh - 36px);overflow:auto;background:#17383d;border:1px solid #6c827c;border-top:5px solid var(--gold);padding:24px;border-radius:5px 5px 18px 18px;box-shadow:0 20px 60px #0006}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.18em;color:var(--gold)}h1{font-size:clamp(36px,7vw,60px);line-height:1.03;margin:10px 0}h2{font-size:32px;margin:10px 0}.intro{max-width:75ch;color:#cfdbc9;line-height:1.5}.mapWrap{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:center}.mapWrap svg{height:265px;width:100%;border:1px solid #719089;border-radius:10px}.mapWrap text{font:7px system-ui;fill:#1b3539;font-weight:800}.brief b{color:var(--gold);font-size:14px}.brief p{font-size:14px;line-height:1.4;margin:5px 0 14px}.options{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.options label{display:flex;align-items:center;gap:8px;font-size:14px}input[type=checkbox]{height:24px;width:24px}.primary{background:var(--gold);color:#173139;border-color:var(--gold);padding:11px 22px}.small{color:#b3c7bd;font-size:12px;line-height:1.5}.station{position:absolute;overflow:hidden;border:1px solid #73948a66;pointer-events:none;touch-action:none}.station.flip{transform:rotate(180deg)}.topline{position:absolute;left:9px;top:7px;right:9px;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:8px}.name{color:var(--team);font-weight:800;background:#132f34e8;padding:4px 8px;border-left:3px solid var(--team)}.integrity{background:#132f34e8;border-radius:5px;padding:4px 8px;font-variant-numeric:tabular-nums}.read{position:absolute;top:41px;left:12px;background:#132f34d9;border-radius:7px;padding:5px 9px;font-size:12px;max-width:calc(100% - 128px)}.read strong{font-size:25px;font-variant-numeric:tabular-nums}.status{font-size:11px;line-height:1.4;color:#f5e3b5;max-width:250px}.recover{position:absolute;right:9px;top:42px;font-size:12px;pointer-events:auto;width:100px}.stick{position:absolute;left:14px;bottom:14px;width:104px;height:104px;border:2px solid #fff8;background:#132f3477;border-radius:50%;pointer-events:auto;touch-action:none}.knob{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border-radius:50%;background:#f4e8cbbb;border:2px solid #183d3f}.stick small{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:9px}.buttons{position:absolute;right:12px;bottom:14px;display:grid;grid-template-columns:64px 64px;gap:6px;pointer-events:auto}.buttons button{min-height:48px;font-size:12px;padding:6px;touch-action:none}.gas{grid-column:1/-1}.gas.on{background:#4ac8b2;color:#102d34}.drift.on{background:var(--gold);color:#142f34}.brake.on{background:#ed9570;color:#142f34}.notice{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);background:#17383de0;border:1px solid #e8ac4a66;border-radius:8px;padding:7px 10px;font-size:13px;text-align:center;max-width:75%;min-width:140px}.record{position:absolute;left:12px;bottom:132px;max-width:75%;font-size:11px;background:#132f34dd;padding:4px 7px;border-radius:5px}.observations{display:grid;gap:10px}.observation{background:#102c31;padding:12px;border-left:3px solid var(--teal);font-size:13px;line-height:1.6}.observation b{color:var(--gold)}details{margin-top:20px;border-top:1px solid #6c827c;padding-top:10px}summary{min-height:44px;cursor:pointer}details p{font-size:14px;line-height:1.5}@media(max-width:750px){.brand{display:none}#objective{font-size:11px}header{gap:6px;padding:6px}header button{padding:6px 9px}.mapWrap{grid-template-columns:1fr}.mapWrap svg{height:190px}.panel{padding:18px}.stick{width:90px;height:90px;left:9px;bottom:10px}.buttons{right:8px;bottom:10px;grid-template-columns:54px 54px;gap:4px}.read{left:9px;max-width:calc(100% - 113px)}.read strong{font-size:22px}.record{bottom:117px;font-size:10px}.recover{right:7px;width:96px}.name,.integrity{font-size:10px;padding:4px}.topline{gap:4px}}@media(max-height:650px){.record{display:none}.read strong{font-size:20px}.read{top:36px}.recover{top:36px}.stick{height:84px;width:84px}.notice{font-size:11px;top:45%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Circuit guidance stays inside each independent view. */
.circuitMap{grid-template-columns:1fr 1fr}.circuitMap svg{height:310px}.route{position:absolute;top:108px;left:12px;right:12px;font-size:11px;line-height:1.5;background:#132f34e8;padding:5px 8px;border-left:3px solid var(--team);border-radius:3px;max-width:410px}.circuit .record{max-width:90%}@media(max-width:750px){.circuitMap{grid-template-columns:1fr}.circuitMap svg{height:250px}.route{font-size:10px;top:111px;left:9px;right:9px}}@media(max-height:650px){.route{top:102px;font-size:10px;padding:2px 5px}}

.pauseMap{display:block;width:100%;height:220px;border:1px solid #6c827c;border-radius:8px;margin:12px 0}

/* Comparison labels remain inside their driver's view; no modal while driving. */
.comparison{border:1px solid #71948b;border-left:4px solid var(--teal);border-radius:8px;padding:16px;margin:16px 0;background:#102c31}.comparison p{font-size:14px;line-height:1.5}.comparison .options{margin:12px 0}.handling-badge{position:absolute;left:14px;bottom:102px;pointer-events:auto;font-size:12px;min-height:44px;width:148px;border-color:var(--teal);background:#143d40}.handling-badge[data-mode=original]{border-color:var(--gold);color:#f5d79a}.handling-station .record{display:none}.stick.steering-rail{width:148px;height:76px;border-radius:14px;background:linear-gradient(transparent 35px,#a9c8be66 35px,#a9c8be66 38px,transparent 38px),#132f34bd}.steering-rail .knob{border-radius:9px;background:#efdbac}.steering-rail small{font-size:10px;letter-spacing:.12em}.handling-station .status{max-width:240px}@media(max-width:750px){.stick.steering-rail{width:140px;height:76px}.handling-badge{left:9px;bottom:96px;width:140px}}@media(max-height:650px){.stick.steering-rail{height:68px}.handling-badge{bottom:90px}}

.primary:hover{background:#ffd078;color:#173139}
select{font-size:16px}
