:root{--bg:#080c10;--panel:#10171d;--line:#ffffff1c;--lime:#c3fa53;--text:#f2f5f7;--muted:#8b99a5;--cyan:#61e5ff;--mono:'Courier New',monospace;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button:disabled{opacity:.45;cursor:default}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}[hidden]{display:none!important}#app{min-height:100dvh;position:relative}#menu{min-height:100dvh;position:relative;overflow:hidden;padding:0 5.1vw 55px;background:#070d14}.hero-art{position:absolute;inset:0 0 15%;background:url('./assets/hero.webp') center 32%/cover no-repeat;opacity:.87}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#060d16e8 0%,#060d1690 30%,#060d1600 66%),linear-gradient(0deg,#080d13 6%,#080d13f2 16%,#080d1300 49%,#080d1344)}.header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;height:104px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-align:left;font-weight:800;letter-spacing:1px;font-size:13px;padding:0;white-space:nowrap}.brand-icon{font-size:31px;font-weight:900;font-style:italic;position:relative;width:38px;height:39px;border:1px solid #c3fa5377;display:grid;place-content:center;color:var(--lime);clip-path:polygon(0 0,100% 0,100% 80%,80% 100%,0 100%)}.brand-icon span{font-size:19px;position:absolute;bottom:-3px;right:0;background:#09121c}.brand small{display:block;color:#8c9ba8;font:8px var(--mono);letter-spacing:1.5px;margin-top:6px}nav{display:flex;align-self:stretch;gap:30px}nav button{color:#b9c0c7;font-size:12px;font-weight:600;position:relative;padding:0 2px}nav button.active{color:white}nav button.active:after{content:'';position:absolute;height:2px;background:var(--lime);left:0;right:0;bottom:-1px}.header-actions{display:flex;gap:22px;align-items:center}.language{display:flex;gap:4px;font:10px var(--mono);border:1px solid var(--line);padding:3px;border-radius:3px}.language button{font-size:10px;padding:6px 7px;color:var(--muted)}.language .active{color:var(--bg);background:var(--text)}.install{display:flex;align-items:center;gap:9px;font-weight:600;font-size:11px;padding:11px 14px;border:1px solid #ffffff50;border-radius:3px;white-space:nowrap}.install>span:first-child{font-size:18px;color:var(--lime)}.view{position:relative;z-index:1}.home-view{min-height:calc(100dvh - 159px);display:flex;flex-direction:column}.hero-copy{padding-top:53px;padding-bottom:40px}.eyebrow{font:9px var(--mono);letter-spacing:2px;color:var(--lime);display:flex;align-items:center;gap:9px}.live-dot{display:inline-block;background:var(--lime);width:5px;height:5px;border-radius:50%;box-shadow:0 0 10px #c3fa5355}.hero-copy h1{font-family:Impact,'Arial Black',Arial,sans-serif;font-size:clamp(68px,7.1vw,114px);font-weight:950;font-style:italic;letter-spacing:-4px;line-height:.84;margin:26px 0 22px;max-width:580px;text-shadow:0 2px 40px #07101755}.year{display:flex;gap:0;align-items:center;color:var(--lime);font-size:.66em;letter-spacing:1px;line-height:.95;margin-top:14px}.year>span{color:transparent;-webkit-text-stroke:1px var(--lime)}.year i{font-size:.74em;margin-left:18px;font-style:normal;transform:rotate(-6deg);font-family:Arial}.tagline{font-size:24px;letter-spacing:-.6px;font-weight:500;margin:20px 0 12px}.hero-description{color:#98a8b8;font-size:12px;line-height:1.8;margin:0;max-width:300px}.hero-cta{display:flex;align-items:center;gap:26px;margin-top:27px}.primary{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--lime);color:#0d1607;padding:16px 21px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1px;border-radius:2px;min-height:49px}.primary>span:last-child:not(:first-child){font-size:20px;line-height:1}.text-button{display:flex;align-items:center;gap:15px;font-size:11px;color:#d3dce5;padding:10px 0}.text-button>span:last-child{color:var(--lime)}.capabilities{display:flex;gap:20px;align-items:center;margin-top:27px;font:8px var(--mono);letter-spacing:1px;color:#91a1b0}.capabilities>span{display:flex;align-items:center;gap:6px}.capabilities i{font-style:normal;color:var(--lime)}.capabilities .live-dot{width:4px;height:4px}.hero-side{position:absolute;right:0;top:56px;height:380px;display:flex;align-items:flex-end;flex-direction:column;justify-content:space-between;pointer-events:none}.vertical-label{writing-mode:vertical-rl;font:8px var(--mono);letter-spacing:3px;color:#c4d1db}.world-coordinates{font:8px var(--mono);letter-spacing:2px;line-height:1.8;color:#9faeb9;position:absolute;right:46px;top:10px}.speed-sign{display:flex;gap:10px;align-items:center;font-size:32px;font-weight:800;font-style:italic;opacity:.8}.speed-sign>span{font:7px var(--mono);line-height:1.6;letter-spacing:1px}.race-setup{margin-top:auto;display:grid;grid-template-columns:1.1fr 1.4fr .65fr;align-items:center;gap:30px;border-top:1px solid #ffffff32;border-bottom:1px solid var(--line);padding:20px 0 21px;background:linear-gradient(0deg,#080d1355,#080d1300);position:relative}.featured-track{display:flex;align-items:center;gap:12px;text-align:left;padding:0}.featured-track canvas{width:103px;height:68px;background:#111d27;border:1px solid var(--line);border-radius:2px}.micro{display:block;font:8px var(--mono);color:var(--muted);letter-spacing:1.2px}.featured-track strong{font-size:16px;display:block;margin:9px 0 7px;font-weight:500}.track-description{font:8px var(--mono);letter-spacing:1px;color:#aab7c3}.arrow-circle{margin-left:auto;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;display:grid;place-content:center;color:var(--lime);font-size:14px;flex-shrink:0}.difficulty-panel{border-left:1px solid var(--line);padding-left:30px}.section-label{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:var(--muted);margin-bottom:10px}.section-label>span:last-child{color:#566674}.difficulty-switch{display:flex;gap:5px}.difficulty-option{flex:1;text-align:left;border:1px solid var(--line);padding:10px 12px 9px;border-radius:2px}.difficulty-option strong{font-size:10px;font-weight:600;display:block}.difficulty-option strong span{color:#596772;margin-right:8px;font:8px var(--mono)}.difficulty-option small{font:7px var(--mono);color:#788995;display:block;margin-top:6px}.difficulty-option.active{border-color:#c3fa5380;background:#c3fa530b}.difficulty-option.active strong,.difficulty-option.active strong span{color:var(--lime)}.personal-best{border-left:1px solid var(--line);padding-left:28px}.personal-best strong{font:23px var(--mono);display:block;letter-spacing:1px;margin:8px 0}.personal-best>span:last-child{font-size:8px;color:#738796}.menu-bottom{position:relative;display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:1.3px;color:#627685;margin:19px 0 0}.menu-bottom i{font-style:normal;color:var(--lime);margin:0 9px}.copyright{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;justify-content:center;align-items:center;height:25px;background:#060b10d9;border-top:1px solid #ffffff0c;backdrop-filter:blur(6px);padding-bottom:env(safe-area-inset-bottom,0);font:10px var(--mono);letter-spacing:.3px}.copyright a{color:#8b9ba6;text-decoration:none}.copyright a:hover{color:var(--lime)}.sub-view{padding-top:40px;padding-bottom:12px;min-height:calc(100dvh - 160px)}#menu:has(.sub-view:not([hidden])) .hero-art{opacity:.13;filter:saturate(.5)}#menu:has(.sub-view:not([hidden])) .menu-shade{background:linear-gradient(0deg,#080d13 40%,#080d1377)}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.page-intro h2{font-size:clamp(26px,3vw,42px);font-weight:600;letter-spacing:-1.5px;margin:14px 0 0}.page-intro h2 span{color:var(--lime)}.page-intro p{font-size:11px;color:#8b9da9;line-height:1.8;margin:0}.filter-row{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.filter-row button{font:8px var(--mono);letter-spacing:1px;border:1px solid var(--line);padding:9px 14px;border-radius:2px;color:#a0afbb}.filter-row button.active{background:var(--lime);border-color:var(--lime);color:#102008}.circuit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.circuit-card{position:relative;text-align:left;border:1px solid var(--line);border-radius:3px;overflow:hidden;padding:0;background:#0e1821e6;transition:border-color .2s,transform .2s}.circuit-card:hover{transform:translateY(-3px);border-color:#c3fa5366}.circuit-card.selected{border-color:var(--lime)}.track-thumbnail{position:relative;height:104px;background:radial-gradient(ellipse at 50% 90%,var(--track-glow),transparent 80%),linear-gradient(120deg,#101f2a,#08111a)}.track-thumbnail:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.track-thumbnail canvas{width:100%;height:100%;position:relative;z-index:1}.track-number{position:absolute;top:10px;left:12px;font:8px var(--mono);color:#718492}.track-world{position:absolute;bottom:8px;right:10px;font:7px var(--mono);letter-spacing:1px;color:var(--track-color)}.selected-check{position:absolute;right:10px;top:9px;color:var(--lime);font-size:12px}.track-card-info{padding:13px}.track-card-info h3{font-size:13px;font-weight:500;margin:0 0 8px}.track-card-info p{font-size:9px;color:#7e91a1;margin:0 0 12px;line-height:1.5;min-height:27px}.track-meta{display:flex;justify-content:space-between;font:7px var(--mono);color:#94a8b8}.complexity{letter-spacing:2px;color:var(--track-color)}.selection-bar{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:18px}#selection-label{font-size:12px}.mini-difficulty{display:flex;gap:5px;margin-left:auto}.mini-difficulty button{font-size:9px;padding:9px 12px;border:1px solid var(--line)}.mini-difficulty .active{border-color:var(--lime);color:var(--lime)}.selection-bar .primary{min-height:39px;padding:10px 17px}.record-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}.stat{border:1px solid var(--line);padding:22px;background:#101a23}.stat strong{font:30px var(--mono);display:block;margin-bottom:10px}.stat span{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.records-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.records-table th{font:8px var(--mono);letter-spacing:1px;color:var(--muted);padding:15px 12px;border-bottom:1px solid var(--line)}.records-table td{padding:17px 12px;border-bottom:1px solid var(--line);font-size:10px}.records-table td:first-child{color:var(--lime);font-family:var(--mono)}.records-table td:last-child{font-family:var(--mono);color:var(--lime)}.empty-records{text-align:center;padding:60px 20px;border:1px dashed #ffffff20}.empty-records>span{font-size:44px;color:var(--lime)}.empty-records h3{font-size:22px;font-weight:500;margin:18px 0 10px}.empty-records p{font-size:12px;color:var(--muted);line-height:1.8}.empty-records .primary{margin:25px auto 0;width:200px}.settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.settings-card{background:#101a24dc;border:1px solid var(--line);padding:24px;border-radius:3px}.settings-card h3{font-size:15px;margin:0 0 28px;font-weight:500}.settings-card label{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);color:#a5b2bd;margin:20px 0 11px}.settings-card input[type=text],#pilot-name,.settings-card select{border:1px solid #ffffff28;padding:12px;width:100%;background:#0b131c;color:#f0f5f8;font:12px var(--mono);border-radius:2px}.settings-card input[type=range]{accent-color:var(--lime);width:100%;height:4px}.settings-card input[type=checkbox]{accent-color:var(--lime)}.setting-language{display:flex;gap:7px}.setting-language button{flex:1;border:1px solid var(--line);font-size:10px;padding:10px}.setting-language .active{border-color:var(--lime);color:var(--lime)}.setting-note{font-size:10px;line-height:1.9;color:#7f95a7;margin:22px 0}.outline-button{font-size:10px;display:block;border:1px solid #c3fa5360;color:var(--lime);padding:12px;margin-top:25px;width:100%;border-radius:2px}.soundtrack-name{font:8px var(--mono);letter-spacing:1px;color:var(--lime);border-top:1px solid var(--line);padding-top:14px}.key-row{display:flex;gap:5px;align-items:center;margin-bottom:14px}.key-row kbd{font:8px var(--mono);min-width:24px;display:inline-block;text-align:center;padding:5px 6px;background:#ffffff08;border:1px solid #ffffff22;border-bottom-width:2px;border-radius:3px}.key-row span{font-size:9px;color:#a5b4c0;margin-left:6px;line-height:1.6}.overlay{position:fixed;inset:0;z-index:500;background:#02070cbb;backdrop-filter:blur(12px);display:grid;place-items:center;padding:40px 16px;overflow:auto}.overlay-card{width:100%;max-width:490px;background:linear-gradient(150deg,#14212c,#0b121b);border:1px solid #ffffff25;padding:36px;box-shadow:0 25px 100px #0008;border-radius:4px}.overlay-card .eyebrow{font-size:8px}.overlay-card h2{font-size:38px;letter-spacing:-1px;margin:15px 0 10px;line-height:1.05}.overlay-card p{font-size:12px;color:#99acbb;line-height:1.8}.overlay-card .primary{margin-top:22px;width:100%}.overlay-card .outline-button{margin-top:10px}.overlay-card .text-button{margin:12px auto 0}.overlay-card ol{padding-left:18px;color:#b5c4cf;font-size:12px;line-height:2}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:22px 0}.result-stats span{font:7px var(--mono);color:var(--muted);display:block;margin-bottom:9px}.result-stats strong{font:17px var(--mono);font-weight:400}.result-score{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);color:var(--muted)}.result-score strong{font:33px var(--mono);color:var(--lime)}.record-badge{font:8px var(--mono);letter-spacing:1px;padding:8px;background:#c3fa5315;color:var(--lime);border:1px solid #c3fa5340;display:inline-block;margin-top:16px}#toast{position:fixed;left:50%;bottom:45px;transform:translateX(-50%) translateY(20px);z-index:1200;max-width:90%;padding:12px 18px;background:#1a2b39;border:1px solid #c3fa5366;color:#e6f3fe;font-size:11px;box-shadow:0 5px 30px #0008;border-radius:3px;opacity:0;transition:.2s;pointer-events:none}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
/* The race takes the entire screen. Controls only overlay its outer corners. */
body.racing{overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}#race-screen{position:fixed;inset:0 0 24px;overflow:hidden;background:#051021}#race-canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 40%,#02060d88 100%)}#hit-flash{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 90px #ff3850;opacity:0;transition:opacity .12s}#boost-overlay{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #59e7ff33;opacity:0;background:repeating-conic-gradient(from 0deg at 50% 48%,transparent 0deg 9deg,#71f5ff05 9deg 9.3deg,transparent 9.3deg 20deg)}.race-hud{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.hud-label{display:block;font:9px var(--mono);letter-spacing:2px;color:#b6c6d7;text-shadow:0 1px 8px #000}.hud-left strong{display:block;font-size:51px;line-height:1;letter-spacing:-3px;font-style:italic;margin-top:8px}.hud-left strong span{font-size:17px;letter-spacing:-.5px;color:#93a6b9;font-style:normal;margin-left:7px}#race-track-name{font:8px var(--mono);text-transform:uppercase;letter-spacing:2px;margin-top:10px;color:var(--lime)}.hud-center{text-align:center;position:absolute;left:50%;transform:translateX(-50%)}.race-time{display:block;font:27px var(--mono);margin-top:9px;letter-spacing:-1px;text-shadow:0 1px 5px #000}.lap-time{font:8px var(--mono);color:#b2c4d5;display:block;margin-top:6px}.hud-right{display:flex;gap:7px;pointer-events:auto}.hud-button{width:33px;height:33px;display:grid;place-content:center;border:1px solid #ffffff35;background:#07121b66;backdrop-filter:blur(8px);border-radius:3px;font-size:14px}.mini-map{position:absolute;right:26px;top:91px;width:150px;pointer-events:none;text-align:center}.mini-map canvas{width:100%;height:auto}.mini-map span{font:6px var(--mono);letter-spacing:1px;color:#94afc0;display:block}.telemetry{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);width:230px;pointer-events:none}.speed{display:flex;align-items:baseline;justify-content:center;gap:9px}.speed strong{font-size:61px;font-weight:800;font-style:italic;letter-spacing:-3px;text-shadow:0 3px 20px #0008}.speed>span{font:9px var(--mono);color:#a9c1d2}.energy-label{display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:1px;color:#a3bacb;margin:6px 0}.energy-bar{height:4px;background:#ffffff25;border-radius:2px}.energy-bar>div{height:100%;width:100%;background:var(--lime);box-shadow:0 0 9px #b7ff5733;transition:width .1s}.race-progress{height:2px;background:#ffffff17;margin-top:12px}.race-progress>div{height:100%;width:0;background:#6bcce7}.race-center{position:absolute;top:37%;left:0;right:0;text-align:center;font-size:clamp(55px,10vw,110px);font-weight:900;font-style:italic;color:var(--lime);text-shadow:0 0 35px #86f5ff55;pointer-events:none;line-height:1}.race-center small{display:block;font:10px var(--mono);color:white;letter-spacing:3px;margin-top:15px}.race-tip{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;font:10px var(--mono);letter-spacing:1px;background:#081320bb;color:var(--lime);padding:9px 15px;border-radius:2px;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}.touch-controls{position:absolute;inset:0;pointer-events:none}.dpad{position:absolute;left:max(23px,env(safe-area-inset-left));bottom:30px;width:115px;height:115px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;pointer-events:auto;touch-action:none}.dpad button{border:1px solid #c4dfee45;background:#0e2036aa;backdrop-filter:blur(5px);font-size:24px;color:#d3e7f5;border-radius:5px;touch-action:none}.dpad button.pressed{background:#c3fa5333;border-color:var(--lime);color:var(--lime)}.dpad .up{grid-area:1/2}.dpad .left{grid-area:2/1}.dpad .right{grid-area:2/3}.dpad .down{grid-area:3/2}.dpad-center{grid-area:2/2;color:#8bc5df66;display:grid;place-content:center;font-size:23px}.action-pad{position:absolute;right:max(26px,env(safe-area-inset-right));bottom:39px;display:flex;gap:13px;align-items:flex-end;pointer-events:auto;touch-action:none}.action-pad button{border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;backdrop-filter:blur(5px)}.boost-button{width:73px;height:73px;background:#c3fa5322;border:1px solid #c3fa53b3;color:var(--lime);box-shadow:inset 0 0 20px #c3fa530c}.boost-button span{font-size:30px;line-height:1;transform:rotate(-90deg)}.action-pad small{font:7px var(--mono);letter-spacing:1px;margin-top:5px}.pulse-button{width:52px;height:52px;border:1px solid #6ee8ff80;background:#092a3baa;color:#85ebff;margin-bottom:-10px}.pulse-button>span{font-size:22px;line-height:1}.action-pad button.pressed{background:#c3fa5355;transform:scale(.95)}.action-pad button.cooldown{opacity:.4}.control-caption{position:absolute;right:0;bottom:-24px;font:6px var(--mono);letter-spacing:1.2px;color:#9cb1c2}#rotate-note{position:fixed;inset:0;background:#08111af5;backdrop-filter:blur(20px);z-index:700;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}#rotate-note>span{font-size:75px;color:var(--lime)}#rotate-note strong{font-size:28px;margin-top:15px}#rotate-note p{color:var(--muted);font-size:13px;line-height:1.8;max-width:230px}#rotate-note .primary{margin-top:18px}#rotate-note .text-button{margin-top:12px}.overlay-card .loading-line{height:2px;background:var(--lime);margin-top:20px;animation:loading 1s infinite}@keyframes loading{50%{opacity:.2;transform:scaleX(.4)}}
@media(min-width:1600px){#menu{padding-left:8vw;padding-right:8vw}.hero-copy{padding-top:8vh}.hero-art{background-position:center 42%}.hero-copy h1{font-size:124px}.race-setup{margin-bottom:12px}}@media(max-height:760px) and (min-width:900px){.header{height:82px}.hero-copy{padding-top:32px;padding-bottom:30px}.hero-copy h1{font-size:79px;margin-top:20px;margin-bottom:18px}.tagline{font-size:20px;margin:15px 0 9px}.hero-description{font-size:11px}.hero-cta{margin-top:21px}.capabilities{margin-top:20px}.hero-side{height:300px}.race-setup{padding:16px 0}.home-view{min-height:calc(100dvh - 137px)}}@media(max-width:1050px){#menu{padding-left:4vw;padding-right:4vw}.header{gap:18px}nav{gap:21px}.header-actions{gap:10px}.race-setup{gap:18px}.difficulty-panel{padding-left:18px}.personal-best{padding-left:18px}.difficulty-option{padding:9px 8px}.difficulty-option strong span{margin-right:4px}.featured-track canvas{width:80px}.featured-track strong{font-size:14px}.circuit-grid{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:1fr 1fr}.controls-card{grid-column:1/-1}.controls-card .key-row{display:inline-flex;margin-right:18px}.hero-art{background-position:58% center}}
@media(max-width:720px) and (orientation:portrait){.header{height:125px;align-items:flex-start;padding-top:24px;flex-wrap:wrap;gap:12px}.brand{font-size:10px;gap:8px}.brand-icon{width:29px;height:31px;font-size:24px}.brand small{font-size:6px}.header-actions{margin-left:auto}.install{font-size:9px;padding:8px 10px}.language button{padding:5px;font-size:9px}nav{order:3;flex:1;justify-content:space-between;width:100%;height:39px;gap:18px}nav button{font-size:11px}.hero-art{inset:120px 0 30%;background-position:65% center;opacity:.54}.menu-shade{background:linear-gradient(90deg,#060d16dd,#060d1600),linear-gradient(0deg,#080d13 25%,transparent 65%)}.hero-copy{padding-top:44px;padding-bottom:37px}.hero-copy h1{font-size:82px;letter-spacing:-4px}.eyebrow{font-size:7px;letter-spacing:1.5px}.hero-description{font-size:11px}.hero-side{display:none}.tagline{font-size:21px}.hero-cta{gap:18px;margin-top:25px}.primary{font-size:10px;padding:15px 17px;gap:25px}.text-button{font-size:10px}.capabilities{gap:13px;flex-wrap:wrap;font-size:6px}.race-setup{grid-template-columns:1fr;gap:18px;padding:18px 0}.featured-track canvas{width:100px;height:59px}.featured-track strong{font-size:16px}.difficulty-panel{border-left:0;padding:0}.personal-best{display:none}.difficulty-option{padding:13px}.difficulty-option strong{font-size:11px}.difficulty-option small{font-size:8px}.menu-bottom{font-size:6px;line-height:1.8}.menu-bottom>span:nth-child(2){display:none}.home-view{min-height:calc(100dvh - 180px)}.page-intro{align-items:flex-start;flex-direction:column;gap:16px}.page-intro h2{font-size:33px}.page-intro p{font-size:11px}.sub-view{padding-top:30px}.circuit-grid{grid-template-columns:repeat(2,1fr);gap:9px}.track-card-info{padding:11px}.track-card-info h3{font-size:12px}.track-card-info p{font-size:8px}.track-world{font-size:6px}.track-thumbnail{height:90px}.selection-bar{flex-wrap:wrap;gap:15px}.selection-bar .primary{flex:1}.mini-difficulty{margin-left:0}#selection-label{width:100%}.record-stats{gap:7px}.stat{padding:15px 10px}.stat strong{font-size:22px}.stat span{font-size:6px}.records-table th,.records-table td{padding:12px 5px;font-size:8px}.records-table th:nth-child(3),.records-table td:nth-child(3){display:none}.settings-grid{grid-template-columns:1fr}.controls-card{grid-column:auto}.controls-card .key-row{display:flex}.settings-card{padding:22px}.overlay-card{padding:26px}.overlay-card h2{font-size:30px}}
@media(max-height:520px) and (orientation:landscape){#menu{padding:0 4vw 42px}.header{height:59px}.brand{font-size:10px;gap:9px}.brand small{font-size:6px}.brand-icon{width:28px;height:30px;font-size:24px}nav{gap:22px}nav button{font-size:9px}.header-actions{gap:12px}.language button{font-size:8px;padding:4px 5px}.install{font-size:9px;padding:7px 10px;gap:6px}.install>span:first-child{font-size:14px}.hero-copy{padding-top:19px;padding-bottom:15px}.hero-copy h1{font-size:57px;letter-spacing:-2px;margin:15px 0 10px}.hero-copy .eyebrow{font-size:6px;letter-spacing:1.4px}.year{margin-top:8px}.tagline{font-size:16px;margin:10px 0 7px}.hero-description{font-size:9px;line-height:1.7}.hero-cta{gap:20px;margin-top:15px}.hero-cta .primary{min-height:34px;padding:9px 15px;font-size:9px;gap:25px}.hero-cta .text-button{font-size:9px}.capabilities{font-size:6px;gap:15px;margin-top:13px}.hero-side{top:26px;height:230px}.vertical-label{font-size:6px}.world-coordinates{font-size:6px;right:30px}.speed-sign{font-size:22px}.speed-sign>span{font-size:6px}.home-view{min-height:calc(100dvh - 101px)}.race-setup{padding:10px 0;gap:15px;grid-template-columns:1fr 1.3fr}.featured-track canvas{height:44px;width:70px}.featured-track strong{font-size:12px;margin:6px 0}.micro,.section-label{font-size:6px}.track-description{font-size:6px}.difficulty-panel{padding-left:15px}.difficulty-option{padding:7px 9px}.difficulty-option strong{font-size:8px}.difficulty-option small{font-size:6px;margin-top:4px}.difficulty-option strong span{font-size:6px}.personal-best{display:none}.section-label{margin-bottom:6px}.menu-bottom{margin-top:10px;font-size:5px}.hero-art{inset:0 0 8%;background-position:center 40%}.copyright{height:20px;font-size:8px}.sub-view{padding-top:23px}.page-intro{margin-bottom:20px}.page-intro h2{font-size:28px}.page-intro .eyebrow{font-size:7px}.page-intro p{font-size:9px}.circuit-grid{grid-template-columns:repeat(4,1fr);gap:8px}.track-thumbnail{height:77px}.track-card-info{padding:10px}.track-card-info h3{font-size:10px}.track-card-info p{font-size:8px}.track-meta{font-size:6px}.track-world{font-size:6px}.filter-row button{font-size:7px;padding:7px 10px}.settings-grid{grid-template-columns:1fr 1fr 1fr;gap:12px}.settings-card{padding:17px}.settings-card h3{font-size:12px}.controls-card{grid-column:auto}.controls-card .key-row{display:flex;margin-right:0}.settings-card label{font-size:8px}.setting-note{font-size:8px}.key-row span{font-size:7px}.key-row kbd{font-size:7px}.overlay{padding:25px 16px}.overlay-card{max-width:520px;padding:23px 30px}.overlay-card h2{font-size:28px;margin-top:10px}.overlay-card p{font-size:10px;margin:8px 0}.overlay-card .primary{min-height:38px;margin-top:13px;padding:11px 16px}.overlay-card .outline-button{padding:10px}.overlay-card .text-button{margin-top:6px}.result-stats{padding:13px 0;margin:15px 0}.result-stats strong{font-size:14px}.result-score strong{font-size:26px}.record-badge{padding:6px;font-size:7px;margin-top:9px}.race-hud{top:13px;left:max(17px,env(safe-area-inset-left));right:max(17px,env(safe-area-inset-right))}.hud-label{font-size:7px;letter-spacing:1.2px}.hud-left strong{font-size:33px;margin-top:5px;letter-spacing:-1px}.hud-left strong span{font-size:12px}.hud-left #race-track-name{font-size:6px;margin-top:6px;letter-spacing:1px}.race-time{font-size:20px;margin-top:6px}.lap-time{font-size:6px;margin-top:4px}.hud-button{width:27px;height:27px;font-size:12px}.mini-map{right:17px;top:51px;width:95px}.mini-map span{font-size:5px}.telemetry{bottom:18px;width:175px}.speed strong{font-size:40px;letter-spacing:-2px}.speed>span{font-size:7px}.energy-label{font-size:6px;margin:4px 0}.energy-bar{height:3px}.race-progress{margin-top:8px}.dpad{width:96px;height:96px;left:max(18px,env(safe-area-inset-left));bottom:16px;gap:3px}.dpad button{font-size:20px}.dpad-center{font-size:18px}.action-pad{right:max(22px,env(safe-area-inset-right));bottom:27px;gap:12px}.boost-button{width:59px;height:59px}.boost-button span{font-size:25px}.pulse-button{width:42px;height:42px}.pulse-button>span{font-size:19px}.action-pad small{font-size:6px;margin-top:4px}.control-caption{font-size:5px;bottom:-18px}.race-tip{font-size:8px;padding:6px 10px;top:24%}.race-center small{font-size:8px}#race-screen{bottom:19px}}

/* Preserve the attribution outside device cutouts. */
.copyright{height:calc(25px + env(safe-area-inset-bottom,0px))}#race-screen{bottom:calc(24px + env(safe-area-inset-bottom,0px))}@media(max-height:520px) and (orientation:landscape){.copyright{height:calc(20px + env(safe-area-inset-bottom,0px))}#race-screen{bottom:calc(19px + env(safe-area-inset-bottom,0px))}}
/* Vehicle hangar — previews use exactly the same geometry as the race. */
.garage-strip{display:flex;align-items:center;width:100%;gap:14px;min-height:58px;text-align:left;padding:9px 15px;background:#0d1b28cb;border:1px solid #ffffff22;border-bottom:0;margin-top:auto}.garage-strip>.vehicle-icon{width:30px;height:40px;flex-shrink:0}.garage-strip>span:nth-child(2){display:flex;gap:17px;align-items:center;flex:1;flex-wrap:wrap}.garage-strip small{font:7px var(--mono);letter-spacing:1.1px;color:var(--muted)}.garage-strip strong{font-size:13px;font-weight:600}.garage-strip em{font:7px var(--mono);letter-spacing:1px;font-style:normal;color:var(--lime)}.garage-change{font:9px var(--mono);color:var(--lime);white-space:nowrap}.race-setup{margin-top:0}.hangar-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:22px}.vehicle-stage{--vehicle-color:#c3fa53;border:1px solid #ffffff24;background:radial-gradient(ellipse at 50% 25%,#203b50,#0a141f 70%);min-width:0}.vehicle-preview-shell{height:245px;position:relative;border-bottom:1px solid #ffffff18;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:30px 30px}.vehicle-preview-shell>.micro{position:absolute;top:16px;left:18px;font-size:7px;color:#90a6b5}.vehicle-preview-shell canvas{display:block;width:100%;height:100%;touch-action:pan-y}.vehicle-detail{padding:22px}.vehicle-detail h3{font:600 26px Arial,sans-serif;letter-spacing:-.7px;margin:12px 0}.vehicle-detail p{font-size:10px;line-height:1.8;color:#95a7b6;min-height:37px;margin:0 0 18px}.vehicle-detail .eyebrow{color:var(--vehicle-color);font-size:7px;letter-spacing:1.2px}.vehicle-stat{display:flex;align-items:center;gap:12px;margin:10px 0}.vehicle-stat>span{font:7px var(--mono);color:#9eb1c1;width:93px;letter-spacing:.6px}.vehicle-stat>div{height:3px;flex:1;background:#ffffff17}.vehicle-stat i{display:block;height:100%}.vehicle-stat b{font:8px var(--mono);color:#c4d4e0;min-width:20px;text-align:right}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vehicle-card{--vehicle-color:#c3fa53;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #ffffff20;background:linear-gradient(150deg,#152432da,#0c141f);padding:16px 11px;min-width:0;transition:border-color .2s,transform .2s}.vehicle-card:hover{border-color:var(--vehicle-color);transform:translateY(-2px)}.vehicle-card.selected{border-color:var(--vehicle-color);background:linear-gradient(160deg,#243745,#0d1b27)}.vehicle-index{align-self:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font:6px var(--mono);letter-spacing:.5px;color:#8d9eac}.vehicle-card .vehicle-icon{width:66px;height:94px;filter:drop-shadow(0 3px 12px #0006);margin:10px 0 6px}.vehicle-card strong{font-size:13px;margin:0 0 8px;font-weight:500}.vehicle-card-role{font:6px var(--mono);letter-spacing:.6px;color:var(--vehicle-color);line-height:1.6;min-height:20px}.vehicle-mini-stats{display:flex;width:100%;justify-content:space-between;gap:7px;padding-top:11px;margin-top:10px;border-top:1px solid #ffffff14;font:6px var(--mono);color:#8d9eac}.vehicle-mini-stats b{display:block;color:#c9dce6;font:10px var(--mono);margin-top:5px}.vehicle-check{position:absolute;right:9px;top:7px;color:var(--vehicle-color);font-size:14px}.record-machine{display:block;color:#8ca1b3;font:7px var(--mono);margin-top:6px}.collision-tip{color:#ffe0ad!important;border:1px solid #ffba6580;background:#371b0bdc!important;font-weight:bold}.energy-hit{animation:energyHit .18s 3}@keyframes energyHit{50%{filter:brightness(3)}}#vehicle-preview-fallback{height:100%;display:flex;align-items:center;justify-content:center;gap:20px;padding:20px}#vehicle-preview-fallback .vehicle-icon{width:90px;height:150px}#vehicle-preview-fallback small{max-width:180px;font:9px/1.8 var(--mono);color:var(--muted)}
@media(max-width:1050px){nav{gap:20px}.hangar-layout{grid-template-columns:1fr 1.25fr}.vehicle-grid{grid-template-columns:repeat(2,1fr)}.vehicle-card{padding:12px;min-height:158px}.vehicle-card .vehicle-icon{height:64px;width:49px;margin:7px 0}.vehicle-card-role{min-height:12px}.vehicle-mini-stats{padding-top:8px;margin-top:7px}.vehicle-preview-shell{height:285px}.vehicle-detail{padding:20px}.vehicle-detail p{min-height:60px}.garage-strip>span:nth-child(2){gap:12px}}
@media(max-width:720px) and (orientation:portrait){nav{gap:14px}nav button{font-size:10px}.hangar-layout{grid-template-columns:1fr;gap:16px}.vehicle-preview-shell{height:230px}.vehicle-detail p{min-height:0}.vehicle-detail{padding:18px}.vehicle-grid{grid-template-columns:repeat(2,1fr);gap:9px}.vehicle-card{min-height:185px}.vehicle-card .vehicle-icon{height:85px;width:60px}.garage-strip{padding:10px;gap:9px}.garage-strip>span:nth-child(2){gap:5px;flex-direction:column;align-items:flex-start}.garage-strip small{font-size:6px}.garage-strip strong{font-size:12px}.garage-strip em{font-size:6px}.garage-change{font-size:7px}.garage-strip>.vehicle-icon{width:25px;height:37px}}
@media(max-height:520px) and (orientation:landscape){nav{gap:17px}.garage-strip{min-height:42px;padding:4px 10px;gap:10px}.garage-strip>.vehicle-icon{height:31px;width:23px}.garage-strip small,.garage-strip em{font-size:6px}.garage-strip strong{font-size:11px}.garage-change{font-size:7px}.hangar-layout{grid-template-columns:1fr 1.4fr;gap:14px}.vehicle-preview-shell{height:175px}.vehicle-detail{padding:15px}.vehicle-detail h3{font-size:19px;margin:9px 0}.vehicle-detail p{min-height:0;font-size:8px;line-height:1.7;margin-bottom:12px}.vehicle-stat{margin:7px 0;gap:8px}.vehicle-stat>span{font-size:6px;width:85px}.vehicle-stat b{font-size:7px}.vehicle-grid{grid-template-columns:repeat(3,1fr);gap:8px}.vehicle-card{min-height:150px;padding:10px 7px}.vehicle-card .vehicle-icon{height:63px;width:45px;margin:6px 0}.vehicle-card strong{font-size:10px;margin-bottom:6px}.vehicle-card-role{font-size:5px;min-height:16px}.vehicle-index{font-size:5px}.vehicle-mini-stats{font-size:5px;padding-top:7px;margin-top:6px}.vehicle-mini-stats b{font-size:8px}.record-machine{font-size:6px}}
