:root{
  --os-ink:#0b111b;
  --os-ink-2:#172131;
  --os-metal:#354256;
  --os-metal-hi:#708199;
  --os-cream:#f8ead0;
  --os-yellow:#f6c945;
  --os-orange:#d85d3d;
  --os-red:#e53b3b;
  --os-blue:#62d3ff;
  --os-green:#74df8d;
  --os-purple:#a67cff;
  --os-shadow:#05080d;
  --os-shell-bg:var(--pw-surface,#111827);
  --os-shell-text:var(--pw-text,#f8ead0);
  --os-shell-accent:var(--pw-accent,#f6c945);
  --os-shell-primary:var(--pw-primary,#d85d3d);
  --os-shell-border:var(--pw-border,rgba(255,255,255,.22));
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--os-shell-bg)}
body{min-height:100%;margin:0;color:var(--os-shell-text);background:
  linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/28px 28px,
  linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px) 0 0/28px 28px,
  var(--os-shell-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;padding-bottom:calc(118px + env(safe-area-inset-bottom));overflow-x:hidden}
body.is-embedded{padding-bottom:20px}
button,select,a{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.os-shell{width:min(1600px,100%);margin:0 auto;padding:18px clamp(12px,2vw,30px) 34px}
.os-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:10px 0 14px;border-bottom:3px solid color-mix(in srgb,var(--os-shell-accent) 72%,transparent)}
.os-brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.os-brand-icon{width:48px;height:48px;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.38))}.os-kicker{margin:0 0 2px;color:var(--os-shell-accent);font-size:clamp(.63rem,1vw,.78rem);font-weight:900;letter-spacing:.12em}.os-brand-lockup h1{margin:0;color:var(--os-shell-text);font-size:clamp(1.4rem,3vw,2.4rem);line-height:.95;letter-spacing:.08em;text-shadow:3px 3px 0 rgba(0,0,0,.28)}
.os-top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.os-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:2px solid var(--os-shell-border);background:color-mix(in srgb,var(--os-shell-bg) 70%,#111827);color:var(--os-shell-text);padding:7px 11px;text-decoration:none;font-weight:900;font-size:.76rem;letter-spacing:.05em;cursor:pointer;box-shadow:3px 3px 0 rgba(0,0,0,.26)}.os-chip:hover,.os-chip:focus-visible{border-color:var(--os-shell-accent);color:var(--os-shell-accent);outline:none;transform:translate(-1px,-1px)}
.os-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(310px,.8fr);gap:clamp(16px,2.2vw,30px);align-items:start}
.os-cabinet{position:relative;background:#2a3444;border:5px solid #141a24;box-shadow:0 0 0 3px #68788e,12px 14px 0 rgba(0,0,0,.4);padding:12px;border-radius:9px 9px 18px 18px;min-width:0}
.os-cabinet:before,.os-cabinet:after{content:"";position:absolute;top:19px;width:10px;height:10px;background:#111;border:3px solid #708199;border-radius:50%;box-shadow:0 calc(100% + 580px) 0 #111}.os-cabinet:before{left:15px}.os-cabinet:after{right:15px}
.os-marquee{min-height:74px;margin:2px 16px 12px;background:#0c1220;border:4px solid #090d14;box-shadow:inset 0 0 0 3px #6c7787,0 5px 0 #111;display:flex;align-items:center;justify-content:center;gap:16px;color:#f6c945;text-align:center;font-weight:1000;font-size:clamp(1.4rem,4vw,3rem);letter-spacing:.1em;text-shadow:4px 4px 0 #9e2b2b,7px 7px 0 #1c5075;position:relative;overflow:hidden}.os-marquee:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 2px,transparent 2px 5px);pointer-events:none}.os-marquee small{font-size:.27em;color:#62d3ff;letter-spacing:.16em;text-shadow:2px 2px 0 #5d2870;align-self:flex-end;margin-bottom:15px}.os-marquee-star{font-size:.55em;color:#fff1a2;text-shadow:0 0 9px #f6c945}
.os-screen-frame{background:#131923;border:5px solid #080b10;box-shadow:inset 0 0 0 3px #4a586c;padding:10px;border-radius:14px}.os-screen-header{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px;color:#f8ead0;font-size:.75rem;letter-spacing:.08em}.os-data-badge{display:inline-flex;align-items:center;gap:7px;color:#74df8d;font-weight:900}.os-data-badge:before{content:"";width:9px;height:9px;background:currentColor;box-shadow:0 0 8px currentColor}.os-data-badge.is-demo{color:#f6c945}.os-data-badge.is-error{color:#ff7373}.os-data-badge.is-loading{color:#62d3ff}.os-high-score strong{color:#f6c945}
.os-screen-wrap{position:relative;aspect-ratio:16/9;background:#02070e;overflow:hidden;border:4px solid #000;border-radius:12px;isolation:isolate}.os-screen-wrap canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;background:#06101c;outline:none}.os-screen-wrap canvas:focus-visible{box-shadow:inset 0 0 0 4px #62d3ff}.os-scanlines{position:absolute;inset:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 4px);mix-blend-mode:multiply}.os-screen-glare{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.09),transparent 24%,transparent 70%,rgba(255,255,255,.025));box-shadow:inset 0 0 90px rgba(0,0,0,.62);border-radius:8px}
.os-game-overlay{position:absolute;inset:0;z-index:8;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(2,7,14,.54);backdrop-filter:blur(1.5px)}.os-game-overlay.is-visible{display:flex}.os-overlay-panel{width:min(620px,94%);background:#101a2a;border:4px solid #f6c945;box-shadow:9px 9px 0 rgba(0,0,0,.75),inset 0 0 0 3px #30435f;padding:clamp(18px,4vw,34px);text-align:center}.os-overlay-eyebrow{margin:0 0 7px;color:#62d3ff;font-weight:900;font-size:.78rem;letter-spacing:.14em}.os-overlay-panel h2{margin:0;color:#f6c945;font-size:clamp(2rem,7vw,4.6rem);line-height:.95;letter-spacing:.08em;text-shadow:4px 4px 0 #9e2b2b}.os-overlay-panel>p:not(.os-overlay-eyebrow):not(.os-overlay-controls){font-family:system-ui,sans-serif;color:#e9edf2;line-height:1.45}.os-start-button{min-width:210px;margin:12px 0 4px;padding:14px 20px;border:0;border-bottom:7px solid #742317;background:#d85d3d;color:#fff;font-weight:1000;letter-spacing:.12em;cursor:pointer;box-shadow:5px 5px 0 #05080d}.os-start-button:hover:not(:disabled),.os-start-button:focus-visible:not(:disabled){transform:translate(-2px,-2px);box-shadow:7px 7px 0 #05080d;outline:3px solid #62d3ff}.os-start-button:disabled{filter:grayscale(1);opacity:.55;cursor:wait}.os-overlay-controls{font-size:.7rem;color:#b7c4d3;letter-spacing:.04em;margin:15px 0 0}.os-toast{position:absolute;left:50%;top:18%;z-index:9;transform:translate(-50%,-20px);opacity:0;background:#111827;border:3px solid #62d3ff;color:#fff;padding:10px 17px;font-weight:1000;letter-spacing:.08em;pointer-events:none;transition:.18s}.os-toast.is-visible{opacity:1;transform:translate(-50%,0)}.os-toast.is-alert{border-color:#ff7373;color:#ffb1b1}.os-toast.is-good{border-color:#74df8d;color:#b6ffc6}
.os-cabinet-stats{display:grid;grid-template-columns:repeat(4,minmax(0,.72fr)) repeat(2,minmax(0,1fr));gap:7px;padding-top:9px}.os-stat,.os-gauge{min-height:56px;background:#070c14;border:2px solid #39475a;padding:7px 9px;color:#d5dde8}.os-stat span,.os-gauge span{display:block;color:#9ba9b9;font-size:.64rem;letter-spacing:.1em}.os-stat strong{display:block;color:#f6c945;font-size:clamp(.82rem,1.8vw,1.16rem);white-space:nowrap}.os-stat strong b{font:inherit}.os-gauge{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:7px}.os-gauge span{grid-column:1/-1}.os-gauge-track{height:12px;background:#2c1115;border:2px solid #000;overflow:hidden}.os-gauge-track i{display:block;width:100%;height:100%;background:#74df8d;transform-origin:left center}.os-gauge-track.is-water{background:#0c2634}.os-gauge-track.is-water i{background:#62d3ff}.os-gauge b{color:#f8ead0;font-size:.76rem}
.os-control-deck{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:12px 8px 3px;padding:12px 14px;background:#1b2431;border:4px solid #0a0e14;border-top-color:#6a788a;box-shadow:inset 0 0 0 2px #344254}.os-steer-cluster,.os-pedal-cluster{display:flex;align-items:center;gap:12px}.os-wheel{width:72px;height:72px;border:10px solid #0a0d12;border-radius:50%;position:relative;box-shadow:inset 0 0 0 4px #4b5765,0 4px 0 #000}.os-wheel:before,.os-wheel:after,.os-wheel span{content:"";position:absolute;left:50%;top:50%;width:9px;height:35px;background:#596677;transform-origin:center 4px}.os-wheel:before{transform:translate(-50%,-4px) rotate(0)}.os-wheel:after{transform:translate(-50%,-4px) rotate(120deg)}.os-wheel span{transform:translate(-50%,-4px) rotate(240deg)}.os-arcade-button{border:0;color:#fff;font-weight:1000;cursor:pointer;user-select:none;touch-action:none;box-shadow:0 7px 0 #080b10,0 0 0 4px #0b1018;min-width:62px;min-height:52px}.os-arcade-button:active,.os-arcade-button.is-active{transform:translateY(5px);box-shadow:0 2px 0 #080b10,0 0 0 4px #0b1018}.os-steer{background:#3f5067;font-size:1.3rem}.os-brake{background:#b93a37}.os-gas{background:#d88331}.os-water{background:#1a8ec6;min-width:88px;border-radius:50%;height:72px}
.os-data-console{display:grid;gap:15px;min-width:0}.os-console-card{background:color-mix(in srgb,var(--os-shell-bg) 66%,#111827);border:3px solid color-mix(in srgb,var(--os-shell-border) 82%,#65758a);box-shadow:7px 7px 0 rgba(0,0,0,.3);padding:15px;color:var(--os-shell-text)}.os-card-heading{display:flex;align-items:center;gap:9px;border-bottom:2px solid color-mix(in srgb,var(--os-shell-accent) 70%,transparent);padding-bottom:8px;margin-bottom:11px}.os-card-heading span{display:grid;place-items:center;width:29px;height:29px;background:var(--os-shell-primary);color:#fff;font-weight:1000;box-shadow:3px 3px 0 rgba(0,0,0,.28)}.os-card-heading h2{margin:0;color:var(--os-shell-accent);font-size:1rem;letter-spacing:.09em}.os-select-label{display:block;font-size:.75rem;margin-bottom:6px;color:color-mix(in srgb,var(--os-shell-text) 70%,transparent)}#vehicleRunSelect{width:100%;min-height:45px;background:#080d15;color:#f8ead0;border:2px solid #53647a;padding:8px;font-weight:800}#vehicleRunSelect:focus{outline:3px solid #62d3ff}.os-source-line{display:flex;align-items:flex-start;gap:9px;margin:11px 0 0;font-size:.76rem;line-height:1.35;color:color-mix(in srgb,var(--os-shell-text) 76%,transparent)}.os-source-line i{flex:0 0 10px;width:10px;height:10px;background:#62d3ff;margin-top:2px;box-shadow:0 0 8px currentColor}.os-source-line i.is-live{background:#74df8d}.os-source-line i.is-demo{background:#f6c945}.os-source-line i.is-error{background:#ff7373}
.os-map-bezel{background:#040811;border:4px solid #121923;box-shadow:inset 0 0 0 2px #42536a;padding:7px}.os-map-bezel canvas{display:block;width:100%;height:auto;aspect-ratio:520/300;background:#071321;image-rendering:pixelated}.os-map-legend{display:flex;gap:10px;flex-wrap:wrap;padding:7px 2px 0;color:#aeb9c6;font-size:.62rem}.os-map-legend span{display:flex;align-items:center;gap:4px}.os-map-legend i{width:8px;height:8px;background:#62d3ff}.os-map-legend i.is-trap{background:#e53b3b}.os-map-legend i.is-cleared{background:#74df8d}
.os-record-grid{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.os-record-grid div{min-width:0;background:rgba(0,0,0,.18);border-left:3px solid color-mix(in srgb,var(--os-shell-accent) 68%,transparent);padding:8px}.os-record-grid dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--os-shell-text) 62%,transparent)}.os-record-grid dd{margin:3px 0 0;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}.os-rules-card p{font-family:system-ui,sans-serif;font-size:.86rem;line-height:1.42;margin:.7rem 0;color:color-mix(in srgb,var(--os-shell-text) 86%,transparent)}.os-rules-card b{font-family:ui-monospace,monospace;color:var(--os-shell-accent)}
.os-footer-note{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:20px;border-top:2px solid color-mix(in srgb,var(--os-shell-border) 70%,transparent);padding-top:13px;font-size:.7rem;letter-spacing:.06em;color:color-mix(in srgb,var(--os-shell-text) 68%,transparent)}.os-footer-note a{color:var(--os-shell-accent);font-weight:900}.os-noscript{margin:20px;border:3px solid #ff7373;padding:18px;background:#111827;color:#fff}
@media(pointer:fine){.os-control-deck{opacity:.72}.os-arcade-button:hover{filter:brightness(1.18)}}
@media(max-width:1160px){.os-grid{grid-template-columns:1fr}.os-data-console{grid-template-columns:repeat(2,minmax(0,1fr))}.os-map-card,.os-record-card{grid-row:span 2}.os-rules-card{grid-column:1/-1}}
@media(max-width:760px){body{padding-bottom:calc(126px + env(safe-area-inset-bottom))}.os-shell{padding-left:8px;padding-right:8px}.os-topbar{align-items:flex-start}.os-top-actions{max-width:220px}.os-chip{font-size:.65rem;min-height:34px;padding:5px 8px}.os-brand-icon{width:40px;height:40px}.os-kicker{max-width:190px}.os-cabinet{padding:7px;border-width:4px;box-shadow:6px 8px 0 rgba(0,0,0,.4)}.os-marquee{margin:2px 8px 8px;min-height:56px;gap:7px}.os-marquee small{display:none}.os-screen-frame{padding:6px;border-width:4px}.os-screen-header{height:25px;font-size:.61rem}.os-cabinet-stats{grid-template-columns:repeat(3,1fr)}.os-gauge{grid-column:span 1}.os-stat,.os-gauge{min-height:50px;padding:5px}.os-gauge-track{height:10px}.os-control-deck{margin:8px 2px 2px;padding:9px;gap:9px}.os-wheel{display:none}.os-steer-cluster,.os-pedal-cluster{gap:8px}.os-arcade-button{min-width:52px;min-height:46px;font-size:.76rem}.os-water{min-width:70px;height:60px}.os-data-console{grid-template-columns:1fr}.os-map-card,.os-record-card{grid-row:auto}.os-rules-card{grid-column:auto}.os-footer-note{align-items:flex-start;flex-direction:column}.os-record-grid{grid-template-columns:1fr 1fr}.os-overlay-panel{padding:17px}.os-overlay-controls{font-size:.57rem}}
@media(max-width:460px){.os-topbar{display:block}.os-top-actions{margin-top:12px;max-width:none;justify-content:flex-start}.os-back-link{display:none}.os-marquee{font-size:1.38rem}.os-cabinet-stats{grid-template-columns:repeat(3,1fr)}.os-gauge{grid-column:span 3;grid-template-columns:40px 1fr 28px}.os-gauge span{grid-column:auto}.os-control-deck{display:grid;grid-template-columns:.75fr 1.25fr}.os-steer-cluster{justify-content:center}.os-pedal-cluster{justify-content:flex-end}.os-arcade-button{min-width:45px}.os-water{min-width:62px}.os-record-grid{grid-template-columns:1fr}.os-game-overlay{padding:8px}.os-overlay-panel h2{font-size:2rem}.os-overlay-panel>p:not(.os-overlay-eyebrow):not(.os-overlay-controls){font-size:.76rem}.os-start-button{min-width:175px;padding:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.os-scanlines{display:none}}
@supports not (color:color-mix(in srgb,#000,#fff)){.os-topbar,.os-card-heading{border-color:rgba(246,201,69,.7)}.os-console-card{background:#172131;border-color:#53647a;color:#f8ead0}.os-source-line,.os-rules-card p,.os-footer-note{color:#bcc7d4}.os-record-grid dt{color:#aeb9c6}}
.os-toast.is-info{border-color:#62d3ff;color:#dff8ff}.os-toast.is-success{border-color:#74df8d;color:#baffc8}.os-toast.is-warning{border-color:#f6c945;color:#fff0a6}.os-toast.is-danger{border-color:#ff5663;color:#ffc0c5}.os-gauge-track i.is-danger{background:#e53b3b;animation:os-danger-pulse .55s steps(2,end) infinite}.os-gauge-track i.is-low{background:#f6c945}.os-screen-wrap:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0;background:#000;display:grid;place-items:center}.os-screen-wrap:fullscreen canvas{width:min(100vw,177.78vh);height:min(100vh,56.25vw);object-fit:contain}.os-screen-wrap:fullscreen .os-game-overlay,.os-screen-wrap:fullscreen .os-scanlines,.os-screen-wrap:fullscreen .os-screen-glare,.os-screen-wrap:fullscreen .os-toast{inset:auto}.os-screen-wrap:fullscreen .os-game-overlay{inset:0}.os-screen-wrap:fullscreen .os-scanlines,.os-screen-wrap:fullscreen .os-screen-glare{inset:0}.os-screen-wrap:fullscreen .os-toast{left:50%;top:18%}@keyframes os-danger-pulse{50%{filter:brightness(1.8)}}

/* Open Streets 3.0 road-race controls */
.os-time-stat strong{color:#62d3ff}.os-auto-note{margin:10px 10px 2px;color:#c7d2de;font:700 .72rem/1.45 system-ui,sans-serif;letter-spacing:.01em}.os-auto-note b{color:#f6c945;font-family:ui-monospace,monospace;letter-spacing:.06em}.os-screen-wrap.is-locking{box-shadow:0 0 0 3px #74df8d,0 0 20px rgba(116,223,141,.45)}
.os-fallback-nav{position:fixed;z-index:80;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:4px;max-width:calc(100vw - 20px);padding:6px;background:rgba(10,15,23,.94);border:2px solid #59697c;box-shadow:7px 7px 0 rgba(0,0,0,.42);backdrop-filter:blur(9px)}.os-fallback-nav a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;color:#d9e2ec;text-decoration:none;font-size:.68rem;font-weight:1000;letter-spacing:.06em;border:1px solid transparent;white-space:nowrap}.os-fallback-nav a:hover,.os-fallback-nav a:focus-visible,.os-fallback-nav a[aria-current="page"]{color:#f6c945;border-color:#f6c945;outline:none}.os-fallback-nav.is-hidden{display:none}
@media(max-width:900px){.os-cabinet-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.os-gauge{grid-column:span 2}}
@media(max-width:760px){.os-cabinet-stats{grid-template-columns:repeat(4,1fr)}.os-stat,.os-gauge{min-height:48px}.os-fallback-nav{width:calc(100vw - 16px);justify-content:space-between}.os-fallback-nav a{padding:6px 7px;font-size:.57rem}.os-auto-note{font-size:.66rem}}
@media(max-width:460px){.os-cabinet-stats{grid-template-columns:repeat(2,1fr)}.os-gauge{grid-column:span 2}.os-fallback-nav a:nth-child(4){display:none}}
body.is-embedded .os-fallback-nav{display:none}
.os-stat.is-danger{border-color:#ff4f5d;box-shadow:inset 0 0 16px rgba(255,45,65,.22)}.os-stat.is-danger strong{color:#ff6f7a;animation:os-time-pulse .5s steps(2,end) infinite}@keyframes os-time-pulse{50%{opacity:.55}}
