@charset "UTF-8";
.rev-button,.pedal{touch-action:none;-webkit-user-select:none;user-select:none}
:root{color-scheme:dark;--bg:#101210;--panel:#191c19;--panel-2:#1f231e;--line:#30362d;--muted:#979e90;--soft:#6b7466;--text:#f0f2e9;--accent:#d6f55f;--engine-color:#d6f55f;--danger:#ff927a;--radius:20px;font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 10%,#20251b55,transparent 60%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}button{color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button svg,.bottom-strip svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.shell{max-width:1472px;margin:auto;padding:0 44px}.masthead{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);letter-spacing:4px;font-size:22px;font-weight:850}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2.1px;margin-top:5px;color:var(--muted)}.brand-mark{position:relative;display:block;color:var(--bg);background:var(--accent);width:37px;height:42px;border-radius:8px 8px 16px 8px;font-style:italic;font-size:38px;line-height:40px;font-weight:900;letter-spacing:-2px;padding-left:10px}.brand-mark span{position:absolute;height:25px;width:7px;background:var(--bg);transform:skewX(-18deg);right:6px;top:10px}.header-actions{display:flex;gap:8px;align-items:center}.version-tag{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-right:24px}.icon-button{display:grid;place-items:center;min-width:42px;height:42px;background:transparent;border:1px solid var(--line);border-radius:50%;transition:background .15s,border-color .15s}.icon-button:hover{background:#ffffff0a;border-color:#606a56}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:31px 0 27px}.eyebrow{font-size:9px;letter-spacing:2.4px;font-weight:600;color:var(--muted);margin:0 0 10px}h1{font-size:clamp(23px,2.6vw,36px);font-weight:500;letter-spacing:-1.2px;line-height:1.2;margin:0}h1>span{color:var(--accent)}.status-pill{border:1px solid var(--line);border-radius:30px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:#767d6e}.status-pill.running{border-color:#d6f53436;color:var(--accent)}.status-pill.running .status-dot{background:var(--accent);box-shadow:0 0 10px #d6f55588}.status-pill.paused{color:var(--danger)}.status-pill.paused .status-dot{background:var(--danger)}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:stretch}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#1d211a 0%,var(--panel) 60%);overflow:hidden}.cockpit{padding:20px 26px 18px;position:relative}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-label{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.5px;color:#b7bdaf;font-weight:600}.index-label{font-size:8px;color:var(--soft);letter-spacing:.3px}.segmented{display:flex;gap:2px;border:1px solid #343b2e;background:#131611;border-radius:9px;padding:3px}.segmented button{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted);border-radius:6px;padding:8px 10px;font-size:10px;white-space:nowrap}.segmented button svg{width:13px;height:13px}.segmented button[aria-pressed=true]{background:#323a27;color:var(--accent);box-shadow:inset 0 0 0 1px #d6f55f18}.cockpit-heading{display:flex;align-items:center;justify-content:space-between;margin-top:23px;gap:12px}.cockpit-heading h2{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:0 0 5px}.cockpit-heading>div>span{font-size:10px;color:var(--muted)}.gps-status{display:flex;align-items:center;gap:6px;font-size:9px;background:none;border:0;color:var(--muted);padding:8px 0}.gps-status svg{width:13px;height:13px}.gps-status.live{color:var(--accent)}.gps-status.warn{color:#f7bf75}.instrument-row{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;gap:0;max-width:690px;margin:-9px auto -4px}.speed-meter{position:relative;aspect-ratio:480/355;width:100%;min-width:0}.speed-meter>svg{display:block;width:100%;height:100%}.tach-tick{stroke:#353e2d;stroke-width:5;stroke-linecap:butt;transition:stroke .12s}.tach-tick.active{stroke:var(--accent)}.tach-tick.red{stroke:#563a2e}.tach-tick.red.active{stroke:#ff8c61}.tach-label{font:10px Arial,sans-serif;fill:#858f7b;text-anchor:middle;dominant-baseline:middle}.speed-readout{position:absolute;top:30%;left:0;width:100%;text-align:center}.speed-number{font-size:clamp(70px,8.6vw,118px);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-7px;line-height:.98}.speed-number.invalid{color:#687260}.speed-unit button{font-size:10px;letter-spacing:1.5px;color:var(--muted);border:0;background:none;padding:9px 14px}.speed-unit button span{margin-left:3px;font-size:11px;color:var(--soft)}.rpm-readout{display:flex;justify-content:center;align-items:baseline;gap:7px;margin-top:10px;font-variant-numeric:tabular-nums}.rpm-readout>span{font-size:20px;font-weight:500;letter-spacing:-.5px}.rpm-readout>small{font-size:8px;letter-spacing:1px;color:var(--muted)}.meter-caption{position:absolute;bottom:5%;left:0;width:100%;text-align:center;font-size:7px;letter-spacing:1.8px;color:var(--soft)}.side-instrument{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:20px}.micro-label{font-size:7px;letter-spacing:1.1px;color:var(--muted);white-space:nowrap}.gear-instrument strong{margin:12px 0 11px;font-size:31px;font-weight:400;background:#11160f;border:1px solid #3b4431;width:50px;line-height:51px;border-radius:10px}.side-instrument>span:last-child{font-size:7px;letter-spacing:.6px;color:var(--soft)}.load-instrument strong{font-weight:500;font-size:18px;margin:6px 0 10px;font-variant-numeric:tabular-nums}.load-instrument strong>span{font-size:9px;color:var(--muted);margin-left:2px}.load-bars{display:flex;gap:3px;height:35px;align-items:flex-end;margin-top:16px}.load-bars i{width:4px;background:#3b4431;transition:background .12s}.load-bars i.active{background:var(--accent)}.car-stage{position:relative;max-width:570px;height:105px;margin:0 auto 13px;overflow:hidden}.car-halo{position:absolute;inset:0 4%;border-radius:50%;background:radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--engine-color) 10%,transparent),transparent 70%)}.road-lines{position:absolute;left:4%;right:4%;height:1px;bottom:20px;background:linear-gradient(90deg,transparent,#4e593e,transparent);box-shadow:0 5px 28px #d6f53415}.hero-car{position:absolute;left:14%;width:72%;height:112px;bottom:9px;color:var(--engine-color);transition:color .25s}.sound-label{position:absolute;left:3%;bottom:0;font-size:6px;letter-spacing:1.3px;color:var(--soft);display:flex;align-items:center;gap:5px}.sound-label i{height:3px;width:3px;background:var(--soft);border-radius:50%}.engine-on .sound-label i{background:var(--accent)}.sound-wave{display:flex;align-items:center;justify-content:flex-end;gap:2px;position:absolute;right:3%;bottom:1px;height:10px}.sound-wave i{display:block;width:2px;background:var(--soft);height:2px;transform-origin:center}.engine-on .sound-wave i{background:var(--accent);animation:wave .6s ease-in-out infinite alternate}.engine-on .sound-wave i:nth-child(3n){animation-delay:-.35s}.engine-on .sound-wave i:nth-child(3n+1){animation-delay:-.1s}@keyframes wave{to{transform:scaleY(3.5)}}.ignition-controls{display:grid;grid-template-columns:minmax(0,1fr) 115px 46px;gap:9px;align-items:stretch;max-width:570px;margin:auto}.start-button{border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#202617;padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:11px;min-height:52px;font-size:11px;font-weight:750;letter-spacing:1px;transition:background .15s,transform .15s}.start-button:hover{background:#e2ff7d}.start-button:active{transform:translateY(1px)}.start-button svg{width:17px;height:17px;stroke-width:2}.start-button.stopping{background:transparent;color:var(--accent);border-color:#66753b}.rev-button{border:1px solid #3e4832;background:#22291d;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;user-select:none;-webkit-user-select:none;touch-action:none}.rev-button>span{font-size:11px;font-weight:650;letter-spacing:2px}.rev-button>small{font-size:6px;letter-spacing:.9px;color:var(--muted)}.rev-button.held{background:#3e492c;border-color:var(--accent)}.mute-button{border-radius:10px;width:46px;height:auto;background:#1c2218}.mute-button[aria-pressed=true]{color:var(--danger)}.cockpit-hint{text-align:center;font-size:9px;line-height:1.65;color:var(--muted);max-width:570px;margin:12px auto 0;min-height:15px}.garage{padding:23px 20px 0;display:flex;flex-direction:column;min-width:0}.count-tag{font-size:7px;letter-spacing:1px;color:var(--soft)}.garage h2{font-size:20px;font-weight:500;letter-spacing:-.5px;margin:25px 0 7px}.garage-subtitle{font-size:10px;color:var(--muted);margin:0 0 19px}.engine-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#47523a transparent;max-height:352px;padding:1px 4px 1px 1px;margin-right:-5px}.engine-card{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr) 16px;gap:10px;align-items:center;text-align:left;border:1px solid #30382b;border-radius:11px;background:#1e241b;padding:12px 11px;min-height:77px;transition:border-color .15s,background .15s}.engine-card:hover{border-color:#68734f;background:#252d20}.engine-card[aria-pressed=true]{border-color:#a4bf4c;background:linear-gradient(110deg,#303d20,#232c1c)}.engine-card svg.car-thumb{width:72px;height:38px;color:var(--card-color)}.engine-card .engine-name{font-size:11px;font-weight:550;display:block;margin-bottom:6px}.engine-card .engine-spec{display:block;font-size:8px;color:var(--muted);white-space:normal;line-height:1.4}.engine-card .selected-indicator{width:14px;height:14px;border:1px solid #566047;border-radius:50%;display:grid;place-items:center;color:#17200e}.engine-card .selected-indicator svg{width:10px;height:10px;stroke-width:2.3;display:none}.engine-card[aria-pressed=true] .selected-indicator{background:var(--accent);border-color:var(--accent)}.engine-card[aria-pressed=true] .selected-indicator svg{display:block}.garage-note{display:flex;justify-content:center;align-items:center;gap:6px;font-size:8px;color:var(--soft);padding:17px 0 18px;margin-top:auto}.tiny-dot{width:3px;height:3px;background:#7b8868;border-radius:50%}.tuning{margin-top:18px;padding:23px 26px 22px;background:#181c16}.tuning-heading{display:flex;align-items:center;gap:24px;margin-bottom:22px}.tuning-heading h2{font-size:15px;font-weight:400;letter-spacing:-.3px;margin:0;color:var(--muted)}.tuning-heading>.text-button{margin-left:auto}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;color:var(--muted);font-size:9px;padding:5px 0}.text-button:hover{color:var(--accent)}.text-button svg{width:12px;height:12px}.tuning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.tune-control label{font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tune-control output{font-size:9px;color:var(--accent);font-variant-numeric:tabular-nums}.range-ends{display:flex;justify-content:space-between;font-size:8px;color:var(--soft);margin-top:7px}input[type=range]{--fill:42%;width:100%;height:22px;appearance:none;-webkit-appearance:none;background:transparent;margin:0;cursor:pointer;display:block;touch-action:pan-y}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--fill),#3b4433 var(--fill))}input[type=range]::-moz-range-track{height:3px;border-radius:4px;background:linear-gradient(90deg,var(--accent) var(--fill),#3b4433 var(--fill))}input[type=range]::-webkit-slider-thumb{height:12px;width:12px;border:2px solid var(--accent);border-radius:50%;background:var(--accent);-webkit-appearance:none;margin-top:-4.5px;box-shadow:0 0 0 3px #182010}input[type=range]::-moz-range-thumb{height:9px;width:9px;border:2px solid var(--accent);border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #182010}.bottom-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:8px;color:var(--muted);padding:21px 4px 24px}.bottom-strip>span:first-child{display:flex;align-items:center;gap:7px}.bottom-strip svg{width:12px;height:12px}.bottom-strip>span:nth-child(2){font-size:7px;letter-spacing:1.5px;color:var(--soft)}.bottom-strip button{font-size:8px}.bottom-strip button span{color:var(--text);margin-left:3px}footer{padding:22px 0 28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--soft);font-size:8px;line-height:1.7}footer>span:first-child{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--muted);white-space:nowrap}.footer-version{font-weight:400;color:var(--soft);letter-spacing:0}footer p{margin:0}footer>span:last-child{text-align:right}.notice{padding:13px 16px;border:1px solid #6e573b;background:#332b20;border-radius:10px;font-size:12px;line-height:1.6;display:flex;align-items:center;gap:12px;margin-bottom:18px;color:#f1d3a7}.notice>span{flex:1}.notice button{color:inherit;background:#ffffff08;border:1px solid #766345;border-radius:5px;padding:7px 11px;white-space:nowrap;font-size:10px}.notice .notice-close{border:0;background:none;font-size:21px;padding:0 1px}.test-controls{margin:18px auto 0;max-width:570px;border-top:1px solid var(--line);padding-top:15px}.test-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.test-title>span{display:flex;align-items:center;gap:5px;font-size:8px;letter-spacing:1px;color:var(--accent)}.test-dot{height:4px;width:4px;background:var(--accent);border-radius:50%}.test-speed-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);margin-bottom:4px}.test-speed-label output{color:var(--text);font-variant-numeric:tabular-nums}.pedals{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.pedal{display:flex;align-items:center;gap:15px;justify-content:center;border:1px solid #46503c;border-radius:7px;padding:11px 14px;min-width:105px;background:#22291b;user-select:none;touch-action:none;font-size:9px;letter-spacing:1px}.pedal>span{font-size:18px;line-height:15px}.pedal.held{border-color:var(--accent);background:#344125}.pedal.brake.held{border-color:#f68e74;background:#412d24}.test-help{font-size:8px;color:var(--soft);text-align:center}.text-button:disabled{opacity:.35}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 20px;border:1px solid #637047;border-radius:10px;background:#252e1f;color:var(--text);font-size:12px;box-shadow:0 10px 40px #0008;z-index:30;max-width:calc(100% - 32px);text-align:center}
dialog{width:560px;max-width:calc(100% - 28px);max-height:90dvh;overflow:auto;border:1px solid #48513d;background:#1b2018;border-radius:21px;padding:26px;color:var(--text);box-shadow:0 20px 90px #0009}dialog::backdrop{background:#070a06c9;backdrop-filter:blur(8px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top .eyebrow{margin:0}.dialog-top .icon-button{height:34px;min-width:34px}.dialog-top svg{width:17px;height:17px}dialog h2{font-size:35px;font-weight:450;letter-spacing:-1.2px;line-height:1.15;margin:15px 0 25px}.setup-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:21px}.setup-steps>li{display:flex;gap:17px}.setup-steps>li>span{color:var(--accent);border:1px solid #4d5d36;flex-shrink:0;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:9px}.setup-steps strong{font-size:13px;font-weight:550}.setup-steps p,dialog details p{font-size:11px;line-height:1.8;color:var(--muted);margin:5px 0 0}.compatibility{margin:25px 0 13px;padding:17px;border:1px solid var(--line);background:#141a11;border-radius:10px}.compatibility h3{font-size:11px;margin:0 0 12px;font-weight:550}.compatibility dl{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:10px;margin:0 0 11px}.compatibility dt{color:var(--muted)}.compatibility dd{margin:0;color:var(--accent);text-align:right}.compatibility dd.bad{color:var(--danger)}dialog details{padding:14px 0;border-bottom:1px solid var(--line)}dialog summary{font-size:11px;cursor:pointer;line-height:1.6}.dialog-done{width:100%;margin-top:21px}.dialog-done svg{margin-left:auto}.dialog-done{padding-left:22px;justify-content:flex-start}
@media(min-width:1400px){.garage{padding-top:25px}.engine-list{max-height:420px}.car-stage{height:122px}.instrument-row{margin-top:-4px}.cockpit{padding-top:23px}.cockpit-heading{margin-top:28px}.hero-car{height:135px}.garage h2{margin-top:27px}.engine-card{min-height:86px}.tuning{padding-top:26px;padding-bottom:26px}}
@media(max-width:1100px){.shell{padding:0 26px}.dashboard{grid-template-columns:minmax(0,1fr) 285px;gap:14px}.cockpit{padding:18px}.instrument-row{grid-template-columns:58px minmax(0,1fr) 58px;margin-top:0}.micro-label{font-size:6px;letter-spacing:.5px}.side-instrument>span:last-child{font-size:6px}.gear-instrument strong{width:42px;line-height:44px;font-size:26px}.load-bars{gap:2px}.load-bars i{width:3px}.cockpit-heading h2{font-size:21px}.garage{padding-left:16px;padding-right:16px}.engine-card{grid-template-columns:60px minmax(0,1fr) 13px;gap:7px;padding:11px 9px}.engine-card svg.car-thumb{width:60px}.engine-list{max-height:322px}.garage h2{font-size:18px}.speed-number{font-size:88px}.rpm-readout{margin-top:6px}.rpm-readout>span{font-size:17px}.car-stage{height:90px}.hero-car{height:100px}.cockpit-heading{margin-top:20px}.garage-note{font-size:7px}.tuning-grid{gap:24px}.version-tag{font-size:8px}.meter-caption{font-size:6px}}
@media(max-width:880px){.dashboard{grid-template-columns:minmax(0,1fr) 255px}.segmented button{padding:7px;font-size:9px;gap:4px}.section-label{font-size:8px;gap:6px;letter-spacing:1px}.speed-number{font-size:72px;letter-spacing:-5px}.instrument-row{grid-template-columns:45px minmax(0,1fr) 45px}.micro-label{font-size:5px}.side-instrument>span:last-child{font-size:5px}.load-bars{gap:2px;height:28px}.load-bars i{width:2px}.load-instrument strong{font-size:15px}.gear-instrument strong{font-size:23px;width:36px;line-height:38px}.speed-unit button{padding-top:5px;padding-bottom:5px;font-size:8px}.rpm-readout>span{font-size:15px}.rpm-readout>small{font-size:7px}.cockpit-heading>div>span{font-size:8px}.gps-status{font-size:8px}.cockpit-heading h2{font-size:19px}.garage h2{font-size:17px}.engine-card .engine-name{font-size:10px}.engine-card .engine-spec{font-size:7px}.engine-list{max-height:290px}.engine-card{min-height:69px}.car-stage{height:81px}.hero-car{width:80%;left:10%;height:100px}.ignition-controls{grid-template-columns:minmax(0,1fr) 86px 39px;gap:7px}.mute-button{width:39px;min-width:39px}.start-button{padding:14px 12px;font-size:9px;letter-spacing:.7px}.rev-button>small{font-size:5px}.meter-caption{font-size:5px}.cockpit-hint{font-size:8px}.tuning-grid{gap:19px}.tune-control label{font-size:9px}.version-tag{display:none}.page-heading{margin-top:25px}.tuning-heading{margin-bottom:17px}.garage-note{font-size:6px}.count-tag{font-size:6px}footer{font-size:7px}.test-help{display:none}.pedal{min-width:90px}.test-title>span{font-size:7px}}
@media(max-width:700px){.shell{padding:0 18px}.masthead{height:78px}.brand{font-size:20px;letter-spacing:3px}.brand small{font-size:7px}.brand-mark{width:32px;height:37px;line-height:36px;font-size:32px;padding-left:9px}.brand-mark span{height:21px;width:6px;right:5px}.header-actions{gap:6px}.header-actions .icon-button{min-width:35px;height:35px}.header-actions svg{width:17px}.page-heading{align-items:flex-end;margin:23px 0 20px;gap:12px}.eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:8px}h1{font-size:25px;max-width:300px;letter-spacing:-.8px}.status-pill{font-size:9px;padding:8px 11px}.dashboard{grid-template-columns:1fr;gap:15px}.cockpit{padding:18px 20px 17px}.section-label{font-size:8px;letter-spacing:1.4px}.segmented button{padding:8px 9px;font-size:10px}.cockpit-heading{margin-top:21px}.cockpit-heading h2{font-size:24px}.cockpit-heading>div>span{font-size:10px}.gps-status{font-size:9px}.instrument-row{grid-template-columns:62px minmax(0,1fr) 62px;max-width:600px;margin:-6px auto -5px}.speed-number{font-size:100px;letter-spacing:-6px}.micro-label{font-size:6px;letter-spacing:.7px}.side-instrument>span:last-child{font-size:6px}.gear-instrument strong{font-size:28px;width:43px;line-height:45px}.load-bars{height:33px}.load-bars i{width:3px}.load-instrument strong{font-size:18px}.meter-caption{font-size:6px}.speed-unit button{font-size:9px;padding:8px}.rpm-readout{margin-top:8px}.rpm-readout>span{font-size:19px}.rpm-readout>small{font-size:8px}.car-stage{height:94px;margin-bottom:14px}.hero-car{width:78%;left:11%;height:115px;bottom:6px}.ignition-controls{grid-template-columns:minmax(0,1fr) 100px 44px;gap:8px}.start-button{font-size:10px;min-height:53px}.rev-button>span{font-size:11px}.rev-button>small{font-size:6px}.mute-button{width:44px}.cockpit-hint{font-size:9px;margin-top:12px}.garage{padding:19px 20px 0}.garage h2{font-size:21px;margin-top:20px}.garage-subtitle{font-size:10px;margin-bottom:16px}.count-tag{font-size:7px}.engine-list{display:grid;grid-template-columns:1fr 1fr;max-height:280px;gap:8px;padding-bottom:4px}.engine-card{grid-template-columns:52px minmax(0,1fr) 12px;gap:6px;min-height:80px;padding:10px 8px}.engine-card svg.car-thumb{width:52px}.engine-card .engine-name{font-size:10px;margin-bottom:4px}.engine-card .engine-spec{font-size:7px}.garage-note{padding:15px 0;font-size:8px}.tuning{margin-top:15px;padding:21px 20px}.tuning-heading{gap:15px;margin-bottom:21px}.tuning-heading h2{font-size:14px}.tuning-grid{grid-template-columns:1fr 1fr;gap:24px 22px}.tune-control label{font-size:10px}.tune-control output{font-size:9px}.range-ends{font-size:8px}.bottom-strip{flex-wrap:wrap;gap:13px;padding:20px 2px;font-size:8px}.bottom-strip>span:nth-child(2){display:none}.bottom-strip button{font-size:8px}footer{flex-wrap:wrap;gap:10px;padding:20px 0;font-size:8px}footer p{order:3;width:100%;font-size:7px}footer>span:last-child{margin-left:auto;font-size:7px}.test-title>span{font-size:8px}.test-help{display:block;font-size:7px}.pedal{min-width:100px}.notice{font-size:10px;gap:8px;padding:12px}.notice button{font-size:9px;padding:6px 8px}}
@media(max-width:410px){.shell{padding:0 12px}h1{font-size:22px}.status-pill{font-size:8px;padding:7px 9px}.cockpit{padding:16px}.section-label{font-size:7px;letter-spacing:1px}.segmented button{font-size:9px;padding:8px 7px}.instrument-row{grid-template-columns:45px minmax(0,1fr) 45px}.speed-number{font-size:82px}.micro-label{font-size:5px}.side-instrument>span:last-child{font-size:5px}.rpm-readout>span{font-size:16px}.rpm-readout{margin-top:4px}.speed-unit button{font-size:8px;padding:5px}.cockpit-heading h2{font-size:22px}.cockpit-heading>div>span{font-size:9px}.gps-status{font-size:8px}.car-stage{height:86px}.hero-car{height:105px}.engine-list{grid-template-columns:1fr;max-height:293px}.engine-card{grid-template-columns:75px minmax(0,1fr) 14px;min-height:72px;padding:10px 13px;gap:13px}.engine-card svg.car-thumb{width:75px}.engine-card .engine-name{font-size:12px}.engine-card .engine-spec{font-size:9px}.ignition-controls{grid-template-columns:minmax(0,1fr) 80px 40px;gap:6px}.mute-button{width:40px;min-width:40px}.rev-button>small{font-size:5px}.start-button{font-size:9px;gap:7px;padding-left:10px;padding-right:10px}.tuning-grid{gap:22px 17px}.tune-control label{font-size:9px}.test-help{display:none}.garage{padding:19px 16px 0}.brand{gap:10px}.header-actions .icon-button{min-width:32px;height:32px}.brand small{letter-spacing:1.3px}.meter-caption{font-size:5px}.load-instrument strong{font-size:16px}.notice{flex-wrap:wrap}.notice>span{min-width:65%}}
/* Keep numerals inside the dial on narrow instrument clusters. */
@media(max-width:1100px) and (min-width:881px){.speed-number{font-size:78px}.speed-readout{top:28%}.meter-caption{bottom:1%}}
@media(max-width:880px) and (min-width:701px){.speed-number{font-size:62px}.speed-readout{top:28%}.meter-caption{bottom:0}.rpm-readout{margin-top:3px}}
@media(max-width:700px){.speed-number{font-size:clamp(65px,17.5vw,105px)}.speed-readout{top:28%}.meter-caption{bottom:0}}
@media(max-width:410px){.speed-number{font-size:68px}.rpm-readout{margin-top:3px}.rpm-readout>span{font-size:15px}.speed-readout{top:28%}}
@media(max-width:350px){.instrument-row{grid-template-columns:35px minmax(0,1fr) 35px}.speed-number{font-size:59px}.speed-readout{top:27%}.rpm-readout>span{font-size:13px}.micro-label{font-size:4px}.side-instrument>span:last-child{font-size:4px}.start-button{font-size:8px;gap:6px}.ignition-controls{grid-template-columns:minmax(0,1fr) 70px 36px}.mute-button{width:36px;min-width:36px}.cockpit-heading h2{font-size:20px}.gps-status{font-size:7px}.section-label{font-size:6px}.segmented button{font-size:8px;padding:7px}.rpm-readout{gap:5px}.rpm-readout>small{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* GPS and update tools share the app's typography and controls. */
.gps-details{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:9px 16px;font-size:10px;line-height:1.6;margin:17px 0}.gps-details dt{color:var(--muted)}.gps-details dd{margin:0;color:var(--text);overflow-wrap:anywhere;text-align:right}.inline-link{color:var(--accent);text-decoration:none}.inline-link:hover{text-decoration:underline}.update-link{font-size:11px;margin:18px 0}.utility-shell{max-width:760px;margin:0 auto;padding:55px 24px}.utility-panel{padding:30px}.utility-panel h1{font-size:34px}.utility-intro{font-size:16px;color:var(--text);line-height:1.7;margin:19px 0}.utility-copy{color:var(--muted);font-size:13px;line-height:1.8;margin:19px 0}.utility-panel>.start-button{width:100%;margin-top:25px}.diagnostic-buttons{display:grid;grid-template-columns:1fr 110px;gap:10px;margin:24px 0}.standalone-details{font-size:13px;gap:12px 20px;border-top:1px solid var(--line);padding-top:24px}.standalone-details dd{text-align:right}.standalone-details dt{overflow-wrap:anywhere}@media(max-width:480px){.utility-shell{padding:30px 14px}.utility-panel{padding:22px 18px}.utility-panel h1{font-size:27px}.utility-intro{font-size:14px}.standalone-details{font-size:11px;gap:12px}.utility-copy{font-size:12px}.diagnostic-buttons{grid-template-columns:1fr 82px}}
