:root{color-scheme:dark;--ink:#f1f3ed;--muted:#b1bfc4;--gold:#efbc60;--navy:#13232e;--panel:rgba(17,31,42,.93);--border:rgba(210,226,229,.16);--red:#ec8b81;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#12212b;color:var(--ink)}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-touch-callout:none}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{border:0}button:hover:not(:disabled){filter:brightness(1.08)}[hidden]{display:none!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}#view{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none}#vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,20,30,.94) 0%,rgba(7,20,30,.71) 25%,rgba(7,20,30,0) 62%),linear-gradient(0deg,rgba(7,20,30,.5),transparent 22%)}body.driving #vignette{background:linear-gradient(0deg,rgba(8,19,27,.61),transparent 24%,transparent 83%,rgba(8,19,27,.55))}.brand-header{position:fixed;z-index:3;top:calc(26px + var(--safe-t));left:calc(38px + var(--safe-l));right:calc(38px + var(--safe-r));display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:22px;letter-spacing:2.5px}.brand b{color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:#b9ced5}.header-actions{display:flex;align-items:center;gap:10px}.pill,.icon-button{background:rgba(17,31,42,.55);border:1px solid var(--border);height:40px;min-width:40px;border-radius:10px;font-size:11px;letter-spacing:1px;font-weight:700;padding:0 14px}.icon-button{font-size:18px;padding:0}.menu{position:fixed;inset:0;z-index:2;overflow-y:auto;overscroll-behavior:contain;padding:115px calc(38px + var(--safe-r)) calc(28px + var(--safe-b)) calc(50px + var(--safe-l));scrollbar-width:thin}.menu-content{width:416px;max-width:100%;position:relative}.eyebrow{color:var(--gold);font-size:9px;font-weight:700;letter-spacing:2px;line-height:1.6;text-transform:uppercase}h1{font-size:76px;letter-spacing:-3px;line-height:.94;margin:17px 0 20px;font-weight:900}h1 em{color:var(--gold);font-style:normal}p.intro{max-width:365px;font-size:14px;line-height:1.6;color:#c4d1d5;margin:0 0 22px}.setup-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.setup-card h2{font-size:9px;font-weight:750;letter-spacing:1.8px;color:#a9b9c1;margin:0 0 13px}.modes{display:flex;flex-direction:column;gap:5px}.mode{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;background:transparent;border-radius:9px;min-height:52px}.mode.active{background:rgba(239,188,96,.09);border-color:rgba(239,188,96,.55)}.mode-glyph{width:24px;flex-shrink:0;text-align:center;font-size:25px;color:#a5b7bf;font-weight:500}.mode[data-mode=challenge] .mode-glyph{font-size:15px;letter-spacing:-1px;font-weight:800}.mode.active .mode-glyph{color:var(--gold)}.mode strong{display:block;font-size:13px}.mode small{display:block;font-size:10px;color:#a1b5bf;margin-top:4px}.mode-tick{margin-left:auto;opacity:0;font-size:15px;color:var(--gold)}.mode.active .mode-tick{opacity:1}.course-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.course-title h2{margin:0}.small-link{background:transparent;color:var(--gold);padding:4px;font-size:12px}.course-title .small-link{font-size:19px;width:26px;height:28px}.course-fields{display:grid;grid-template-columns:1.4fr .72fr 1fr;gap:10px;margin-top:10px}.course-fields label>span,.settings-grid label>span{display:block;font-size:10px;color:#adbdc5;margin-bottom:6px}select{display:block;width:100%;background:#203340;border:1px solid #42515a;border-radius:6px;color:var(--ink);padding:7px 8px;font-size:12px;min-height:34px;touch-action:manipulation}select:disabled{opacity:.45}.check-row{display:flex;align-items:center;gap:9px;font-size:12px;margin:12px 0;cursor:pointer}.check-row input{width:17px;height:17px;accent-color:var(--gold);margin:0;flex-shrink:0}.check-row .subtle{margin-left:auto;font-size:9px;color:#718d9d;letter-spacing:1.4px}.primary,.secondary{border-radius:8px;min-height:45px;padding:12px 16px;font-weight:750;font-size:12px;letter-spacing:.3px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary{background:var(--gold);color:#17242c;box-shadow:inset 0 1px rgba(255,255,255,.15)}.secondary{background:#223744;border:1px solid #415561;color:#dbe5e5}.start-row{display:flex;gap:9px;margin-top:14px}.start-button{flex:1;justify-content:space-between;padding:14px 18px;min-height:48px;font-size:12px;letter-spacing:.7px}.control-button{width:48px;border:1px solid #4d5d65;background:#22333f;border-radius:8px;display:grid;place-items:center}.input-hint{font-size:9px;color:#96acb8;text-align:center;line-height:1.5;margin:12px 0 0}.local-best{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a5bac4;margin:14px 4px 0}.local-best strong{font-variant-numeric:tabular-nums;color:#cfdbda;font-size:11px}.legal{font-size:9px;line-height:1.5;color:#93a8b3;margin:12px 4px 0;max-width:400px}.vehicle-caption{position:fixed;left:56%;bottom:calc(47px + var(--safe-b));max-width:37%;text-shadow:0 2px 18px rgba(0,0,0,.5)}.vehicle-caption .eyebrow{font-size:9px}.vehicle-caption h2{font-size:36px;letter-spacing:2px;margin:8px 0 10px}.vehicle-caption p{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#d3dedd}.vehicle-caption small{font-size:9px;color:#b9ced1}.ready-tag{position:fixed;right:calc(42px + var(--safe-r));top:calc(115px + var(--safe-t));display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.5px;color:#e8eddf;text-shadow:0 1px 5px #193343}.ready-tag span{width:5px;height:5px;border-radius:50%;background:#c1dd9d;box-shadow:0 0 10px #bdd69e}.hud{position:fixed;inset:0;z-index:3;pointer-events:none;user-select:none;-webkit-user-select:none}.hud button{pointer-events:auto}.run-header{display:flex;align-items:center;gap:20px;position:absolute;top:calc(14px + var(--safe-t));left:calc(20px + var(--safe-l));right:calc(20px + var(--safe-r));height:61px}.mini-brand{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:1px;font-weight:800;text-shadow:0 1px 6px #152c36}.mini-brand small{display:block;font-size:8px;letter-spacing:1.6px;color:#b9cdcd;margin-top:4px;font-weight:600}.stats{display:flex;align-items:center;gap:0;position:absolute;left:50%;transform:translateX(-50%);border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(18,32,42,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 9px;box-shadow:0 5px 20px #0a19241a}.stats>div{padding:0 19px;border-right:1px solid var(--border);min-width:76px}.stats>div:last-child{border:0}.stats span{display:block;font-size:8px;letter-spacing:1.3px;color:#a5bdc8;margin-bottom:5px}.stats strong{font-size:20px;letter-spacing:.5px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.stats>div:nth-child(3) strong{color:#f1b99a}.stats>div:nth-child(4) strong{color:var(--gold)}.run-actions{display:flex;gap:8px;margin-left:auto}.hud-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border-radius:9px;padding:0 13px;border:1px solid var(--border);background:rgba(19,35,46,.88);font-size:11px}.hud-button.square{width:42px;padding:0}.progress-track{position:absolute;top:calc(90px + var(--safe-t));left:calc(22px + var(--safe-l));right:calc(22px + var(--safe-r));height:2px;background:rgba(246,243,222,.19)}.progress-track>div{height:100%;width:0;background:var(--gold);box-shadow:0 0 10px #e9c97766}.instruction{position:absolute;top:calc(115px + var(--safe-t));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 17px;border-radius:9px;border:1px solid rgba(255,255,255,.16);background:rgba(20,37,46,.76);text-align:left;white-space:nowrap}.instruction>span{color:var(--gold);font-size:28px;line-height:1}.instruction strong{display:block;font-size:13px;letter-spacing:1px}.instruction small{display:block;color:#c0d1d4;font-size:10px;margin-top:4px}.map-wrap{position:absolute;top:calc(117px + var(--safe-t));right:calc(22px + var(--safe-r));width:108px;background:rgba(16,33,45,.84);border-radius:10px;border:1px solid var(--border);overflow:hidden}.map-wrap>div{display:flex;justify-content:space-between;padding:9px 10px 0;font-size:8px;letter-spacing:2px;color:#bdd0d4}.map-wrap canvas{width:108px;height:135px;display:block}.countdown{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);font-size:min(25vh,154px);line-height:1;font-weight:900;letter-spacing:-6px;color:#f5d282;text-shadow:0 4px 1px #15293580,0 8px 50px #1b303866}.toast{position:absolute;left:50%;top:30%;transform:translateX(-50%);padding:10px 20px;border-radius:30px;background:#1c3440ee;border:1px solid #b4d5c7;font-size:12px;box-shadow:0 8px 20px #111b222b;max-width:85%;text-align:center}.toast.bad{border-color:#e5a28c;color:#ffccad}.speed-warning{position:absolute;top:calc(186px + var(--safe-t));left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#f7d18a;background:rgba(20,37,46,.8);padding:5px 10px;border-radius:20px}.pedals{position:absolute;bottom:calc(22px + var(--safe-b));left:calc(25px + var(--safe-l));right:calc(25px + var(--safe-r));height:130px;pointer-events:none}.pedal{position:absolute;bottom:0;height:114px;width:100px;border-radius:16px;border:1px solid rgba(229,240,241,.3);background:rgba(22,40,51,.79);color:#eef2e9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 5px 20px #0a192440,inset 0 1px 0 #ffffff11;touch-action:none;transition:background .10s}.pedal.held{background:rgba(85,119,114,.95);border-color:#d3e9c5;transform:translateY(2px)}.pedal b{font-size:11px;letter-spacing:2px}.pedal small{font-size:8px;letter-spacing:1px;color:#a2bcc8}.gas{right:0;border-color:#ebc07288}.gas.held{background:#cfad69;color:#172936}.gas.held small{color:#324c52}.brake{left:0}.brake.held{background:#946253;color:#ffe7d8}.pedal-ribs{display:block;width:36px;height:24px;background:repeating-linear-gradient(90deg,transparent 0px,transparent 5px,#c1d1d866 5px,#c1d1d866 8px)}.touch-mode .brake{left:auto;right:114px;width:84px}.steer-pad{position:absolute;bottom:0;left:0;width:160px;height:130px;background:rgba(20,38,48,.42);border:1px solid #a6bfcc55;border-radius:18px;touch-action:none;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px}.steer-pad .steer-wheel{width:83px;height:83px;stroke:#d6e0e0;stroke-width:3.7;fill:none;transform:rotate(0deg);pointer-events:none}.steer-pad span{font-size:8px;color:#c8d8de;letter-spacing:1.5px}.steer-pad small{font-size:7px;line-height:1;color:#7c9bad}.steer-pad.held{border-color:var(--gold);background:rgba(47,72,86,.9)}.tilt-mode .steer-pad{display:none}.speed-cluster{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);text-align:center;min-width:132px;text-shadow:0 2px 12px #142934}.speed-line{display:flex;align-items:baseline;justify-content:center;gap:8px}.speed-line>strong{font-size:64px;font-weight:750;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-3px}.speed-line>span{font-size:9px;letter-spacing:1px}.gear-button{position:relative;top:-5px;min-width:30px;height:32px;border:1px solid #c6d7d944;background:#19344399;border-radius:6px;font-size:15px;font-weight:700}.gear-button.reverse{color:#ffba96;border-color:#eda379}.steering-meter{height:3px;position:relative;width:104px;background:#b8cfd166;margin:12px auto 10px;border-radius:2px}.steering-meter:after{content:"";position:absolute;top:-3px;left:50%;height:9px;width:1px;background:#acbfc299}.steering-meter i{position:absolute;left:50%;top:-3px;width:9px;height:9px;background:var(--gold);border-radius:50%;transform:translateX(-50%);z-index:1}.speed-cluster>small{font-size:9px;color:#c6d2d3;letter-spacing:1.2px}.speed-cluster .small-link{display:block;margin:auto;font-size:9px}.dialog{color:var(--ink);background:#152733;border:1px solid #45545c;border-radius:20px;padding:32px;width:min(520px,calc(100vw - 32px - var(--safe-l) - var(--safe-r)));max-height:calc(var(--app-h,100dvh) - 34px - var(--safe-t) - var(--safe-b));overflow-y:auto;box-shadow:0 25px 100px #030f19b3;scrollbar-width:thin;overscroll-behavior:contain}.dialog::backdrop{background:rgba(5,16,24,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dialog h2{font-size:31px;font-weight:850;line-height:1.06;letter-spacing:-.5px;margin:10px 0 16px;max-width:95%}.dialog p{font-size:12px;line-height:1.7;color:#b5c6ce}.dialog h3{font-size:13px;margin:23px 0 8px;color:#edd092}.dialog h3+p{margin-top:0}.dialog-close{position:absolute;right:14px;top:13px;width:32px;height:32px;background:#ffffff0d;border-radius:50%;display:grid;place-items:center;color:#aec4cf}.dialog-close svg{width:16px;height:16px}.dialog .note{font-size:10px;line-height:1.65;color:#91a9b7}.full-width{width:100%}.control-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:21px}.control-choices button{font-size:11px;line-height:1.5}.sensor-status{padding:10px 12px;border-radius:6px;background:#253d4a;color:#d4dcd8!important;font-size:11px!important;min-height:40px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:21px 0}.range-label{grid-column:1/-1}.range-label span{display:flex!important;justify-content:space-between;font-size:12px!important}.range-label b{font-weight:500}.range-label output{color:var(--gold)}input[type=range]{width:100%;accent-color:var(--gold);height:25px;margin:0}.settings-grid .check-row{margin:0}.settings-grid .check-row:nth-child(2){grid-column:1/-1}.settings-grid select{font-size:13px;height:38px}.text-button{background:transparent;color:#bbced5;font-size:11px;padding:12px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.pause-dialog{width:min(440px,calc(100vw - 30px));text-align:center}.pause-dialog h2{max-width:100%}.calibration-visual{display:flex;align-items:center;justify-content:center;flex-direction:column;margin:18px 0}.calibration-visual>svg{width:115px;height:115px;fill:none;stroke:var(--gold);stroke-width:3}.calibration-meter{margin-top:15px;position:relative;width:240px;max-width:90%;height:4px;background:#58707b}.calibration-meter i{position:absolute;left:50%;top:-4px;width:12px;height:12px;background:var(--gold);border-radius:50%;transform:translateX(-50%)}.result-dialog{width:min(530px,calc(100vw - 28px))}.result-hero{padding:18px 0 22px;border-bottom:1px solid var(--border)}.result-hero>span{font-size:9px;letter-spacing:1.7px;color:#9bb6c4;display:block}.result-hero>strong{display:block;color:var(--gold);font-size:69px;font-weight:750;line-height:1.18;letter-spacing:-2px;font-variant-numeric:tabular-nums}.result-hero>small{font-size:10px;color:#afc5ce}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;padding:20px 0 7px}.result-stat{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#abc2ce}.result-stat strong{font-size:16px;color:#e6e8dc;font-variant-numeric:tabular-nums}.record-note{color:var(--gold)!important;font-size:11px!important}.result-links{display:flex;justify-content:space-between}.help-dialog{width:min(590px,calc(100vw - 30px))}.rotate-dialog{text-align:center;width:min(360px,calc(100vw - 32px))}.rotate-icon{width:78px;height:78px;fill:none;stroke:var(--gold);stroke-width:1.5}.rotate-dialog h2{font-size:26px}textarea{width:100%;resize:vertical;color:#d9e4e7;background:#213642;border:1px solid #51616b;border-radius:8px;line-height:1.6;padding:12px;font-size:12px;margin:8px 0 15px}.global-toast{position:fixed;z-index:100;left:50%;bottom:calc(26px + var(--safe-b));transform:translateX(-50%);max-width:90%;padding:13px 20px;border:1px solid #aebfac66;background:#203d49;color:#f0eee5;border-radius:10px;font-size:12px;box-shadow:0 8px 30px #05152288}.boot{position:fixed;inset:0;background:#12212b;z-index:200;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:30px;text-align:center}.boot strong{font-size:28px;letter-spacing:6px}.boot span{font-size:13px;color:#b7cbd1;max-width:540px;line-height:1.6}.loader{height:3px;width:120px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:load 1s ease-in-out infinite}.boot.error .loader{display:none}.noscript{position:fixed;inset:30%;z-index:300;background:#162c39;padding:30px;color:#f4dfb0}#debug{position:absolute;bottom:3px;right:6px;color:#fff;font:10px monospace;background:#0009;padding:3px}body.driving .brand-header{display:none}@keyframes load{0%,100%{opacity:.2;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1)}}
@media(min-width:1300px) and (min-height:850px){.menu{padding-top:140px;padding-left:70px}.menu-content{width:450px}h1{font-size:89px}.setup-card{padding:21px}.mode{min-height:59px}.intro{margin-bottom:24px!important}.vehicle-caption{bottom:65px}.brand-header{left:56px;right:56px}}
@media(max-height:850px) and (min-width:901px){.menu{padding-top:95px}.menu-content{width:390px}h1{font-size:62px;margin:13px 0 14px}.intro{font-size:12px!important;margin-bottom:15px!important}.setup-card{padding:14px}.mode{padding:8px 10px;min-height:46px}.mode small{font-size:9px}.course-title{margin-top:10px;padding-top:8px}.legal{font-size:8px}.local-best{margin-top:10px}.vehicle-caption h2{font-size:30px}}
@media(max-width:1050px){.mini-brand span{display:none}.stats>div{padding:0 14px}.run-header{gap:10px}.menu-content{width:370px}.menu{padding-left:calc(30px + var(--safe-l))}.vehicle-caption{left:55%;max-width:41%}.vehicle-caption h2{font-size:26px}}
@media(max-width:700px) and (orientation:portrait){.brand-header{top:calc(16px + var(--safe-t));left:18px;right:18px}.brand strong{font-size:18px}.brand small{font-size:7px;letter-spacing:1px}.brand img{width:35px}.brand{gap:8px}.pill{font-size:9px;padding:0 10px}.menu{padding:calc(99px + var(--safe-t)) 19px calc(22px + var(--safe-b))}.menu-content{width:100%}h1{font-size:64px;line-height:.93;margin:12px 0 17px}.intro{max-width:280px!important;font-size:13px!important}.eyebrow{font-size:8px;letter-spacing:1px}.setup-card{background:rgba(17,31,42,.92);padding:16px}.vehicle-caption,.ready-tag{display:none}#vignette{background:linear-gradient(90deg,#071925ed,#071925aa),linear-gradient(0deg,#071925,transparent)}.brand-header{background:linear-gradient(#12212b00,#12212b00)}.run-header{left:12px;right:12px;top:calc(12px + var(--safe-t))}.mini-brand{display:none}.stats{left:0;transform:none;gap:0;padding:10px 0}.stats>div{padding:0 9px;min-width:auto}.stats strong{font-size:15px}.stats span{font-size:7px;letter-spacing:.8px}.hud-button{padding:0 10px}.hud-button>span{display:none}.run-actions{gap:5px}.hud-button.square{width:36px}.hud-button{min-height:39px}.progress-track{top:calc(82px + var(--safe-t))}.instruction{top:calc(102px + var(--safe-t));padding:9px 11px;gap:8px}.instruction strong{font-size:11px}.map-wrap{top:calc(176px + var(--safe-t));width:80px;right:13px}.map-wrap canvas{width:80px;height:100px}.pedals{left:14px;right:14px;bottom:calc(16px + var(--safe-b));height:120px}.pedal{width:68px;height:100px}.touch-mode .brake{width:61px;right:77px}.steer-pad{width:112px;height:119px}.steer-pad .steer-wheel{width:74px;height:74px}.steer-pad span{font-size:7px;letter-spacing:.5px}.speed-cluster{bottom:135px;min-width:95px}.speed-line>strong{font-size:48px}.speed-warning{top:calc(156px + var(--safe-t));font-size:9px}.dialog{padding:27px 22px}.dialog h2{font-size:28px}.control-choices button{padding:10px 8px}.toast{top:36%;font-size:11px}}
@media(orientation:landscape) and (max-height:600px){.brand-header{top:calc(12px + var(--safe-t));left:calc(22px + var(--safe-l));right:calc(22px + var(--safe-r))}.brand img{width:30px;height:30px}.brand strong{font-size:16px;letter-spacing:1.8px}.brand small{font-size:6px;letter-spacing:1.3px;margin-top:3px}.pill,.icon-button{height:31px;min-width:32px;font-size:9px}.icon-button{font-size:16px}.menu{padding:calc(66px + var(--safe-t)) calc(22px + var(--safe-r)) calc(14px + var(--safe-b)) calc(27px + var(--safe-l));overflow-y:auto}.menu-content{width:340px}.menu-content>.eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:41px;letter-spacing:-1px;margin:8px 0;line-height:1}h1 br{display:none}h1 em{margin-left:8px}.intro{font-size:10px!important;line-height:1.5!important;max-width:310px!important;margin-bottom:12px!important}.setup-card{padding:11px;border-radius:11px}.setup-card h2{font-size:7px;margin-bottom:8px;letter-spacing:1px}.modes{flex-direction:row;gap:5px}.mode{flex:1;min-width:0;flex-direction:column;gap:5px;align-items:flex-start;padding:8px 7px;min-height:59px}.mode-glyph{font-size:18px;line-height:16px;width:auto}.mode[data-mode=challenge] .mode-glyph{font-size:12px}.mode strong{font-size:10px}.mode small{display:none}.mode-tick{display:none}.course-title{padding-top:7px;margin-top:8px}.course-title h2{margin-bottom:0}.course-title .small-link{height:20px;font-size:17px;padding:0}.course-fields{margin-top:6px;gap:7px}.course-fields label>span{font-size:8px;margin-bottom:4px}.course-fields select{font-size:10px;padding:5px;min-height:29px}.check-row{font-size:10px;margin:8px 0}.check-row input{width:14px;height:14px}.start-row{margin-top:8px;gap:7px}.start-button{min-height:39px;padding:9px 13px;font-size:10px}.control-button{width:39px}.input-hint{font-size:7px;margin-top:8px;line-height:1.35}.local-best{font-size:8px;margin-top:9px}.local-best strong{font-size:9px}.legal{font-size:7px;margin-top:7px}.vehicle-caption{left:58%;bottom:calc(22px + var(--safe-b));max-width:35%}.vehicle-caption .eyebrow{font-size:7px}.vehicle-caption h2{font-size:23px;margin:4px 0 7px}.vehicle-caption p{font-size:7px;letter-spacing:1px}.vehicle-caption small{font-size:7px;line-height:1.4;display:block}.ready-tag{top:calc(66px + var(--safe-t));right:calc(22px + var(--safe-r));font-size:7px;letter-spacing:1px}.run-header{height:42px;top:calc(8px + var(--safe-t));left:calc(14px + var(--safe-l));right:calc(14px + var(--safe-r))}.mini-brand img{width:26px;height:26px}.mini-brand span{display:none}.stats{padding:7px 3px;border-radius:8px}.stats>div{padding:0 14px;min-width:69px}.stats span{font-size:7px;letter-spacing:.9px;margin-bottom:3px}.stats strong{font-size:16px}.hud-button{min-height:35px;gap:6px;font-size:9px;padding:0 10px}.hud-button.square{width:35px}.hud-button svg{width:19px;height:19px}.run-actions{gap:6px}.progress-track{top:calc(58px + var(--safe-t));left:calc(14px + var(--safe-l));right:calc(14px + var(--safe-r))}.instruction{top:calc(73px + var(--safe-t));padding:6px 12px;gap:8px;border-radius:7px}.instruction>span{font-size:23px}.instruction strong{font-size:10px;letter-spacing:.7px}.instruction small{font-size:8px;margin-top:2px}.map-wrap{top:calc(73px + var(--safe-t));right:calc(14px + var(--safe-r));width:73px;border-radius:7px}.map-wrap>div{font-size:6px;padding:6px 7px 0;letter-spacing:1px}.map-wrap canvas{width:73px;height:91px}.pedals{left:calc(18px + var(--safe-l));right:calc(18px + var(--safe-r));bottom:calc(12px + var(--safe-b));height:95px}.pedal{width:80px;height:84px;border-radius:12px;gap:6px}.pedal b{font-size:10px;letter-spacing:1px}.pedal small{font-size:7px}.pedal-ribs{width:27px;height:17px}.touch-mode .brake{width:68px;right:91px}.steer-pad{width:132px;height:99px;border-radius:13px;gap:3px}.steer-pad .steer-wheel{width:68px;height:68px}.steer-pad span{font-size:6px;letter-spacing:1px}.steer-pad small{font-size:6px}.speed-cluster{bottom:0;min-width:120px}.speed-line>strong{font-size:43px;letter-spacing:-2px}.speed-line>span{font-size:8px}.speed-line{gap:7px}.gear-button{height:27px;min-width:26px;font-size:13px}.steering-meter{width:86px;margin:8px auto 7px;height:2px}.steering-meter i{width:7px;height:7px;top:-2px}.speed-cluster>small{font-size:8px}.speed-cluster .small-link{font-size:8px;padding:3px}.speed-warning{top:calc(120px + var(--safe-t));font-size:8px;padding:4px 9px}.toast{top:40%;font-size:10px;padding:7px 15px}.dialog{padding:23px 27px;width:min(570px,calc(100vw - 60px - var(--safe-l) - var(--safe-r)));max-height:calc(var(--app-h,100dvh) - 20px - var(--safe-t) - var(--safe-b))}.dialog h2{font-size:26px;margin:6px 0 10px}.dialog p{font-size:11px;line-height:1.6}.controls-dialog .settings-grid{gap:10px;margin:14px 0}.controls-dialog .control-choices{margin-top:12px}.calibration-visual{margin:10px 0}.calibration-visual>svg{width:74px;height:74px}.calibration-meter{margin-top:8px}.result-hero{padding:9px 0 12px}.result-hero>strong{font-size:50px}.result-stats{gap:8px 24px;padding:12px 0 4px}.result-stat{font-size:10px}.result-stat strong{font-size:14px}.primary,.secondary{min-height:38px;padding:9px 13px;font-size:11px}.button-grid{gap:8px;margin-top:9px}.text-button{padding:9px;font-size:10px}.dialog .note{font-size:9px}.pause-dialog{width:400px}.countdown{font-size:88px}.global-toast{bottom:calc(13px + var(--safe-b));padding:10px 16px;font-size:11px}}
@media(orientation:landscape) and (max-height:410px){.menu-content{width:310px}.menu{padding-top:calc(58px + var(--safe-t))}.menu-content>.eyebrow{font-size:6px}h1{font-size:34px;margin:5px 0}.intro{font-size:9px!important;margin-bottom:8px!important}.setup-card{padding:10px}.modes .mode{min-height:47px;padding:6px}.course-title{margin-top:6px;padding-top:5px}.check-row{margin:6px 0}.input-hint{margin-top:6px}.local-best{margin-top:6px}.vehicle-caption{left:56%;max-width:39%}.ready-tag{top:59px}.hud-button>span{display:none}.stats>div{padding:0 12px;min-width:63px}.map-wrap{width:62px}.map-wrap canvas{width:62px;height:78px}.speed-warning{display:none!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(pointer:coarse){.pedal small{display:none}.dialog select{font-size:16px;min-height:38px}}

/* Keep the mobile car and next cone clear of the HUD. */
.input-help{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;color:var(--muted);text-align:center}
.input-help:hover{color:var(--gold)}
@media(orientation:landscape) and (max-height:600px){h1 em{margin-left:16px}.instruction{left:calc(18px + var(--safe-l));transform:none}}
