@import url("./fonts.css");
:root{color-scheme:dark;--bg:#111815;--panel:#17201b;--text:#f2f4ed;--muted:#a1aea4;--line:#ffffff13;--accent:#ef5a45;--font:'DM Sans',system-ui,sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px var(--font);overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f38b78;outline-offset:4px}button{border:0}a{color:inherit}.header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:20px;background:#111815;position:relative;z-index:10}.brand{text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font:italic 700 34px/.85 var(--display);letter-spacing:-.5px}.brand-caption{display:block;font:600 10px var(--font);letter-spacing:2.8px;margin-top:9px}.italy{display:flex;height:3px;width:100%;overflow:hidden}.italy i{flex:1;background:#f2f3ed}.italy i:first-child{background:#009246}.italy i:last-child{background:#ce2b37}.header-middle{font-size:12px;letter-spacing:1.7px;color:#c0cbc0}.header-middle span{color:#79877e;margin-left:22px}.text-button{background:transparent;font-size:13px;color:#b5c1b7;padding:8px 0}.text-button:hover{color:white}.info-icon{display:inline-grid;place-items:center;border:1px solid #839087;border-radius:50%;width:17px;height:17px;margin-left:9px;font:12px Georgia}.app{display:grid;grid-template-columns:334px minmax(0,1fr);height:calc(100dvh - 84px)}.inspector{background:var(--bg);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;scrollbar-color:#3b483f transparent;z-index:4}.inspector-heading{padding:29px 28px 24px;border-bottom:1px solid var(--line)}.eyebrow{font-size:11px;font-weight:650;letter-spacing:1.6px;color:var(--muted)}h1{font:600 clamp(38px,3.5vw,50px)/.99 var(--display);letter-spacing:-.4px;margin:15px 0 25px}.track-stats{display:flex;justify-content:space-between;gap:16px}.track-stats strong{display:block;font:500 27px/1.1 var(--display);letter-spacing:.2px}.track-stats strong span{font:12px var(--font);color:var(--muted);margin-left:4px}.track-stats small{display:block;font-size:11px;color:#8a9a90;margin-top:6px}.corner-section{padding:25px 28px 12px}.section-label{display:flex;align-items:center;justify-content:space-between}.section-label>span:last-child{font-size:11px;color:#7b8c80;font-variant-numeric:tabular-nums}.corner-chips{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 26px}.corner-chip{height:31px;min-width:32px;flex:1 0 13%;border:1px solid #ffffff13;border-radius:4px;background:#19231d;font-size:12px;color:#a1b2a6;font-variant-numeric:tabular-nums}.corner-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.corner-chip:hover{border-color:#fff7}.corner-title{display:flex;justify-content:space-between;gap:9px;align-items:center;margin-bottom:19px}.corner-kicker{font-size:10px;font-weight:650;letter-spacing:1.5px;color:#ee8a79}h2{font:600 30px/1.04 var(--display);margin:10px 0 5px}.corner-subtitle{font-size:12px;color:#8d9e91;margin:7px 0 0}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:6px;background:#1b2821b8;border:1px solid #ffffff12;flex-shrink:0}.icon-button:hover{background:#324038}.icon-button svg{width:19px;height:19px}.focus-button{width:32px;height:32px}.braking-card{border:1px solid #ffffff14;background:linear-gradient(125deg,#23302766,#18221c);border-radius:7px;padding:17px 16px}.card-eyebrow{font-size:10px;letter-spacing:1.5px;color:#95a898;font-weight:550}.speed-pair{display:flex;gap:15px;align-items:center;margin:14px 0 17px}.speed-pair .speed strong{font:500 40px/.9 var(--display);letter-spacing:.2px}.speed-pair .speed.final strong{color:#f28977}.speed-pair .speed small{display:block;margin-top:8px;color:#97a499;font-size:10px}.speed-arrow{font-size:23px;color:#738278;flex:1;text-align:center}.speed .unit{font-size:10px;color:#88998e;display:inline-block;margin-left:3px}.brake-details{border-top:1px solid var(--line);padding-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.brake-details strong{font-size:15px;font-weight:550;white-space:nowrap}.brake-details strong span{font-size:11px;color:#b4c0b7;font-weight:400}.brake-details small{display:block;margin-top:5px;font-size:10px;color:#93a095}.card-source{display:block;font-size:10px;color:#87958b;line-height:1.5;margin:13px 0 0}.corner-description{font-size:13px;line-height:1.75;color:#b1beb3;margin:17px 0 12px}.corner-navigation{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px}.corner-navigation button{font-size:12px}.inspector-footer{padding:22px 28px;margin-top:auto;display:flex;gap:10px;align-items:flex-start;color:#819387;font-size:11px;line-height:1.7}.inspector-footer p{margin:0}.source-dot{height:6px;width:6px;border:1px solid #91a99a;border-radius:50%;margin-top:6px}.source-link{padding:0;background:transparent;color:#94a99a;font-size:11px}.source-link:hover{text-decoration:underline}.viewport{position:relative;min-height:400px;overflow:hidden;background:#28392d}#canvas-host{position:absolute;inset:0}#canvas-host canvas{display:block;width:100%;height:100%;touch-action:none}.view-top{position:absolute;left:27px;right:27px;top:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.view-badge{background:#112219a8;border:1px solid #fff2;backdrop-filter:blur(15px);display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:5px;font-size:10px;letter-spacing:1.4px;color:#d1dccd}.live-dot{height:5px;width:5px;background:#afc59b;border-radius:50%}.view-tools{display:flex;gap:7px;pointer-events:auto}.layers{position:absolute;left:28px;top:87px;display:flex;flex-direction:column;gap:10px;padding:15px;background:#122319b8;border:1px solid #ffffff15;border-radius:6px;backdrop-filter:blur(16px)}.layers>.eyebrow{font-size:9px;letter-spacing:1.4px;color:#9cb4a2;margin-bottom:2px}.layers label{display:flex;align-items:center;position:relative;gap:8px;font-size:11px;color:#c2d2c1;cursor:pointer;min-height:18px}.layers input{position:absolute;left:0;opacity:0;width:16px;height:16px}.check-ui{width:13px;height:13px;border:1px solid #687e6b;border-radius:3px;display:grid;place-items:center}.layers input:checked+.check-ui{background:#a6bd96;border-color:#a6bd96}.layers input:checked+.check-ui:after{content:'';width:6px;height:3px;transform:rotate(-45deg);border-left:1.5px solid #243529;border-bottom:1.5px solid #243529;margin-top:-2px}.layers input:focus-visible+.check-ui{outline:2px solid white;outline-offset:3px}.orientation{position:absolute;bottom:150px;right:30px;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.orientation>span{font-size:9px;letter-spacing:1px;color:#b5c4af}#compass{width:40px;text-align:center;transform-origin:50% 58%}#compass>span{font-size:11px}#compass svg{display:block;height:38px}.scene-legend{position:absolute;bottom:152px;left:29px;display:flex;align-items:center;gap:8px;color:#b2c2ad;font-size:10px}.red-key{width:20px;height:3px;background:#eb725c}.camera-dock{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:7px;background:#132019ee;border:1px solid #f6fff326;border-radius:10px;box-shadow:0 6px 28px #0002;backdrop-filter:blur(16px);max-width:calc(100% - 30px)}.camera-modes{display:flex;gap:5px}.mode{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border-radius:5px;padding:12px 19px;font-size:12px;color:#aabdac;white-space:nowrap}.mode.active{background:#e3e9d9;color:#243229;font-weight:600;box-shadow:0 1px 4px #0003}.mode:hover:not(.active){background:#ffffff0a}.mode svg{width:17px;height:17px}.interaction-hint{position:absolute;bottom:13px;left:12px;right:12px;text-align:center;font-size:10px;letter-spacing:.15px;color:#b3c1ad;pointer-events:none}.interaction-hint span{padding:0 9px;color:#7f9782}.flight-controls{width:100%;align-items:center;gap:10px;padding:0 5px 4px}.flight-controls:not([hidden]){display:flex}.play-pause{height:28px;width:28px;font-size:15px}.flight-controls input{accent-color:#dce9c7;width:100%;min-width:80px;cursor:pointer;height:18px}.flight-controls select{color:#dae7cd;border:0;background:#26372b;border-radius:3px;font-size:12px;padding:4px}.loading{position:absolute;inset:0;background:#233429;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;font-size:13px;color:#c5d2be;transition:opacity .5s;z-index:8}.loading.loaded{opacity:0;pointer-events:none}.loading-track{width:130px;height:156px;overflow:visible}.loading-track-base{stroke:#61755f;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.loading-track-trail{stroke:#b6caa3;stroke-width:3;stroke-linecap:round;stroke-dasharray:14 86;animation:loading-lap 3s linear infinite}.loading-track-car{stroke:#f1f5e9;stroke-width:4.5;stroke-linecap:round;stroke-dasharray:.6 99.4;animation:loading-lap-head 3s linear infinite}@keyframes loading-lap{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes loading-lap-head{from{stroke-dashoffset:-14}to{stroke-dashoffset:-114}}.error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#15211a;padding:26px;border:1px solid #acbd9933;border-radius:12px;width:min(90%,400px);z-index:9}.error p{font-size:14px;line-height:1.6;color:#bac8b2}.error button{background:#dce8ca;color:#23351f;padding:10px 18px;border-radius:6px}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}#leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.track-marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);height:26px;min-width:26px;padding:0 5px;background:#132219e8;border:1px solid #b1c1a98c;border-radius:50%;font:500 11px var(--font);box-shadow:0 2px 5px #0004;pointer-events:auto;color:#eaf1e0;transition:background .2s,border-color .2s;cursor:pointer}.track-marker:hover{background:#f07b61;color:white;z-index:3}.track-marker.active{background:#e9664e;border-color:#ffc0a5;color:white;box-shadow:0 0 0 5px #e96b4222;z-index:4}.map-label{position:absolute;white-space:nowrap;font:600 10px var(--font);letter-spacing:1.5px;color:#d0ddc3;pointer-events:none;text-shadow:0 2px 5px #122218;transform:translate(-50%,-50%)}dialog{max-width:610px;width:calc(100% - 32px);max-height:85dvh;border:1px solid #ffffff20;border-radius:14px;padding:28px 32px;background:#19231c;color:var(--text);box-shadow:0 20px 90px #0008}dialog::backdrop{background:#08100cc9;backdrop-filter:blur(7px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}dialog h2{font-size:38px;margin:15px 0 20px}dialog p{font-size:14px;color:#b3c0b1;line-height:1.7}dialog h3{font-size:13px;font-weight:600;margin:0}.source-item{border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.source-item p{margin:9px 0 0;font-size:13px}.source-item a{color:#d1dfc4;text-decoration-color:#75896a;text-underline-offset:3px}.accuracy-note{padding:18px;background:#ffffff05;border-radius:6px;margin-top:23px}.accuracy-note strong{font-size:13px}.accuracy-note p{font-size:12px;margin-bottom:0}.credits{font-size:11px!important}.no-data-note{font-size:12px;line-height:1.6;color:#acbba9}.corner-type-value{font:500 30px var(--display);margin:12px 0}.geometry-distance{font-size:11px;color:#899d8d;margin:12px 0 0}.view-tools .icon-button{background:#16271dd4;backdrop-filter:blur(8px)}[hidden]{display:none!important}
@media(min-width:1500px){.app{grid-template-columns:370px minmax(0,1fr)}.inspector-heading,.corner-section{padding-left:33px;padding-right:33px}.corner-description{font-size:14px}.corner-chip{height:34px}.inspector-heading{padding-top:38px;padding-bottom:29px}h1{font-size:58px}.corner-title h2{font-size:34px}}
@media(max-height:830px) and (min-width:761px){.header{height:70px}.app{height:calc(100dvh - 70px)}.inspector-heading{padding-top:20px;padding-bottom:18px}h1{font-size:40px;margin:12px 0 17px}.corner-section{padding-top:19px}.corner-chips{margin:13px 0 19px}.corner-description{font-size:12px;line-height:1.6}.braking-card{padding:14px}.inspector-footer{padding-top:14px;padding-bottom:14px}.brake-details small{font-size:10px}.corner-title{margin-bottom:15px}.speed-pair{margin-top:12px;margin-bottom:14px}}
@media(max-width:1050px){.app{grid-template-columns:300px minmax(0,1fr)}.inspector-heading,.corner-section{padding-left:22px;padding-right:22px}.header-middle{display:none}.mode{padding:11px 13px}.layers{left:20px;top:80px}.view-top{left:20px;right:20px}.orientation{right:20px}.orientation>span{display:none}.scene-legend{left:20px;font-size:9px}}
@media(max-width:760px){body{overflow:auto}.header{height:70px;padding:0 19px}.brand{font-size:29px}.brand-caption{font-size:8px;letter-spacing:2.4px}.italy{height:3px;width:100%}.header .text-button{font-size:11px}.app{display:flex;flex-direction:column;height:auto}.viewport{order:0;height:62dvh;min-height:450px;max-height:730px}.inspector{order:1;border-right:0;overflow:visible;display:block}.inspector-heading{padding:24px;display:flex;gap:24px;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.inspector-heading>.eyebrow{display:none}h1{font-size:34px;margin:0}.track-stats{flex:1;max-width:240px;gap:13px}.track-stats strong{font-size:25px}.track-stats small{font-size:10px}.corner-section{padding:23px 24px}.corner-chips{flex-wrap:nowrap;gap:5px;margin-bottom:25px}.corner-chip{flex:1;min-width:20px;height:33px;font-size:11px}.corner-title h2{font-size:33px}.corner-kicker{font-size:11px}.braking-card{padding:18px 20px}.speed-pair .speed strong{font-size:48px}.speed-pair{justify-content:space-between}.speed-arrow{flex:0}.speed-pair .speed small,.card-source,.brake-details small{font-size:11px}.brake-details strong{font-size:17px}.corner-description{font-size:14px}.inspector-footer{padding-top:0}.view-top{top:17px;left:16px;right:16px}.view-badge{font-size:9px;letter-spacing:1px;padding:8px 9px}.view-tools{gap:5px}.view-tools .icon-button{width:31px;height:31px}.layers{left:16px;top:63px;padding:11px;gap:8px}.layers label{font-size:10px}.orientation{right:18px;bottom:139px}.scene-legend{left:17px;bottom:140px;font-size:9px}.camera-dock{bottom:42px}.mode{padding:11px 17px;font-size:11px}.interaction-hint{font-size:9px;bottom:9px}.interaction-hint span{padding:0 4px}.map-label{font-size:9px}.track-marker{height:25px;min-width:25px;font-size:10px}dialog{padding:22px}dialog h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loading-track-trail,.loading-track-car{animation:none}.loading-track-car{stroke-dashoffset:-14}.loading{transition:none}}

/* Readable controls on the 3D working surface. */
.corner-description{font-size:14px;line-height:1.7}.mode{font-size:14px}.corner-chip{font-size:13px}.layers label{font-size:12px}.eyebrow{font-size:12px}.header .text-button,.corner-navigation .text-button{font-size:13px}.card-source,.card-eyebrow,.corner-kicker,.corner-subtitle,.brake-details small,.speed-pair .speed small{font-size:12px}.speed .unit{font-size:11px}.geometry-distance{font-size:11px}.corner-type-value{font-size:29px}.track-stats small{font-size:12px}.zoom-tools{position:absolute;right:28px;top:83px;display:flex;flex-direction:column;gap:5px}.zoom-tools button{font-size:21px;background:#16271dd4}.map-attribution{position:absolute;right:16px;bottom:8px;font-size:10px;color:#aebeaa;text-decoration:none;z-index:3}.map-attribution:hover{text-decoration:underline}.interaction-hint{bottom:24px}.camera-dock{bottom:61px}.viewport.expanded{position:fixed;inset:0;z-index:100;height:100dvh;max-height:none}.view-badge,.scene-legend{font-size:11px}.source-link,.inspector-footer{font-size:12px}.track-marker{font-size:12px}.brake-details{gap:4px}.brake-details small{font-size:11px}.track-stats{gap:10px}.camera-modes .mode{padding-left:16px;padding-right:16px}@media(max-width:760px){.corner-description{font-size:15px}.mode{font-size:13px}.camera-modes .mode{padding-left:13px;padding-right:13px}.layers label{font-size:12px}.zoom-tools{right:16px;top:64px}.zoom-tools .icon-button{width:31px;height:31px}.corner-chip{font-size:12px}.track-stats small{font-size:11px}.header .text-button{font-size:12px}.map-attribution{font-size:10px}.view-badge{font-size:10px}.scene-legend{font-size:10px}.inspector-heading{gap:18px}.interaction-hint{font-size:10px}.corner-chips{overflow-x:auto}.eyebrow{font-size:11px}}

.viewport.flying .scene-legend,.viewport.flying .orientation{bottom:193px}.map-attribution{font-size:11px}.no-data-note{font-size:13px}.track-stats strong span{font-size:12px}.card-source{line-height:1.55}.view-badge{max-width:calc(100% - 120px)}@media(max-width:760px){.viewport.flying .scene-legend,.viewport.flying .orientation{bottom:191px}}
/* Track-level views leave the road and horizon clear. */
.viewport{background:#bfd4e0}.drive-hud{position:absolute;left:27px;right:27px;top:78px;display:flex;align-items:center;gap:20px;pointer-events:none;color:#fff;text-shadow:0 1px 4px #0007;z-index:3}.hud-speed{display:flex;align-items:center;gap:8px}.hud-speed>strong{font:600 42px/1 var(--display);font-variant-numeric:tabular-nums}.hud-speed>span{font-size:12px}.hud-speed small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px}.hud-corner{padding-left:18px;border-left:1px solid #fff5;max-width:460px}.hud-corner strong{display:block;font-size:15px;font-weight:600}.hud-corner>span{display:block;font-size:12px;margin-top:6px;color:#e4e9e3}.viewport.flying .layers{display:none}.viewport.flying .orientation,.viewport.flying .scene-legend,.viewport.flying .interaction-hint{display:none}.viewport.flying .zoom-tools{display:none}.viewport.flying .camera-dock{bottom:30px}.viewport.flying .map-attribution{bottom:7px}.track-marker{background:#17231de8}.map-label{color:#fff;text-shadow:0 1px 4px #000b}.scene-legend{color:#293b2f;background:#eef3e4c4;padding:7px 9px;border-radius:4px}.interaction-hint{color:#2a3b30;text-shadow:0 1px 2px #fff8}.map-attribution{color:#283d31;background:#ffffff8f;border-radius:2px;padding:2px 5px}.orientation>span{color:#293d31}#compass>span{color:#283a31}#compass{filter:drop-shadow(0 1px 1px #26382a)}.loading{background:#253a2d}.camera-dock{background:#12211bea}.view-badge{background:#112219df}.view-tools .icon-button{background:#16271de6}.layers{background:#16271de6}
@media(max-width:760px){.viewport{height:70dvh;min-height:490px;max-height:780px}.drive-hud{left:17px;right:17px;top:69px;gap:12px;align-items:flex-start}.hud-speed>strong{font-size:38px}.hud-corner{padding-left:12px}.hud-corner strong{font-size:13px}.hud-corner>span{font-size:11px;line-height:1.5;max-width:210px}.hud-speed>span{font-size:10px}.hud-speed small{font-size:8px}.viewport.flying .camera-dock{bottom:29px;width:calc(100% - 24px);padding:6px}.camera-modes{width:100%}.camera-modes .mode{flex:1;padding:10px 11px;gap:6px}.camera-modes .mode svg{width:15px}.viewport.flying .camera-modes .mode{font-size:12px}.viewport.flying .flight-controls{padding-bottom:1px}.viewport.flying .map-attribution{font-size:10px}.inspector-heading h1{font-size:32px}}

/* Driver view: compact instruments above a clear road and cockpit. */
.viewport.flying .view-top{top:18px;left:22px;right:22px}.viewport.flying .view-badge{border-radius:5px;padding:10px 12px;font-size:12px;letter-spacing:1.1px;background:#10171ee8;border-color:#ffffff26;color:#f4f5f5}.viewport.onboard .live-dot{background:#f36752}.viewport.flying .view-tools .icon-button{background:#10171edb;border-color:#ffffff26;width:38px;height:38px}.viewport.flying .drive-hud{top:75px;left:22px;right:22px;display:flex;align-items:flex-start;gap:12px;text-shadow:none}.hud-telemetry{position:relative;display:flex;align-items:center;gap:18px;padding:12px 16px 24px;background:#10171edb;border:1px solid #ffffff26;border-radius:7px;backdrop-filter:blur(12px)}.drive-hud .hud-speed{gap:6px;align-items:baseline}.drive-hud .hud-speed>strong{font-size:46px;font-weight:600;line-height:1}.drive-hud .hud-speed>span{font-size:12px;color:#bcc6cc}.hud-gear{padding-left:15px;border-left:1px solid #ffffff26;display:flex;flex-direction:column;align-items:center;gap:3px}.hud-gear>span{font-size:12px;color:#a4b0b9;letter-spacing:.7px}.hud-gear strong{font:600 27px/.9 var(--display);color:#f8f8ef}.hud-simulation{position:absolute;bottom:7px;left:16px;font-size:10px;letter-spacing:1.6px;color:#92a0aa}.drive-hud .hud-corner{max-width:410px;padding:12px 15px;border:1px solid #ffffff26;border-radius:7px;background:#10171edb;backdrop-filter:blur(12px);min-width:0}.hud-corner-heading{display:flex;gap:9px;align-items:center}.hud-corner-heading>span:first-child{color:#f58875;font-size:12px;font-weight:700;flex-shrink:0}.drive-hud .hud-corner strong{font-size:15px;font-weight:600;line-height:1.3}.drive-hud .hud-corner>span{font-size:12px;color:#c6cdd1;line-height:1.5;margin-top:7px}.hud-corner-heading #hud-distance{font-size:12px;color:#acb9c2;white-space:nowrap;margin-left:auto;padding-left:5px}.viewport.flying .camera-dock{bottom:28px;max-width:600px;width:calc(100% - 44px);padding:6px 8px 8px;border-color:#ffffff26;border-radius:10px;background:#10171eed;box-shadow:0 8px 26px #0003;backdrop-filter:blur(14px)}.viewport.flying .camera-modes{width:100%;gap:4px}.viewport.flying .camera-modes .mode{padding:9px 14px;flex:1;color:#b4c0c8;font-size:14px}.viewport.flying .mode.active{color:#10171e;background:#edf0ec;box-shadow:none}.viewport.flying .flight-controls{padding:8px 4px 0;gap:14px}.viewport.flying .play-pause{width:40px;height:40px;background:#ffffff08;font-size:18px;border-color:#ffffff22}.viewport.flying .flight-controls select{font-size:14px;padding:8px 5px;background:#ffffff09;color:#edf1f1;border:1px solid #ffffff1c;border-radius:5px}.lap-timeline{position:relative;flex:1;min-width:0}.lap-time{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#b3bec6;font-variant-numeric:tabular-nums}.lap-time>span:first-child{font-size:11px;letter-spacing:1px}.lap-time b{color:#f0f2ed;font-weight:500}.time-divider{padding:0 3px;color:#73818b}.flight-controls .lap-timeline input{margin:3px 0 0;display:block;accent-color:#edf0ec;width:100%;min-width:0;height:19px}.lap-corner-ticks{height:3px;position:relative;margin:0 7px}.lap-corner-ticks i{position:absolute;height:3px;width:1px;background:#79878f;top:-2px}.viewport.onboard #labels,.viewport.onboard #leaders{display:none}.viewport.flying .map-attribution{background:#10171e9e;color:#c6cdd1;right:10px;font-size:10px}.viewport.flying .layers{display:none}
@media(min-width:1100px){.viewport.flying .hud-corner{margin-left:auto}.viewport.flying .camera-dock{width:540px}}
@media(max-width:760px){.viewport.flying .view-top{left:14px;right:14px;top:14px}.viewport.flying .view-badge{font-size:10px;letter-spacing:.7px;padding:9px 10px}.viewport.flying .view-tools .icon-button{width:34px;height:34px}.viewport.flying .view-tools{gap:4px}.viewport.flying .drive-hud{top:61px;left:14px;right:14px;gap:8px}.hud-telemetry{padding:10px 11px 22px;gap:10px}.drive-hud .hud-speed>strong{font-size:38px}.drive-hud .hud-speed>span{font-size:11px}.hud-gear{padding-left:9px}.hud-gear>span{font-size:10px}.hud-gear strong{font-size:24px}.hud-simulation{left:11px;font-size:9px;bottom:6px}.drive-hud .hud-corner{padding:10px 11px;flex:1}.hud-corner-heading{flex-wrap:wrap;gap:3px 6px}.drive-hud .hud-corner strong{font-size:13px;flex:1;min-width:95px}.drive-hud .hud-corner>span{font-size:12px;line-height:1.35;margin-top:5px;max-width:none}.hud-corner-heading #hud-distance{margin-left:0;padding:0;font-size:11px}.viewport.flying .camera-dock{bottom:27px;width:calc(100% - 24px);padding:5px 6px 7px}.viewport.flying .camera-modes .mode{font-size:12px;padding:9px 6px;gap:5px}.viewport.flying .flight-controls{gap:10px;padding-top:6px}.viewport.flying .play-pause{width:38px;height:38px}.lap-time{font-size:11px}.lap-time>span:first-child{font-size:10px}.viewport.flying .flight-controls select{font-size:13px}.viewport.flying .view-badge{max-width:calc(100% - 118px)}}
@media(max-height:500px){.viewport.flying .drive-hud{top:58px}.viewport.flying .hud-telemetry{padding-top:7px;padding-bottom:20px}.viewport.flying .hud-speed>strong{font-size:32px}.viewport.flying .camera-dock{max-width:500px;bottom:18px}.viewport.flying .camera-modes .mode{padding-top:5px;padding-bottom:5px}.viewport.flying .map-attribution{bottom:1px}.viewport.flying .flight-controls{padding-top:3px}}

/* Lighting stays available in every camera mode, including fullscreen. */
.view-tools .lighting-button,.viewport.flying .view-tools .lighting-button{display:flex;width:auto;gap:7px;padding:0 11px;font-size:13px}
.view-tools .lighting-button[aria-pressed="true"]{background:#674829e8;border-color:#d7a45a80;color:#ffe0ad}
.view-tools .lighting-button:disabled{opacity:.45;cursor:wait}
.view-top .view-badge{max-width:calc(100% - 228px)}
.viewport.dusk .map-label{text-shadow:0 1px 5px #2b201ccc}
@media(max-width:760px){
 .lighting-label{display:none}
 .view-tools .lighting-button,.viewport.flying .view-tools .lighting-button{width:34px;padding:0;justify-content:center}
 .view-top .view-badge,.viewport.flying .view-badge{max-width:calc(100% - 160px)}
 .view-badge #view-label{line-height:1.35}
}


/* Manual driving keeps the road and wheel clear; touch pedals sit to the sides. */
.driver-options{display:flex;align-items:center;gap:10px;width:100%;padding:3px 4px 0}
.driver-options[hidden],.manual-touch[hidden],.manual-readout[hidden],#manual-reset[hidden],#manual-pause[hidden]{display:none}
.drive-choice{display:flex;flex-shrink:0;padding:3px;background:#080e1266;border:1px solid #ffffff1b;border-radius:6px;gap:2px}
.drive-choice button{padding:7px 13px;border-radius:4px;font-size:14px;background:transparent;color:#acbbc4}
.drive-choice button[aria-pressed="true"]{background:#dfe6df;color:#17211c;font-weight:600}
.manual-readout{display:flex;flex-direction:column;gap:3px;margin-left:auto;font-variant-numeric:tabular-nums;min-width:65px}
#manual-feedback{font-size:10px;color:#a8b8b1;letter-spacing:.7px}#manual-feedback.warning{color:#f3b289}
#manual-time{font-size:14px;color:#f1f4ef}
.manual-reset{font-size:13px;background:#ffffff0b;border:1px solid #ffffff22;border-radius:5px;padding:10px;color:#d3ded7;white-space:nowrap}
#manual-pause{width:38px;height:38px;background:#ffffff0b;font-size:18px;border-color:#ffffff22}
.viewport.manual-driving .camera-dock{gap:6px}
.viewport.manual-driving .interaction-hint{bottom:128px;color:#d5dfd6;font-size:12px;text-shadow:0 1px 5px #000;background:#10171ea8;border-radius:5px;padding:6px;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px)}
.manual-touch{position:absolute;bottom:148px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;z-index:3}
.touch-steering,.touch-pedals{display:flex;gap:8px;pointer-events:auto}
.manual-touch button{width:58px;height:58px;border:1px solid #ffffff4a;border-radius:10px;background:#111c22dc;color:#f1f5ed;font-size:14px;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;backdrop-filter:blur(8px)}
.touch-steering button{font-size:26px}
.manual-touch button[aria-pressed="true"]{background:#e0e9db;color:#15231a;border-color:#fff}
#drive-throttle{background:#294839ed;border-color:#9abb9480}#drive-throttle[aria-pressed="true"]{background:#c0dab4;color:#172719}
#drive-brake[aria-pressed="true"]{background:#ec856b;color:#241b17}
@media(hover:hover) and (pointer:fine){.manual-touch{display:none}}
@media(any-pointer:coarse){.manual-touch:not([hidden]){display:flex}.viewport.manual-driving .interaction-hint{display:none}}
@media(max-width:760px){.driver-options{gap:6px;padding:2px 2px 0}.drive-choice button{font-size:13px;padding:7px 10px}.manual-reset{font-size:12px;padding:9px 7px}.manual-readout{min-width:56px}#manual-feedback{font-size:9px;letter-spacing:.3px}#manual-time{font-size:13px}#manual-pause{width:34px;height:36px}.manual-touch{left:14px;right:14px;bottom:142px}.manual-touch button{width:49px;height:53px}.touch-steering,.touch-pedals{gap:6px}.viewport.manual-driving .interaction-hint{bottom:122px;font-size:11px;width:calc(100% - 28px);line-height:1.6}}
@media(max-height:500px){.manual-touch{bottom:119px}.manual-touch button{height:45px;width:49px}.viewport.manual-driving .interaction-hint{bottom:112px}}
