@font-face{font-family:Dial;src:url('assets/dial-regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:Dial;src:url('assets/dial-bold.otf') format('opentype');font-weight:700 900;font-display:swap}@font-face{font-family:Dial;src:url('assets/dial-italic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
:root{color-scheme:dark;--bg:#030608;--white:#f2f3ed;--muted:#a6b4bf;--line:#2d3f4a;--blue:#6595ac;--orange:#ff6900;--font:Dial,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 36%,#10202a44,transparent 65%),#030608;color:var(--white);font-family:var(--font);min-height:100vh}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}header{display:flex;align-items:center;gap:22px;padding:7px 2.1%;height:94px;border-block:1px solid #293b46;background:linear-gradient(#10181c,#02080c)}.network-brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:3px;font-size:14px;font-weight:700;flex-shrink:0}.network-brand img{width:120px;height:78px;object-fit:contain}nav{display:flex;align-items:stretch;justify-content:space-between;align-self:stretch;gap:8px;flex:1}nav a{display:flex;align-items:center;padding:0 8px;border-bottom:3px solid transparent;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:1.2px}nav a:hover,nav a.active{color:var(--orange)}nav a.active{border-color:var(--orange)}.sample-label{font-size:10px;letter-spacing:1.2px;line-height:1.4;color:#a5b4bf;border-left:1px solid #43505a;padding-left:20px;max-width:128px}main{max-width:1900px;margin:auto;padding:0 1.7%}.scope{display:flex;justify-content:space-between;align-items:center;height:37px;padding:0 5px;font-size:11px;letter-spacing:1.7px;color:#adbcc7}.scope strong{font-weight:400;color:#c3ccd3}.scope strong span{margin:0 12px;color:#55636c}.scope a{text-decoration:none;font-size:10px;color:#8e9fab}
/* Exact relative centers and radii measured from the approved 1774px master. */
.cluster{position:relative;width:100%;aspect-ratio:1774/535;isolation:isolate;border-bottom:1px solid #263945}
.cluster:before{content:'';position:absolute;inset:7% -1.75% 1%;background:linear-gradient(#000305,#050a0d);clip-path:polygon(0 38%,9% 20%,25% 14%,43% 8%,57% 8%,75% 14%,91% 20%,100% 38%,100% 100%,0 100%);z-index:-1}
.instrument{position:absolute;padding:0;border:0;background:transparent;aspect-ratio:1;border-radius:50%;margin:0}.instrument-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 4px #0009)}.instrument:hover .instrument-svg{filter:brightness(1.12)}
.instrument.funding{width:19.05%;left:1.41%;top:28.04%;z-index:0}.instrument.play{width:21.87%;left:17.7%;top:18.13%;z-index:1}.instrument.rally{width:28.41%;left:35.795%;top:1.12%;z-index:3}.instrument.participation{width:21.87%;right:17.7%;top:18.13%;z-index:1}.instrument.events{width:19.05%;right:1.41%;top:28.04%;z-index:0}
.instrument-svg text{font-family:Dial,Arial,sans-serif;fill:#eff2ed}.instrument-svg .dial-title{font-weight:700;letter-spacing:.2px}.instrument-svg .number{font-weight:700;letter-spacing:1px}.instrument-svg .hero-number{font-weight:700;font-style:italic;letter-spacing:-5px;fill:#ff6900}.instrument-svg .sub-label{font-weight:400;fill:#d0dbe3}.instrument-svg .truth{fill:#899ba8;letter-spacing:1.2px}.instrument-svg .scale{fill:#d5dee4;font-weight:700}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:22px 4px 37px}.kpi{border:1px solid #344651;border-radius:5px;background:linear-gradient(115deg,#121b22,#060c10);padding:18px 15px;text-align:left;min-height:110px}.kpi:hover{border-color:#7795a8}.kpi .label{display:block;font-size:12px;letter-spacing:.5px;line-height:1.3;min-height:30px;color:#b4c2cd}.kpi .value{font-size:32px;font-weight:700;display:block;line-height:1.1}.kpi .status{display:block;margin-top:8px;font-size:10px;letter-spacing:1px;color:#7f929f}.kpi small{font-size:13px;font-weight:400;color:#c2d0d9}.kpi .small-value{font-size:18px}footer{border-top:1px solid #1b2a33;padding:22px 2%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px;color:#8093a1}footer a{text-decoration:none}footer>span:first-child{letter-spacing:3px}.divider{margin:0 12px;color:#536674}
.page{padding:38px 0 48px;min-height:580px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--orange);margin:0 0 12px}.page h1{font-size:34px;margin:0 0 12px;font-weight:600;letter-spacing:1px}.page-intro{color:var(--muted);max-width:780px;line-height:1.6;margin:0 0 30px;font-size:16px}.back{display:inline-block;color:var(--blue);font-size:14px;margin-bottom:25px;text-decoration:none}.records{width:100%;border-collapse:collapse}.records th{text-align:left;font-size:12px;color:var(--muted);letter-spacing:1px;font-weight:400;padding:15px;border-bottom:1px solid #49616e}.records td{padding:18px 15px;border-bottom:1px solid #273640;font-size:15px}.records button,.text-button{background:none;border:0;padding:0;color:var(--blue);text-decoration:underline;text-underline-offset:4px;font-size:14px}.tag{font-size:12px;letter-spacing:1px;border:1px solid #40515c;padding:5px 8px;white-space:nowrap}.team-profile{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:25px;background:linear-gradient(130deg,#111b22,#070d10);border:1px solid var(--line);max-width:1000px}.team-profile .vehicle{width:100%;align-self:center}.profile-badge{width:250px;max-width:100%}.team-profile p{line-height:1.6;color:var(--muted)}.empty{padding:35px;border:1px solid var(--line);max-width:900px;line-height:1.7}.empty h2{font-size:20px}.source-list{max-width:980px}.source-item{padding:23px 0;border-bottom:1px solid var(--line)}.source-item p{color:var(--muted);line-height:1.65}.source-item a{color:var(--blue);font-size:14px}.table-scroll{overflow-x:auto}.filter-row{display:flex;gap:10px;margin:25px 0;flex-wrap:wrap}.filter-row button{background:transparent;border:1px solid var(--line);padding:9px 15px;border-radius:3px}.filter-row button[aria-pressed=true]{border-color:var(--orange);color:var(--orange)}dialog{width:min(760px,calc(100% - 28px));max-height:85vh;background:#0c141a;color:var(--white);border:1px solid #5a7180;border-radius:6px;padding:35px;box-shadow:0 30px 100px #000}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.close{position:absolute;right:14px;top:10px;background:none;border:0;color:#c8d2d8;font-size:30px;line-height:1;width:35px;height:35px}.breadcrumbs{font-size:12px;letter-spacing:1px;color:var(--blue);margin-bottom:25px}.breadcrumbs button{color:inherit;background:none;border:0;padding:0;text-decoration:underline;font-size:inherit}dialog h2{font-size:28px;margin:10px 0}dialog p{font-size:16px;line-height:1.6;color:#b8c6ce}dialog dl{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:22px 0;border-block:1px solid var(--line)}dialog dt{color:var(--muted);font-size:14px}dialog dd{margin:0;font-size:14px;overflow-wrap:anywhere}.action{padding:11px 17px;background:#172731;border:1px solid #6d8b9c;color:var(--white);border-radius:3px;margin-top:12px;text-decoration:none;display:inline-block}.record-list{display:grid;gap:10px;margin-top:20px}.record-list button{background:#111e27;border:1px solid var(--line);padding:16px;text-align:left;display:flex;justify-content:space-between;gap:15px}.record-list span{color:var(--muted);font-size:13px}.reading-label{color:var(--muted);font-size:14px}.dialog-value{font-size:44px;line-height:1.2;margin:20px 0 0}@media(min-width:1650px){header{height:105px}.scope{height:41px}nav a{font-size:16px}.kpi{min-height:121px}.kpi .label{font-size:14px}.kpi .value{font-size:36px}.kpi .status{font-size:12px}.kpi .small-value{font-size:22px}}
@media(max-width:1100px){header{flex-wrap:wrap;height:auto;gap:0 20px;padding-bottom:0}.network-brand{flex:1}.sample-label{max-width:none}nav{order:3;flex-basis:100%;min-height:48px}nav a{font-size:13px}.cluster{aspect-ratio:1774/535}.kpis{gap:8px}.kpi{padding:15px 10px}.kpi .label{font-size:11px}.kpi .value{font-size:28px}.kpi .small-value{font-size:16px}}
@media(max-width:850px){.cluster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));aspect-ratio:auto;gap:16px 2px;padding:10px 0 24px}.instrument.funding,.instrument.play,.instrument.rally,.instrument.participation,.instrument.events{position:relative;left:auto;right:auto;top:auto;width:100%;max-width:340px;justify-self:center}.instrument.rally{grid-column:1/3;grid-row:1;width:min(420px,85%);max-width:420px}.instrument.play{grid-column:1;grid-row:2}.instrument.participation{grid-column:2;grid-row:2}.instrument.funding{grid-column:1;grid-row:3}.instrument.events{grid-column:2;grid-row:3}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi .label{font-size:12px}.kpi .small-value{font-size:18px}.scope{height:auto;min-height:47px;gap:20px;line-height:1.5}.scope a{text-align:right;max-width:155px}.team-profile{grid-template-columns:1fr}}
@media(max-width:500px){header{padding-inline:13px}.network-brand img{width:88px;height:59px}.network-brand{font-size:11px;gap:7px}.sample-label{font-size:9px;max-width:113px;padding-left:12px}nav{overflow-x:auto;gap:9px}nav a{font-size:12px;white-space:nowrap;padding-inline:3px}main{padding:0 13px}.scope{font-size:10px;letter-spacing:1px}.scope strong span{margin:0 5px}.scope a{font-size:9px;max-width:130px}.cluster{display:flex;flex-direction:column;align-items:center;gap:15px}.instrument.rally{order:-1;width:100%;max-width:390px}.instrument.play,.instrument.participation,.instrument.funding,.instrument.events{width:90%;max-width:330px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:25px}.kpi .label{font-size:12px}.kpi .status{font-size:11px}footer{flex-direction:column;gap:15px;font-size:10px}.page h1{font-size:28px}.page{padding-top:28px}.empty{padding:22px}dialog{padding:28px 20px}dialog dl{grid-template-columns:1fr;gap:7px}dialog dd{margin-bottom:10px}.record-list button{flex-direction:column}.records td,.records th{padding:14px 9px}}
.instrument-svg .target-scale{fill:#ff790f;font-weight:700}.instrument-svg .redline-scale{fill:#ff4b40;font-weight:700}.car-needle{filter:drop-shadow(0 1px 2px #000);transition:transform .45s ease-out}
@media(prefers-reduced-motion:reduce){.car-needle{transition:none}}
.drive-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:26px;row-gap:14px;padding:17px 4px 4px}.mode-switch{display:flex;gap:0;border:1px solid #3e5260;border-radius:5px;overflow:hidden;background:#080f15;box-shadow:inset 0 1px #ffffff09}.mode-switch button{border:0;border-right:1px solid #2b3c49;background:transparent;padding:12px 25px;font-size:12px;font-weight:700;letter-spacing:2px;color:#8da3b3;min-width:103px}.mode-switch button:last-child{border-right:0}.mode-switch button[aria-selected=true]{color:#fff3e8;background:linear-gradient(#43250e,#25170e);box-shadow:inset 0 -3px #ff790f}.mode-switch button:hover{color:#fff}.motion-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.motion-controls button{font-size:10px;font-weight:700;letter-spacing:1px;min-height:40px;border-radius:3px;padding:10px 12px}.entry-control{color:#a2b6c4;border:0;background:transparent}.demo-control{border:1px solid #ff790f;background:#ff790f;color:#080b0d;box-shadow:0 0 17px #ff690017}.add-control{border:1px solid #527f98;background:#0d202b;color:#d5efff}.reset-control{background:transparent;border:1px solid #364958;color:#98acba}.motion-status{flex-basis:100%;display:flex;justify-content:center;align-items:baseline;gap:13px;font-size:11px;min-height:21px;color:#8ca2b2;line-height:1.5;text-align:center}.motion-status .mode-label{font-size:10px;letter-spacing:1.2px;color:#91b5cc;font-weight:700}.motion-status.is-demo .mode-label{color:#ff9c43}.kpis{padding-top:14px}.instrument.center .hero-number{font-variant-numeric:tabular-nums}.car-needle{transition:none}.instrument.center .instrument-svg{will-change:contents}
@media(max-width:650px){.drive-controls{gap:12px}.mode-switch{width:100%}.mode-switch button{flex:1;min-width:0;padding-inline:14px}.motion-controls{justify-content:center;gap:7px}.motion-status{flex-direction:column;align-items:center;gap:3px}.motion-controls button{font-size:10px;padding-inline:10px}}
.ride{display:grid;grid-template-columns:1fr 1.65fr;gap:36px;align-items:center;margin:32px 0 48px;padding-top:32px;border-top:1px solid #344651}.ride video{width:100%;background:#000;aspect-ratio:16/9;border:1px solid #344651}.ride h2{font-size:clamp(24px,3vw,42px);margin:12px 0;line-height:1.1}.ride p{font-size:16px;line-height:1.6;color:#aebfc9;max-width:440px}.ride .eyebrow{color:#ff8b29}.throttle-console{--heat:#77d9e9;margin:18px auto 24px;max-width:1240px;padding:20px 24px;border:1px solid #3f5360;background:linear-gradient(120deg,#14212a,#080e13);border-top:2px solid var(--heat)}.drive-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;letter-spacing:2px}.drive-heading b{color:var(--heat);font-weight:400}.drive-heading button{background:transparent;border:0;color:#afc0cc;font-size:12px;padding:10px}.throttle-row{display:flex;align-items:center;gap:24px;margin:18px 0}.pedal{background:linear-gradient(120deg,#ff9c37,#ff6900);border:1px solid #ffba77;color:#101010;min-width:240px;min-height:86px;font-size:22px;font-style:italic;font-weight:700;letter-spacing:1px;touch-action:none;user-select:none;box-shadow:inset 0 -5px #9e3e00}.pedal span{display:block;font-size:12px;font-style:normal;font-weight:400;margin-top:8px;letter-spacing:.4px}.pedal.pressed{transform:translateY(3px);box-shadow:inset 0 3px 10px #8b3300;background:#ffb252}.drive-range{flex:1}.drive-range label{display:flex;justify-content:space-between;font-size:14px;color:#c5d3db}.drive-range output{font-size:23px;color:var(--heat);font-variant-numeric:tabular-nums}.drive-range input{width:100%;accent-color:#ff8b29;margin:14px 0;cursor:pointer}.milestones{display:flex;justify-content:space-between;gap:8px}.milestones button,.replay-drive{background:#0b151c;border:1px solid #455d6c;padding:9px;color:#cbd9e1;font-size:12px}.replay-drive{height:50px}.scenario-note{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:#a9bdca;line-height:1.6}.scenario-note label{display:flex;align-items:center;gap:10px}.scenario-note input{background:#050c10;border:1px solid #506978;color:#fff;padding:10px;width:170px;font:inherit}.drive-feedback{font-size:13px;color:var(--heat);margin:14px 0 0}.throttle-console:focus-within{border-bottom-color:#7795a8}
@media(max-width:850px){.throttle-row{flex-wrap:wrap}.pedal{min-width:200px;flex:1}.drive-range{min-width:100%;order:3}.scenario-note{align-items:flex-start;flex-direction:column}.ride{grid-template-columns:1fr;gap:18px}.ride video{grid-row:1}.ride-copy p{max-width:none}.throttle-console{padding:16px}.drive-heading{font-size:12px;letter-spacing:1px}.drive-heading button{font-size:12px}.milestones button{font-size:12px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.pedal.pressed{transform:none}}
/* Phone cockpit: one chosen instrument upright; complete cluster sideways. */
.mobile-readouts,.mobile-heat,.rotate-hint{display:none}
@media(max-width:850px) and (orientation:portrait){
 header{height:auto;min-height:0;padding:3px 12px 0;gap:0 10px}.network-brand img{width:72px;height:43px}.network-brand{font-size:12px;letter-spacing:1px}.sample-label{font-size:10px;max-width:115px;padding-left:8px}nav{flex-wrap:nowrap;overflow-x:auto;min-height:36px;gap:14px;justify-content:flex-start}nav a{font-size:12px;white-space:nowrap;padding:0;min-height:36px;letter-spacing:.6px;flex-shrink:0}
 main{padding:0 12px}.scope{min-height:32px;font-size:11px;gap:8px}.scope a{font-size:10px;line-height:1.2;max-width:145px}
 .cluster{display:flex;justify-content:center;align-items:center;flex-direction:row;aspect-ratio:auto;padding:0 0 5px;gap:0;min-height:0}.cluster:before{inset:0}
 .cluster .instrument{display:none!important;position:relative!important;inset:auto!important;grid-column:auto!important;grid-row:auto!important;width:min(77vw,310px)!important;max-width:310px!important;order:0!important}
 main:not([data-focus="funding"]):not([data-focus="play"]) .cluster .instrument.center,main[data-focus="funding"] .cluster .instrument.funding,main[data-focus="play"] .cluster .instrument.play{display:block!important}
 .mobile-readouts{display:grid;grid-template-columns:.65fr 1.15fr 1fr;gap:6px;margin-top:7px}.mobile-readouts button{min-width:0;background:#0d1820;border:1px solid #415965;padding:9px 5px;text-align:center;border-radius:3px;min-height:63px}.mobile-readouts button[aria-pressed=true]{border-bottom:3px solid #ff790f}.mobile-readouts span{display:block;font-size:12px;line-height:1.2;color:#a8bfcd;min-height:28px}.mobile-readouts strong{display:block;font-size:clamp(16px,4.5vw,24px);font-variant-numeric:tabular-nums;line-height:1.2}.mobile-heat{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#c7d8e1}.mobile-heat-track{height:5px;flex:1;overflow:hidden;background:#1c303c;border-radius:3px}.mobile-heat-fill{height:100%;width:0;background:linear-gradient(90deg,#83dde6,#f2cd54,#ff514b)}.rotate-hint{display:block;text-align:center;font-size:12px;color:#8ba5b5;margin:7px 0}
 .drive-controls{padding:0;gap:6px}.mode-switch{display:none}.motion-controls{width:100%}.motion-controls button{font-size:14px;min-height:44px}.demo-control{flex:1}.motion-status{font-size:12px;min-height:0}.motion-status .mode-label{font-size:12px}
 .throttle-console{padding:10px;margin:9px 0 20px}.drive-heading{font-size:12px;letter-spacing:.5px;gap:5px}.drive-heading button{font-size:12px;padding:6px;min-height:36px;max-width:145px;text-align:right}.throttle-row{gap:9px;margin:8px 0;display:grid;grid-template-columns:1fr 68px}.pedal{min-width:0;min-height:66px;font-size:22px;grid-column:1}.pedal span{font-size:12px;margin-top:5px;letter-spacing:0}.replay-drive{min-height:44px;height:100%;font-size:12px;grid-column:2;grid-row:1}.drive-range{grid-row:2;grid-column:1/-1;min-width:0;width:100%}.drive-range label{font-size:12px}.drive-range output{font-size:18px}.drive-range input{margin:4px 0;height:28px}.milestones{gap:5px}.milestones button{flex:1;min-height:44px;font-size:12px;line-height:1.2;padding:5px}.scenario-note{gap:8px;font-size:12px}.scenario-note label{width:100%;justify-content:space-between}.scenario-note input{width:100px;padding:7px;font-size:16px;min-height:36px}.drive-feedback{font-size:12px;margin-top:8px;line-height:1.4}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:15px}.ride{margin-top:24px;padding-top:20px}.ride h2{font-size:26px}.ride p{font-size:15px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 header{height:43px;flex-wrap:nowrap;padding:0 12px;gap:15px}.network-brand img{width:62px;height:39px}.network-brand span,.sample-label{display:none}nav{order:0;flex-basis:auto;min-height:0;gap:13px;overflow-x:auto;justify-content:flex-start}nav a{font-size:12px;letter-spacing:.5px;padding:0;white-space:nowrap;min-height:40px;flex-shrink:0}
 main{padding:0 max(12px,env(safe-area-inset-left))}.scope{height:24px;min-height:24px;font-size:10px}.scope a{font-size:10px;max-width:none}.cluster{display:block;aspect-ratio:1774/535;padding:0;gap:0;max-width:1050px;margin:auto}
 .cluster .instrument{display:block!important;position:absolute!important;max-width:none!important;grid-column:auto;grid-row:auto}.cluster .instrument.funding{width:19.05%!important;left:1.41%!important;right:auto;top:28.04%!important}.cluster .instrument.play{width:21.87%!important;left:17.7%!important;right:auto;top:18.13%!important}.cluster .instrument.center{width:28.41%!important;left:35.795%!important;right:auto;top:1.12%!important}.cluster .instrument.participation{width:21.87%!important;right:17.7%!important;left:auto;top:18.13%!important}.cluster .instrument.events{width:19.05%!important;right:1.41%!important;left:auto;top:28.04%!important}
 .throttle-console{margin:6px 0 16px;padding:8px 12px}.drive-heading{font-size:12px}.drive-heading button{font-size:12px;padding:4px}.throttle-row{display:flex;flex-wrap:nowrap;gap:12px;margin:5px 0}.pedal{min-width:190px;min-height:55px;font-size:20px;flex:0 0 30%}.pedal span{font-size:12px;margin-top:3px}.drive-range{order:0;min-width:0;flex:1}.drive-range label{font-size:12px}.drive-range output{font-size:18px}.drive-range input{margin:2px 0;height:20px}.milestones button{font-size:12px;min-height:32px;padding:5px}.replay-drive{font-size:12px;height:45px}.scenario-note{flex-direction:row;align-items:center;font-size:12px;gap:12px}.scenario-note input{padding:5px;width:95px}.scenario-note label{white-space:nowrap}.drive-feedback{font-size:12px;margin:5px 0 0}.drive-controls{padding-top:6px;gap:8px}.motion-status{display:none}.kpis{padding:10px 0;grid-template-columns:repeat(6,minmax(0,1fr))}.kpi{padding:8px;min-height:85px}.kpi .value{font-size:22px}.kpi .label{font-size:12px}.ride{margin-top:20px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 .cluster:before{left:0;right:0}body:has(main[data-driving="true"]) header{display:none}main[data-driving="true"] .cluster{max-width:min(100%,calc((100svh - 135px) * 3.315));}main[data-driving="true"] .scope{height:22px;min-height:22px}
}

.record-refresh{border:1px solid #536b7c;background:#0b141b;color:#e6eef1;padding:8px 12px;margin-left:10px;font:inherit;font-size:12px;cursor:pointer}.record-refresh:disabled{opacity:.5}.scope>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}

.ride.ride-stops{grid-template-columns:1fr;gap:28px}.ride-stops .ride-copy p{max-width:none}.ride-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ride-films article{min-width:0}.ride-films h3{font-size:22px;font-weight:500;margin:6px 0 18px;color:#e8eff2}.ride-films .eyebrow{font-size:13px;margin:0}.ride-films video{display:block;grid-row:auto}.ride-films article>p:last-child{font-size:14px;margin:12px 0 0;max-width:none}@media(max-width:700px){.ride-films{grid-template-columns:1fr;gap:30px}.ride-films h3{font-size:20px}}

.record-scope{display:flex;gap:8px;flex-wrap:wrap}.record-scope button{background:#10191e;color:#eee;border:1px solid #c75b1b;padding:10px 12px;font:inherit;cursor:pointer}.record-scope button[aria-pressed="true"],.record-scope button:hover{border-color:#ff8b29;color:#ff8b29}.scope{flex-wrap:wrap;gap:12px}

.engine-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:16px 0;color:#ecebe2;font-size:14px}.engine-controls button{border:1px solid #c75b1b;background:#18120e;color:#fff;padding:12px 18px;font:inherit;cursor:pointer}.engine-controls button[aria-pressed="true"]{border-color:#ff8b29;color:#ff8b29}.engine-controls label{display:flex;align-items:center;gap:10px}.engine-controls input{width:110px;accent-color:#ff8b29}.engine-controls [role="status"]{font-size:12px;color:#b6bfc4}
/* Physical touch controls: labels remain accessible, without Safari text selection. */
.throttle-console button,.throttle-console button *,.mobile-readouts button,.mobile-readouts button *,.instrument,.instrument *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.throttle-console button svg,.pedal strong,.pedal span{pointer-events:none}
.control-icon{width:24px;height:24px;vertical-align:middle;flex-shrink:0}
.drive-heading button,.replay-drive{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.pedal{display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#f4f1e6,#d8d4c8);color:#080b0d;border:3px solid #05080a;outline:2px solid #c75b1b;border-radius:10px;box-shadow:inset 0 -5px #aaa89e;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.pedal strong{font-size:24px;font-style:italic}.pedal span{margin:0;font-size:12px;letter-spacing:1px}.pedal-chevron{display:block;width:40px;height:32px;color:#007da4}.pedal.pressed{background:#ff9a3c;outline-color:#ffb46a}.pedal.pressed .pedal-chevron{color:#111}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving="true"]{padding-bottom:115px}
 main[data-driving="true"] .drive-heading{justify-content:flex-start}
 main[data-driving="true"] .drive-heading>span,main[data-driving="true"] .drive-heading button span{display:none}
 main[data-driving="true"] .drive-heading button{width:44px;height:44px;padding:8px;background:#f2efe5;color:#05080a;border:2px solid #080b0d;border-radius:50%;outline:1px solid #c75b1b}
 main[data-driving="true"] .pedal{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:156px;min-width:0;height:76px;min-height:76px;z-index:30;gap:8px;box-shadow:0 5px 22px #000b,inset 0 -4px #aaa89e}
 main[data-driving="true"] .pedal strong{font-size:22px}main[data-driving="true"] .pedal-chevron{width:30px;height:26px}main[data-driving="true"] .pedal span{font-size:11px}
}
/* Stable small viewport fits even with phone browser bars expanded. */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 body:has(main[data-driving="true"]){overflow:hidden;overscroll-behavior:none}
 body:has(main[data-driving="true"])>header,body:has(main[data-driving="true"])>footer{display:none}
 main[data-driving="true"]{position:fixed;inset:0 0 auto;height:100svh;width:100%;max-width:none;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) 88px;padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(10px,env(safe-area-inset-left));background:#030608}
 main[data-driving="true"]>.scope,main[data-driving="true"]>.ride,main[data-driving="true"]>.mobile-readouts,main[data-driving="true"]>.mobile-heat,main[data-driving="true"]>.rotate-hint{display:none}
 main[data-driving="true"] .cluster{grid-row:1;align-self:center;justify-self:center;flex:none;width:min(100%,calc((100svh - 100px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 3.315));max-width:none;aspect-ratio:1774/535;margin:0;padding:0;border:0}
 main[data-driving="true"] .throttle-console{grid-row:2;display:grid;grid-template-columns:100px minmax(140px,1fr) 136px;grid-template-rows:1fr;align-items:center;gap:12px;width:100%;max-width:none;height:80px;margin:0;padding:6px 10px;border-radius:8px;overflow:hidden}
 main[data-driving="true"] .throttle-row{display:contents}
 main[data-driving="true"] .drive-heading{grid-column:1;grid-row:1;justify-self:start;margin:0;display:block}
 main[data-driving="true"] .drive-heading>span,main[data-driving="true"] .drive-heading button span,main[data-driving="true"] .replay-drive span{display:none}
 main[data-driving="true"] .drive-heading button,main[data-driving="true"] .replay-drive{width:44px;height:44px;min-height:44px;padding:8px;background:#f2efe5;color:#05080a;border:2px solid #080b0d;border-radius:50%;outline:1px solid #c75b1b}
 main[data-driving="true"] .replay-drive{grid-column:1;grid-row:1;justify-self:end;align-self:center}
 main[data-driving="true"] .pedal{position:static;grid-column:2;grid-row:1;width:100%;min-width:0;min-height:58px;height:58px;flex:none;gap:12px;outline-offset:0;transform:none}
 main[data-driving="true"] .pedal.pressed{box-shadow:inset 0 3px 12px #8b3300}
 main[data-driving="true"] .engine-controls{grid-column:3;grid-row:1;display:block;margin:0}
 main[data-driving="true"] .engine-controls button{width:100%;height:56px;min-height:44px;padding:5px;font-size:14px;border-radius:8px}
 main[data-driving="true"] .engine-controls label,main[data-driving="true"] .engine-controls [role="status"],main[data-driving="true"] .drive-range,main[data-driving="true"] .scenario-note,main[data-driving="true"] .drive-feedback{display:none}
}
/* Physical ignition, paddle and pedal. All driving readouts resist touch selection. */
.throttle-console,.throttle-console *,.mobile-readouts,.mobile-readouts *,.cluster,.cluster *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.throttle-console input[type=number]{-webkit-user-select:text;user-select:text}
.throttle-console .ignition-button{width:94px;height:94px;min-height:94px;padding:15px 8px;flex-shrink:0;border-radius:50%;border:7px solid #343d41;outline:2px solid #080d10;background:radial-gradient(circle at 45% 25%,#343e43,#11191e 75%);box-shadow:inset 0 2px 3px #718089,0 3px 6px #000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#88a6b0}
.ignition-button span{font-size:12px;font-weight:700;white-space:nowrap;letter-spacing:0;pointer-events:none}.ignition-button i{height:5px;width:90%;background:currentColor;pointer-events:none}.throttle-console .ignition-button[aria-pressed=true]{color:#87f7ff;border-color:#343d41;text-shadow:0 0 5px #00c4e5}.ignition-button[aria-pressed=true] i{box-shadow:0 0 8px #00c4e5}
.throttle-row{justify-content:flex-end}.drive-range{order:0}.replay-drive{order:1}.shift-paddle{order:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:68px;min-width:68px;height:94px;background:linear-gradient(100deg,#171d21,#454f54,#1b2328);border:2px solid #647078;border-radius:18px 18px 12px 12px;box-shadow:inset 0 1px #aab7bd,0 4px 6px #000;color:#f2efe5;touch-action:none}.shift-paddle strong{font-size:36px;line-height:1;pointer-events:none}.shift-paddle span{font-size:11px;pointer-events:none}.shift-paddle:active{border-color:#ff8b29;color:#ff8b29;transform:translateY(2px)}
.throttle-console .pedal{order:3;position:static;flex:0 0 82px;min-width:82px;width:82px;height:108px;min-height:108px;display:flex;flex-direction:column;gap:9px;border-radius:18px 18px 10px 10px;padding:12px 7px;transform:skew(-5deg);background:linear-gradient(100deg,#9dabae,#e0e3df,#79868b);outline-color:#b45b27;color:#0b1115}.pedal-grip{display:block;width:48px;height:55px;pointer-events:none;background:repeating-linear-gradient(0deg,#222b30 0 5px,transparent 5px 12px);border-radius:6px}.throttle-console .pedal span{font-size:10px;letter-spacing:0;margin:0}.throttle-console .pedal.pressed{background:linear-gradient(100deg,#bb5b20,#ffae65,#a34612);outline-color:#ff9e45}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .throttle-row{display:flex;flex-wrap:wrap;justify-content:flex-start}main[data-driving=true] .drive-range{width:100%;flex-basis:100%}main[data-driving=true] .replay-drive{height:44px}
 main[data-driving=true] .pedal{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));height:100px;min-height:100px;width:76px;min-width:76px;z-index:30;gap:7px}
 main[data-driving=true] .shift-paddle{position:fixed;right:calc(104px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;height:82px}
 main[data-driving=true] .throttle-console .ignition-button{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));width:86px;height:86px;min-height:86px;z-index:30}
 main[data-driving=true]{padding-bottom:135px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true] .throttle-console{grid-template-columns:100px 76px minmax(0,1fr) 64px 76px;gap:10px;padding:3px 8px;height:84px}
 main[data-driving=true] .engine-controls{grid-column:2;grid-row:1}main[data-driving=true] .throttle-console .ignition-button{position:static;width:72px;height:72px;min-height:72px;padding:8px 3px;border-width:5px;gap:6px}.ignition-button span{font-size:10px}
 main[data-driving=true] .shift-paddle{grid-column:4;grid-row:1;width:60px;min-width:60px;height:68px;position:static}
 main[data-driving=true] .pedal{grid-column:5;grid-row:1;position:static;width:70px;min-width:70px;height:74px;min-height:74px;padding:7px;gap:4px;transform:skew(-5deg)}main[data-driving=true] .pedal-grip{height:40px;width:43px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){main[data-driving=true] .throttle-console .ignition-button{border-radius:50%}}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .throttle-console .ignition-button{left:max(12px,env(safe-area-inset-left));width:76px;height:76px;min-height:76px;padding:9px 3px;border-width:5px}.ignition-button span{font-size:10px}
 main[data-driving=true] .drive-heading button{position:fixed;left:calc(100px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));width:40px;height:40px;min-height:40px;z-index:31}
 main[data-driving=true] .shift-paddle{right:calc(94px + env(safe-area-inset-right));width:54px;min-width:54px}
 main[data-driving=true] .pedal{width:70px;min-width:70px;right:max(12px,env(safe-area-inset-right))}
}
/* Automatic by default; consistent shift buttons left, rendered ignition center, pedal right. */
main[data-driving=true] .throttle-console{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;padding:18px}
main[data-driving=true] .throttle-row{display:contents}
main[data-driving=true] .drive-heading{grid-column:1;grid-row:1;margin:0}main[data-driving=true] .drive-heading>span{display:none}
main[data-driving=true] .transmission-controls{grid-column:2;grid-row:1;display:flex;justify-content:center;gap:4px}
.transmission-controls button{border:1px solid #64737c;background:#0c1317;color:#a6b4bf;padding:8px;font-size:12px;min-height:36px;border-radius:5px}.transmission-controls button[aria-pressed=true]{border-color:#ff8b29;color:#ff8b29;background:#25170d}
main[data-driving=true] .replay-drive{grid-column:3;grid-row:1;justify-self:end}
main[data-driving=true] .shift-controls{grid-column:1;grid-row:2;justify-self:start;display:flex;gap:8px}
.shift-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:66px;height:70px;border-radius:50%;border:3px solid #6b767b;background:radial-gradient(circle at 40% 25%,#414c52,#131b20 80%);box-shadow:inset 0 1px #afbabf,0 3px 5px #000;color:#f2efe5;touch-action:none}.shift-button strong{font-size:28px;line-height:1;pointer-events:none}.shift-button span{font-size:10px;pointer-events:none}.shift-button:disabled{opacity:.4;cursor:default}.shift-button:active:not(:disabled){border-color:#ff8b29;transform:translateY(2px)}
main[data-driving=true] .engine-controls{grid-column:2;grid-row:2;justify-self:center;display:flex;flex-direction:column;align-items:center;margin:0;gap:12px}
main[data-driving=true] .throttle-console .ignition-button{position:static;width:112px;height:112px;min-height:112px;padding:27px 14px;border:0;outline:0;border-radius:50%;background:url('assets/ignition-render.png') center/contain no-repeat;box-shadow:none;gap:7px;color:#9caeb5;filter:drop-shadow(0 3px 3px #000);transition:transform .1s}
main[data-driving=true] .ignition-button span{font-size:12px;font-weight:700}main[data-driving=true] .ignition-button i{width:69%;height:4px}main[data-driving=true] .ignition-button[aria-pressed=true]{color:#9bf8ff;text-shadow:0 0 5px #00c4e5}main[data-driving=true] .ignition-button:active{transform:scale(.96)}
main[data-driving=true] .pedal{position:static;grid-column:3;grid-row:2;justify-self:end;width:82px;min-width:82px;height:108px;min-height:108px}
main[data-driving=true] .drive-range{grid-column:1/-1;grid-row:3;width:100%}main[data-driving=true] .scenario-note{grid-column:1/-1;grid-row:4}main[data-driving=true] .drive-feedback{grid-column:1/-1;grid-row:5}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true]{padding-bottom:165px}
 main[data-driving=true] .shift-controls{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));z-index:31;display:flex;flex-direction:column;gap:5px}
 main[data-driving=true] .shift-button{width:54px;height:46px;border-radius:9px;flex-direction:row;gap:4px}.shift-button strong{font-size:24px}.shift-button span{font-size:9px}
 main[data-driving=true] .throttle-console .ignition-button{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:104px;height:104px;min-height:104px;z-index:31}
 main[data-driving=true] .pedal{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:70px;min-width:70px;height:102px;min-height:102px;z-index:31}
 main[data-driving=true] .transmission-controls{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:calc(128px + env(safe-area-inset-bottom));z-index:31}
 main[data-driving=true] .drive-heading button{position:fixed;left:auto;right:max(14px,env(safe-area-inset-right));bottom:calc(130px + env(safe-area-inset-bottom));z-index:31}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true]{grid-template-rows:minmax(0,1fr) 100px}
 main[data-driving=true] .cluster{width:min(100%,calc((100svh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 3.315))}
 main[data-driving=true] .throttle-console{grid-template-columns:90px 92px minmax(92px,1fr) 92px 90px;grid-template-rows:1fr;height:94px;gap:6px;padding:3px 8px}
 main[data-driving=true] .shift-controls{position:static;grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:3px;justify-self:start}main[data-driving=true] .shift-button{width:62px;height:39px;border-radius:8px;flex-direction:row;gap:4px}main[data-driving=true] .shift-button strong{font-size:23px}
 main[data-driving=true] .transmission-controls{position:static;grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:3px}.transmission-controls button{min-height:34px;padding:5px}
 main[data-driving=true] .engine-controls{grid-column:3;grid-row:1;justify-self:center}main[data-driving=true] .throttle-console .ignition-button{position:static;width:88px;height:88px;min-height:88px;padding:23px 10px;gap:6px;transform:none}main[data-driving=true] .ignition-button span{font-size:10px}
 main[data-driving=true] .drive-heading{grid-column:4;grid-row:1;justify-self:start}main[data-driving=true] .drive-heading button{position:static}main[data-driving=true] .replay-drive{grid-column:4;grid-row:1;justify-self:end;width:40px;height:40px}
 main[data-driving=true] .pedal{position:static;grid-column:5;grid-row:1;justify-self:end;width:72px;min-width:72px;height:82px;min-height:82px;padding:8px;gap:6px}main[data-driving=true] .pedal-grip{height:44px}
}
@media(max-width:850px) and (orientation:portrait){
 body:has(main[data-driving=true])>header,main[data-driving=true]>.scope{display:none}
}
/* Factory-printed ignition face and larger machined shift controls. */
main[data-driving=true] .throttle-console .ignition-button{background-image:url('assets/ignition-printed.png?v=apostrophe-1');position:relative;text-shadow:none;color:#7e969b}
main[data-driving=true] .ignition-button span{display:none}
main[data-driving=true] .ignition-button i{position:absolute;left:32%;top:51%;width:36%;height:3%;min-height:2px;margin:0;border-radius:1px;box-shadow:inset 0 1px 2px #0009;background:#526568}
main[data-driving=true] .ignition-button[aria-pressed=true]{text-shadow:none}
main[data-driving=true] .ignition-button[aria-pressed=true] i{background:#81dae2;box-shadow:0 0 3px #2b9bab80,inset 0 1px #ceffff}
main[data-driving=true] .shift-controls{gap:10px}
main[data-driving=true] .shift-button{width:88px;height:90px;border-radius:12px;border:3px solid #7d888e;background:linear-gradient(110deg,#222b30,#3c484f 45%,#192228);box-shadow:inset 0 2px 1px #bcc5c780,inset 0 -5px 3px #080e12,0 3px 0 #060a0c,0 5px 8px #0008;flex-direction:column;gap:5px;color:#f0f0e8}
main[data-driving=true] .shift-button strong{font-size:38px;font-weight:700;line-height:1;text-shadow:0 1px #000}
main[data-driving=true] .shift-button span{font-size:11px;letter-spacing:1.4px}
main[data-driving=true] .shift-button:disabled{opacity:.65;color:#929fa6;border-color:#48565f}
main[data-driving=true] .shift-button:active:not(:disabled){box-shadow:inset 0 3px 6px #070b0f;border-color:#ff8b29;color:#ffb16e;transform:translateY(2px)}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .throttle-console .ignition-button{position:fixed}
 main[data-driving=true] .shift-controls{gap:6px}
 main[data-driving=true] .shift-button{width:76px;height:52px;flex-direction:row;gap:8px;border-radius:10px}
 main[data-driving=true] .shift-button strong{font-size:31px}
 main[data-driving=true] .shift-button span{font-size:10px;letter-spacing:.4px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true] .throttle-console{grid-template-columns:148px 80px minmax(96px,1fr) 88px 90px;gap:6px}
 main[data-driving=true] .throttle-console .ignition-button{position:relative}
 main[data-driving=true] .shift-controls{flex-direction:row;gap:8px}
 main[data-driving=true] .shift-button{width:68px;height:80px;border-radius:11px;flex-direction:column;gap:6px}
 main[data-driving=true] .shift-button strong{font-size:34px}
 main[data-driving=true] .shift-button span{font-size:10px;letter-spacing:1px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true] .throttle-console{position:relative}
 main[data-driving=true] .engine-controls{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
}
main[data-driving=true] .shift-button strong{font-family:Arial,sans-serif}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){main[data-driving=true] .engine-controls{grid-area:auto;justify-self:auto;width:88px;right:auto;margin:0}}
@media(max-width:850px) and (orientation:portrait){main[data-driving=true]::after{content:'';position:fixed;inset:auto 0 0;height:calc(126px + env(safe-area-inset-bottom));background:linear-gradient(#111a20,#080e12);border-top:1px solid #36434b;z-index:30;pointer-events:none}}
/* Gamer instruments and steering-wheel-spaced shift controls. */
.gamer-cluster{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;gap:20px;width:min(1100px,100%);margin:20px auto}
.gamer-dial{width:100%;height:auto;max-height:52vh;display:block;font-family:var(--font);filter:drop-shadow(0 5px 8px #000)}
.gamer-gear{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#d6e2e8}.gamer-gear>span:first-child{font-size:14px;letter-spacing:3px}.gamer-gear>strong{font:700 96px/1 var(--font);color:#f3f2e8;text-shadow:0 2px 6px #000}.gamer-gear small{font-size:13px;min-height:30px;line-height:1.2;color:#a5c1d0}.gamer-gear .game-only{font-size:10px;color:#78939f;letter-spacing:1px}
main[data-gamer=true][data-redline=true] .gamer-gear strong,main[data-gamer=true][data-redline=true] .gamer-gear small{color:#ff6d43}
main[data-gamer=true] .drive-range,main[data-gamer=true] .scenario-note,main[data-gamer=true] .drive-feedback,main[data-gamer=true]>.ride{display:none}
main[data-gamer=true] .shift-controls{display:contents}
main[data-gamer=true] .shift-button{position:fixed;top:40%;transform:translateY(-50%);z-index:35;width:76px;height:136px;flex-direction:column;border-radius:16px;touch-action:none}
main[data-gamer=true] .shift-button[data-drive-action=downshift]{left:max(12px,env(safe-area-inset-left))}
main[data-gamer=true] .shift-button[data-drive-action=upshift]{right:max(12px,env(safe-area-inset-right))}
main[data-gamer=true] .shift-button:active:not(:disabled){transform:translateY(calc(-50% + 2px));border-color:#ff8b29}
main[data-gamer=true] .gamer-cluster{width:min(1100px,calc(100% - 170px))}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true]{padding-inline:6px}
 main[data-gamer=true] .gamer-cluster{width:100%;margin:12px 0 0;gap:8px;grid-template-columns:1fr 1fr}
 main[data-gamer=true] .gamer-gear{grid-row:2;grid-column:1/-1;gap:4px;margin:0 auto 175px;min-height:135px}
 main[data-gamer=true] .gamer-gear strong{font-size:82px}
 main[data-gamer=true] .gamer-dial{grid-row:1}
 main[data-gamer=true] .shift-button{top:calc(50svh - 20px);width:70px;height:116px}
 main[data-gamer=true] .shift-button[data-drive-action=downshift]{left:max(12px,env(safe-area-inset-left))}
 main[data-gamer=true] .shift-button[data-drive-action=upshift]{right:max(12px,env(safe-area-inset-right))}
 main[data-gamer=true] .shift-button strong{font-size:40px}
 main[data-gamer=true] .throttle-console{margin-top:0}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .gamer-cluster{grid-row:1;width:calc(100% - 156px);height:100%;margin:0;justify-self:center;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);gap:8px;min-height:0}
 main[data-gamer=true] .gamer-dial{height:100%;max-height:calc(100svh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0}
 main[data-gamer=true] .gamer-gear{gap:3px}.gamer-gear>span:first-child{font-size:12px}
 main[data-gamer=true] .gamer-gear strong{font-size:76px}main[data-gamer=true] .gamer-gear small{font-size:12px;min-height:27px}
 main[data-gamer=true] .shift-button{top:calc((100svh - 100px)/2);width:64px;height:116px}
 main[data-gamer=true] .shift-button[data-drive-action=downshift]{left:max(10px,env(safe-area-inset-left))}
 main[data-gamer=true] .shift-button[data-drive-action=upshift]{right:max(10px,env(safe-area-inset-right))}
 main[data-gamer=true] .throttle-console .transmission-controls{grid-column:1;flex-direction:row;width:145px}
}
.gamer-cluster,.gamer-cluster *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* Single integrated gamer tach: RPM colors the face and sweep, with a separate outer shift halo. */
main[data-gamer=true] .gamer-combo{display:flex;align-items:center;justify-content:center;width:min(560px,calc(100% - 180px));margin:10px auto;gap:0}
main[data-gamer=true] .gamer-combo .gamer-dial{width:100%;max-height:58vh;height:auto}
main[data-gamer=true][data-shift-ready=true] .shift-halo{filter:drop-shadow(0 0 3px #ff882e88)}
main[data-gamer=true][data-redline=true] [data-game=notice]{fill:#ff6d36}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .gamer-combo{width:min(100%,430px);margin:4px auto 0;height:calc(100svh - 195px);min-height:220px}
 main[data-gamer=true] .gamer-combo .gamer-dial{height:100%;max-height:100%;width:100%}
 main[data-gamer=true] .shift-button{top:auto;bottom:calc(170px + env(safe-area-inset-bottom));transform:none;height:84px;width:62px}
 main[data-gamer=true] .shift-button:active:not(:disabled){transform:translateY(2px)}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .gamer-combo{width:calc(100% - 160px);height:100%;min-height:0;margin:0;grid-row:1}
 main[data-gamer=true] .gamer-combo .gamer-dial{height:100%;width:auto;max-width:100%;max-height:calc(100svh - 106px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true]{position:fixed;inset:0;height:100svh;margin:0;padding:0 6px;overflow:hidden;z-index:25;background:#060d11}
 main[data-gamer=true] .gamer-combo{height:calc(100svh - 230px);margin:0 auto;min-height:0}
 main[data-gamer=true] .throttle-console{height:0;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none}
 main[data-gamer=true] .engine-controls label,main[data-gamer=true] .engine-controls [role=status]{display:none}
 main[data-gamer=true] .replay-drive{position:fixed;left:50%;bottom:calc(130px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:31;padding:6px 12px;min-height:36px}
}
/* Subdued ignition metal and a driver-visible safety-orange gear digit. */
main[data-driving=true] .throttle-console .ignition-button{filter:brightness(.72) contrast(1.08) drop-shadow(0 3px 3px #000)}
main[data-gamer=true] [data-game=gear]{fill:#ff7900;font-weight:800;paint-order:stroke;stroke:#191009;stroke-width:1.2px}
/* West Desert manual lap view: instruments left, track right; portrait track above. */
.gamer-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:24px;width:calc(100% - 180px);max-width:1300px;margin:10px auto}
main[data-gamer=true] .gamer-stage .gamer-combo{width:100%;margin:0}
.track-stage{min-width:0;position:relative;color:#f2efe5;align-self:center}
.track-map{display:block;width:100%;height:auto;max-height:40vh;background:#000;border-radius:8px}
.lap-timing{display:flex;justify-content:space-between;gap:10px;padding:12px 4px 6px;font:12px var(--font);color:#99adb4}
.lap-timing span{display:flex;flex-direction:column;gap:4px}.lap-timing b{font:600 21px var(--font);font-variant-numeric:tabular-nums;color:#f2efe5;white-space:nowrap}
.lap-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;font:11px var(--font);color:#9aaeb7;padding:6px 4px}.lap-message{font-size:10px;text-align:right;letter-spacing:.5px}.lap-history summary{cursor:pointer;color:#ff8a38;min-height:28px;display:flex;gap:8px;align-items:center}.lap-panel{position:absolute;z-index:60;right:0;top:100%;width:min(350px,90vw);max-height:45vh;overflow:auto;background:#111c22;border:1px solid #cc5b1f;padding:16px;box-shadow:0 5px 20px #000;font:14px/1.6 var(--font)}.lap-panel p{font-size:12px;color:#a7b9c0}.lap-panel a{color:#ff8a38}.lap-panel ol{padding-left:24px}.lap-panel strong{font-size:12px}.track-stage,.track-stage *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .gamer-stage{display:flex;flex-direction:column;gap:0;width:100%;height:calc(100svh - 218px);margin:0;min-height:0}
 main[data-gamer=true] .track-stage{order:0;width:100%;height:48%;flex:none;display:flex;flex-direction:column}
 main[data-gamer=true] .track-map{min-height:0;flex:1;width:100%;height:0;object-fit:contain}
 main[data-gamer=true] .lap-timing{padding:3px 8px;gap:6px;font-size:10px;flex:none;flex-direction:row}.lap-timing span{gap:1px}
 main[data-gamer=true] .lap-timing b{font-size:15px}
 main[data-gamer=true] .lap-footer{padding:0 8px;flex:none;font-size:10px;min-height:24px}
 main[data-gamer=true] .gamer-stage .gamer-combo{order:1;height:52%;width:100%;min-height:0;margin:0}
 main[data-gamer=true] .gamer-stage .gamer-dial{height:100%;max-height:100%;width:auto;max-width:100%}
 main[data-gamer=true] .lap-panel{top:100%;max-height:calc(100svh - 300px);width:calc(100vw - 48px)}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .gamer-stage{grid-row:1;width:calc(100% - 160px);height:100%;min-height:0;margin:0 auto;gap:12px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 main[data-gamer=true] .gamer-stage .gamer-combo{height:100%;min-height:0;width:100%}
 main[data-gamer=true] .track-stage{height:100%;display:flex;flex-direction:column;min-height:0}
 main[data-gamer=true] .track-map{height:0;min-height:0;flex:1;max-height:none}
 main[data-gamer=true] .lap-timing{padding:2px 0;gap:5px;font-size:9px}.lap-timing span{gap:1px}
 main[data-gamer=true] .lap-timing b{font-size:14px}
 main[data-gamer=true] .lap-footer{padding:0;font-size:10px;min-height:24px}
 main[data-gamer=true] .lap-panel{top:0;max-height:calc(100svh - 145px)}
}
.lap-panel [data-lap-close]{float:right;background:#17252d;border:1px solid #cc5b1f;color:#f2efe5;border-radius:5px;min-height:32px;padding:4px 10px;margin:0 0 8px 8px;font:12px var(--font)}
.track-stage:has(.track-map[data-corner=lift]) .lap-message{color:#ffb250;font-weight:700}.track-stage:has(.track-map[data-corner=penalty]) .lap-message{color:#ff713b;font-weight:700}
/* Optional manual brake beside the restored ignition; existing throttle remains right. */
main[data-gamer=true] .engine-controls{position:relative}
main[data-gamer=true] .brake-pedal{position:absolute;right:calc(50% + 82px);top:12px;width:92px;height:86px;min-height:70px;border:3px solid #4c5a60;border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(110deg,#69767c,#a0aaac 45%,#525e64);color:#10191e;box-shadow:inset 0 2px #c2c8c8,0 4px 6px #000;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.brake-grip{display:block;width:65px;height:35px;border-radius:4px;background:repeating-linear-gradient(0deg,#1b252a 0 5px,transparent 5px 10px);pointer-events:none}
main[data-gamer=true] .brake-pedal span{font:700 11px var(--font);letter-spacing:1px;pointer-events:none}
main[data-gamer=true] .brake-pedal.pressed{border-color:#ff8b29;background:linear-gradient(110deg,#a24b22,#e6803d,#88401d);box-shadow:inset 0 3px 8px #321308;}
@media(max-width:850px) and (orientation:portrait){main[data-gamer=true] .brake-pedal{position:fixed;left:max(14px,env(safe-area-inset-left));right:auto;top:auto;bottom:calc(24px + env(safe-area-inset-bottom));width:82px;height:82px;z-index:31}.brake-grip{width:55px}}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){main[data-gamer=true] .engine-controls{position:absolute}main[data-gamer=true] .brake-pedal{right:calc(50% + 66px);top:6px;width:78px;height:76px;min-height:70px}.brake-grip{width:53px;height:30px}}

/* Laptop controls: adjacent gas/brake keys; existing touch layout preserved. */
.pedal-key,.keyboard-drive-hint{display:none}
@media (hover:hover) and (pointer:fine){
 .pedal-key{display:inline-block;position:relative;font:700 12px/1 monospace;border:1px solid currentColor;border-radius:3px;padding:3px 5px;margin-left:5px;opacity:.85}
 .keyboard-drive-hint{display:block;color:#c8c7c2;font:600 12px/1.5 sans-serif;letter-spacing:.08em;text-align:center;margin:4px 0 8px}
}

/* Official stripe signature, clear of driving controls and instrument readings. */
.rally-stripe-mark{display:block;pointer-events:none;user-select:none;-webkit-user-select:none;flex:none}
.rally-stripe-track{display:none}
main[data-driving=true] .engine-controls{position:relative}
.throttle-console{position:relative}
.rally-stripe-console{position:absolute;left:75%;top:50%;width:220px;height:100px;transform:translate(-50%,-50%)}
@media(max-width:850px) and (orientation:portrait){
 .rally-stripe-console{display:none}
 .rally-stripe-track{display:block;align-self:center;width:70px;height:32px;margin:0 0 3px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true] .engine-controls{position:absolute}
 .rally-stripe-console{display:none}
 .rally-stripe-track{display:block;align-self:flex-end;width:64px;height:27px;margin:0 4px 2px 0}
}

.cockpit-loading{padding:40px 20px;text-align:center;color:#f2efe5;font:16px/1.5 sans-serif}
.cockpit-loading button{border:1px solid #cc5b1f;border-radius:6px;background:#151e23;color:#fff;padding:12px 20px;min-height:44px;font:inherit}

/* Restore the full track area; signature sits beside instruments or ignition. */
.rally-stripe-gauge{display:none}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .gamer-combo{position:relative}
 .rally-stripe-gauge{display:block;position:absolute;left:6px;top:5px;width:70px;height:32px;z-index:1}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 .rally-stripe-console{display:block}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 .rally-stripe-console{left:calc(50% + 56px)!important;top:50%!important;width:clamp(40px,calc(50vw - 271px),150px)!important;height:auto!important;aspect-ratio:1890/860;transform:translateY(-50%)}
}

/* Race-mode selectors: bright active face, recessed inactive face, clear focus. */
main[data-driving=true] .transmission-controls{gap:8px}
main[data-driving=true] .transmission-controls button{position:relative;min-height:44px;min-width:76px;padding:9px 13px;border:2px solid #627b85;border-bottom-width:5px;border-radius:5px 13px 5px 5px;background:linear-gradient(150deg,#2d414a,#0b171e 70%);color:#e5edf0;font:800 14px/1 var(--font);letter-spacing:1.2px;text-shadow:0 2px #000;box-shadow:inset 0 1px #a2bac555,0 3px 0 #030607;touch-action:manipulation}
main[data-driving=true] .transmission-controls button::before{content:'';display:block;width:22px;height:3px;margin:0 auto 6px;background:#748e99;transform:skewX(-28deg)}
main[data-driving=true] .transmission-controls button[aria-pressed=true]{border-color:#ff943e;border-bottom-color:#ac3c0b;background:linear-gradient(145deg,#ff9c45,#e95b13 75%);color:#100a05;text-shadow:none;box-shadow:inset 0 1px #ffdc99,0 0 16px #f76a1738,0 3px 0 #291207}
main[data-driving=true] .transmission-controls button[aria-pressed=true]::before{background:#14100a}
main[data-driving=true] .transmission-controls button:focus-visible{outline:3px solid #f2efe5;outline-offset:4px}
main[data-driving=true] .transmission-controls button:active{transform:translateY(2px)}
@media(min-width:851px) and (min-height:601px){.rally-stripe-console{margin-top:-16px}}
@media(max-width:850px) and (orientation:portrait){main[data-driving=true] .transmission-controls{gap:5px}main[data-driving=true] .transmission-controls button{min-width:68px;padding:7px 9px;font-size:12px}}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){main[data-driving=true] .transmission-controls{gap:4px}main[data-driving=true] .transmission-controls button{min-width:64px;padding:6px 7px;font-size:12px}}
/* Brief non-blocking arcade impact: no strobe, no changes to vehicle physics. */
.arcade-effect{position:fixed;z-index:80;left:50%;top:40%;width:min(480px,86vw);transform:translate(-50%,-50%);pointer-events:none;user-select:none;-webkit-user-select:none;text-align:center;--impact:#ff792d;animation:arcade-arrive .2s ease-out both}
.arcade-event-card{position:relative;padding:18px 24px;background:linear-gradient(110deg,#090e12f5,#1e1712f5);border-top:4px solid var(--impact);border-bottom:4px solid var(--impact);box-shadow:0 10px 40px #000b,0 0 35px #ff6a1733;transform:skewX(-7deg)}
.arcade-event-card strong{display:block;font:900 clamp(34px,6vw,66px)/1 var(--font);font-style:italic;letter-spacing:-1px;color:#fff1db;text-shadow:3px 3px 0 #ad360c;white-space:nowrap}
.arcade-event-card span{display:block;margin-top:10px;font:800 12px/1.3 var(--font);letter-spacing:2px;color:var(--impact)}
.arcade-spin{--impact:#67afc2}.arcade-spin .arcade-event-card strong{text-shadow:3px 3px 0 #285564}
.arcade-burst{position:absolute;inset:50% 50%;width:0;height:0}
.arcade-burst i{position:absolute;width:clamp(95px,20vw,180px);height:3px;background:linear-gradient(90deg,transparent,var(--impact));transform-origin:left center;transform:rotate(var(--ray)) translateX(80px);animation:arcade-sparks .65s ease-out both}
.arcade-jolt{animation:arcade-jolt .32s ease-out}
@keyframes arcade-arrive{from{scale:.85}to{scale:1}}
@keyframes arcade-sparks{from{opacity:.8;translate:0}to{opacity:0;transform:rotate(var(--ray)) translateX(170px) scaleX(.4)}}
@keyframes arcade-jolt{0%,100%{translate:0}25%{translate:-6px 2px}60%{translate:5px -2px}80%{translate:-2px 0}}
@media(max-width:850px) and (orientation:portrait){.arcade-effect{top:26%;width:88vw}.arcade-event-card{padding:15px 12px}}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){.arcade-effect{top:37%;width:min(410px,60vw)}.arcade-event-card{padding:10px 14px}.arcade-event-card strong{font-size:42px}}
@media(prefers-reduced-motion:reduce){.arcade-effect,.arcade-burst i,.arcade-jolt{animation:none}.arcade-burst{display:none}}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .replay-drive{position:fixed;left:auto;right:68px;bottom:calc(128px + env(safe-area-inset-bottom));transform:none;width:44px;height:44px;min-height:44px;padding:9px;border:2px solid #080b0d;border-radius:50%;outline:1px solid #c75b1b;background:#f2efe5;color:#05080a;z-index:31}
 main[data-driving=true] .replay-drive span{display:none}
}

/* One ignition control, placed where Restart used to be. */
main[data-driving=true] .engine-controls{min-width:112px;min-height:112px}
main[data-driving=true] .throttle-console .ignition-button{grid-column:3;grid-row:1;justify-self:end;align-self:center;position:relative;inset:auto;transform:none;width:88px;height:88px;min-height:88px;padding:20px 10px;margin:0}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .engine-controls{min-height:0}
 main[data-driving=true] .throttle-console .ignition-button{position:fixed;left:auto;right:64px;top:auto;bottom:calc(123px + env(safe-area-inset-bottom));width:58px;height:58px;min-height:58px;padding:10px;transform:none;z-index:32}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true] .engine-controls{min-width:88px;min-height:0}
 main[data-driving=true] .throttle-console .ignition-button{position:absolute;left:auto;right:98px;top:50%;bottom:auto;transform:translateY(-50%);width:60px;height:60px;min-height:60px;padding:10px;z-index:32}
 main[data-driving=true] .drive-heading button{position:absolute;right:168px;top:50%;transform:translateY(-50%)}
 .rally-stripe-console{width:clamp(32px,calc(50vw - 282px),139px)!important}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){main[data-driving=true] .engine-controls{height:88px}}

/* Illuminated ignition face and more landscape space for the circuit. */
main[data-driving=true] .throttle-console .ignition-button[aria-pressed=true]{filter:brightness(1.35) contrast(1.08) drop-shadow(0 0 9px #58d8ee99);box-shadow:inset 0 0 0 2px #88e8ee66,0 0 18px #4ecbdf33;transition:filter .18s,box-shadow .18s}
main[data-driving=true] .ignition-button[aria-pressed=true] i{background:#b1ffff;box-shadow:0 0 8px #49dcff,0 0 14px #49dcff99}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .gamer-stage{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:8px}
 .rally-stripe-console{left:calc(50% + 24px)!important;width:clamp(25.6px,calc(40vw - 225.6px),111.2px)!important}
}
/* Landscape timing rail frees the course from its footer. */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .gamer-stage{position:relative;grid-template-columns:64px minmax(0,.57fr) minmax(0,1.43fr);grid-template-rows:minmax(0,1fr);gap:8px}
 main[data-gamer=true] .gamer-stage .gamer-combo{grid-column:2;grid-row:1}
 main[data-gamer=true] .track-stage,main[data-gamer=true] .lap-footer{display:contents}
 main[data-gamer=true] .track-map{grid-column:3;grid-row:1;width:100%;height:100%;min-height:0;max-height:none}
 main[data-gamer=true] .lap-timing{grid-column:1;grid-row:1;align-self:center;display:flex;flex-direction:column;gap:14px;padding:0 0 42px;margin:0;font-size:11px}
 main[data-gamer=true] .lap-timing b{font-size:15px}
 main[data-gamer=true] .lap-timing>span:last-child{position:absolute;left:72px;bottom:8px;width:calc((100% - 80px)*.285);text-align:center;color:#ff9a4b}
 main[data-gamer=true] .lap-timing>span:last-child b{color:#f2efe5;font-size:17px}
 main[data-gamer=true] .lap-history{grid-column:1;grid-row:1;align-self:end;min-width:0;padding-bottom:12px;font-size:11px}
 main[data-gamer=true] .lap-history summary{min-height:44px;display:flex;flex-wrap:wrap;gap:3px;align-content:center;line-height:1.3}
 main[data-gamer=true] .lap-message{position:absolute;left:72px;top:8px;width:calc((100% - 80px)*.285);text-align:center;font-size:9px;line-height:1.3}
 main[data-gamer=true] .lap-panel{position:fixed;left:84px;right:auto;top:12px;width:min(350px,calc(100vw - 170px));max-height:calc(100svh - 120px);z-index:65}
}
/* Portrait ignition centered between the two pedals. */
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .throttle-console .ignition-button{left:50%;right:auto;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:104px;height:104px;min-height:104px;padding:24px 12px}
 main[data-driving=true] .throttle-console .ignition-button:active{transform:translateX(-50%) scale(.96)}
}

/* Protect an active gamer run from accidental mode taps. */
main[data-driving=true] .transmission-controls button:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.3);box-shadow:inset 0 1px #a2bac522;transform:none}

/* Yellow caution flag on a spin; engine-blown treatment stays unchanged. */
.arcade-spin{--impact:#ffcf18}
.arcade-spin .arcade-event-card{border:0;background:radial-gradient(ellipse,#070a0def 25%,#070a0d99 55%,transparent 72%);box-shadow:none;transform:none;padding-top:0}
.arcade-spin .arcade-event-card strong{color:#ffcf18;text-shadow:2px 3px 0 #312500;font-size:clamp(30px,5vw,48px)}
.arcade-yellow-flag{display:block;width:clamp(100px,20vw,150px);height:clamp(100px,20vw,150px);margin:0 auto 8px;filter:drop-shadow(0 6px 8px #000a);transform-origin:18% 90%;animation:caution-wave .32s ease-in-out 8 alternate}
@keyframes caution-wave{from{transform:rotate(-14deg)}to{transform:rotate(12deg)}}
@media(max-height:600px) and (orientation:landscape){.arcade-yellow-flag{width:90px;height:90px}}
@media(prefers-reduced-motion:reduce){.arcade-yellow-flag{animation:none}}

/* A brighter early-RPM sweep; the center stays dark for gear and speed. */
.rpm-color-sweep{filter:drop-shadow(0 0 2px #52cfe54d)}

/* No iOS copy/look-up callout when a thumb slides beyond a driving control. */
body:has(main[data-driving=true]),
body:has(main[data-driving=true]) *{
 -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
body:has(main[data-driving=true]) img{ -webkit-user-drag:none; }
body:has(main[data-driving=true]) :is(input,textarea,select,[contenteditable="true"]){
 -webkit-user-select:text;user-select:text;-webkit-touch-callout:default;
}

/* Rendered powder-coated shift hardware; existing touch areas and positions retained. */
main[data-driving=true] .shift-button{
 background:transparent url('assets/shift-orange-v1.png') center/contain no-repeat;
 border:0;outline:0;box-shadow:none;border-radius:50%;padding:0;
 gap:0;flex-direction:column;color:#f2efe5;
 filter:drop-shadow(0 0 3px #5d7f8b88);
}
main[data-driving=true] .shift-button strong{font:700 30px/.9 Arial,sans-serif;text-shadow:0 1px 1px #000;}
main[data-driving=true] .shift-button span{font:700 8px/1.5 Arial,sans-serif;letter-spacing:1px;text-shadow:0 1px 1px #000;}
main[data-driving=true] .shift-button:active:not(:disabled){box-shadow:none;color:#fff;filter:drop-shadow(0 0 7px #5d7f8b);}
main[data-driving=true] .shift-button:disabled{filter:grayscale(.65);opacity:.5;}
main[data-driving=true] .shift-button:focus-visible{outline:2px solid #88bbc9;outline-offset:3px;}

/* Matching orange shift / Area 51 ignition hardware. */
main[data-gamer=true] .shift-button{width:112px;height:136px}
main[data-driving=true] .shift-button strong{font-size:48px;line-height:1}
main[data-driving=true] .throttle-console .ignition-button{
 background:transparent url('assets/ignition-blue-v1.png') center/contain no-repeat;
 border:0;outline:0;box-shadow:none;gap:12px;padding:0;
 color:#e8eeea;text-shadow:0 1px 1px #05090b;
}
main[data-driving=true] .ignition-button span{display:block;font:800 10px/1 Arial,sans-serif;letter-spacing:0;white-space:nowrap;pointer-events:none}
main[data-driving=true] .ignition-button i{left:34%;width:32%;top:49%}
main[data-driving=true] .throttle-console .ignition-button[aria-pressed=true]{box-shadow:none;filter:brightness(1.2) drop-shadow(0 0 9px #5d9fb9)}
.track-challenge{display:flex;flex-direction:column;gap:3px;text-align:center;margin:0 0 5px;line-height:1.15}
.track-challenge strong{color:#ff8b35;font-size:15px;letter-spacing:1px}
.track-challenge span{color:#bccbd0;font-size:12px}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .shift-button{width:94px;height:94px;bottom:calc(162px + env(safe-area-inset-bottom))}
 main[data-driving=true] .ignition-button span{font-size:11px}
 .track-challenge{flex:none;margin:3px 0;gap:2px}
 .track-challenge strong{font-size:13px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .shift-button{width:90px;height:116px}
 main[data-gamer=true] .shift-button strong{font-size:42px}
 main[data-driving=true] .ignition-button span{font-size:7px}
 main[data-driving=true] .throttle-console .ignition-button{gap:8px}
 .track-challenge{position:absolute;top:0;right:0;max-width:66%;z-index:1;pointer-events:none;margin:0}
 .track-challenge strong{font-size:12px}.track-challenge span{font-size:11px}
}

/* Narrow carbon paddles occupy the established side-control lanes. */
main[data-driving=true] .shift-button{
 background-image:url('assets/shift-paddle-orange-v1.png');background-size:100% 100%;
 border-radius:18px;filter:drop-shadow(0 0 4px #5d9fb9);
}
main[data-gamer=true] .shift-button{width:76px;height:152px}
main[data-driving=true] .shift-button strong{
 font:900 italic 38px/1 var(--font);color:#10171b;text-shadow:none;
 mix-blend-mode:multiply;opacity:.94;transform:translateY(-1px);
}
main[data-driving=true] .shift-button:active:not(:disabled){filter:drop-shadow(0 0 5px #5d9fb9);color:#10171b}
main[data-driving=true] .shift-button:disabled{filter:drop-shadow(0 0 2px #5d7f8b);opacity:.72}
main[data-driving=true] .throttle-console .ignition-button span{
 font-family:var(--font);font-weight:900;font-style:italic;
 letter-spacing:-.3px;text-shadow:none;color:#d9ded8;opacity:.92;
}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .shift-button{width:70px;height:128px;bottom:calc(146px + env(safe-area-inset-bottom))}
 main[data-driving=true] .shift-button strong{font-size:34px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .shift-button{width:64px;height:132px}
 main[data-driving=true] .shift-button strong{font-size:32px}
}
@media(prefers-reduced-motion:reduce){main[data-driving=true] .shift-button{transition:none}}

/* Markings are rendered into the material itself, not floating HTML labels. */
main[data-driving=true] .shift-button[data-drive-action=upshift]{background-image:url('assets/paddle-right-curve.png')}
main[data-driving=true] .shift-button[data-drive-action=downshift]{background-image:url('assets/paddle-left-curve.png')}
main[data-driving=true] .shift-button strong{visibility:hidden}
main[data-driving=true] .throttle-console .ignition-button{background-image:url('assets/ignition-blue-printed.png')}
main[data-driving=true] .throttle-console .ignition-button span,
main[data-driving=true] .throttle-console .ignition-button i{visibility:hidden}

/* Keep dark raster margins invisible; never glow the rectangular hit area. */
main[data-driving=true] .shift-button,
main[data-driving=true] .shift-button:active:not(:disabled),
main[data-driving=true] .shift-button:disabled{
 background-color:transparent;border:0;box-shadow:none;filter:none;
 mix-blend-mode:screen;-webkit-tap-highlight-color:transparent;
}
main[data-driving=true]:not([data-gamer=true]) .shift-controls,
main[data-driving=true]:not([data-gamer=true]) .shift-button{display:none}
main[data-driving=true] .shift-button:focus{outline:none}
main[data-driving=true] .shift-button:focus-visible{outline:none;filter:brightness(1.25)}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .shift-button{bottom:calc(198px + env(safe-area-inset-bottom))}
}

/* Angle the handed controls around the lower gauge without resizing it. */
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .shift-button{bottom:calc(210px + env(safe-area-inset-bottom));transform-origin:center;}
 main[data-gamer=true] .shift-button[data-drive-action=downshift]{rotate:-12deg}
 main[data-gamer=true] .shift-button[data-drive-action=upshift]{rotate:12deg}
}

/* Landscape keeps the course clear and places brake directly beneath the gauge. */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .track-challenge{display:none}
 main[data-gamer=true] .brake-pedal{
 position:fixed;left:var(--gauge-center-x,30vw);right:auto;top:auto;
 bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:32;
 }
 main[data-gamer=true] .throttle-console .transmission-controls{
 position:fixed;left:max(12px,env(safe-area-inset-left));right:auto;top:auto;
 bottom:calc(12px + env(safe-area-inset-bottom));width:auto;flex-direction:row;z-index:31;
 }
}

/* Paired arcade mode selectors with one consistent silhouette. */
main[data-driving=true] .transmission-controls button{
 min-height:48px;padding:8px 10px;border:2px solid #527985;border-bottom:4px solid #14262d;
 border-radius:7px;background:linear-gradient(#293c45,#0b151b);
 font-family:var(--font);font-style:italic;font-weight:900;letter-spacing:.7px;
 color:#d3e5e7;text-shadow:none;box-shadow:inset 0 1px #829da644,0 3px 0 #020609;
}
main[data-driving=true] .transmission-controls button::before{
 width:26px;height:3px;margin:0 auto 6px;transform:none;border-radius:2px;background:#5d7f8b;
}
main[data-driving=true] .transmission-controls button[aria-pressed=true]{
 border-color:#ff8b32;border-bottom-color:#a84312;background:linear-gradient(#ff963f,#dd570f);
 color:#11171a;box-shadow:inset 0 1px #ffd5a377,0 3px 0 #381706,0 0 10px #f578202a;
}
main[data-driving=true] .transmission-controls button[aria-pressed=true]::before{background:#10191d;box-shadow:none}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .brake-pedal{left:max(12px,env(safe-area-inset-left));transform:none}
 main[data-gamer=true] .throttle-console .transmission-controls{
 left:var(--gauge-center-x,30vw);transform:translateX(-50%);
 bottom:calc(18px + env(safe-area-inset-bottom));
 }
 main[data-driving=true] .transmission-controls button{min-width:64px;padding:7px 8px;font-size:12px}
}

[data-engine-status][hidden]{display:none!important}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 /* A transformed ancestor was trapping the fixed brake in the center console. */
 main[data-gamer=true] .engine-controls{transform:none}
 main[data-gamer=true] .brake-pedal{
 position:fixed;left:max(10px,env(safe-area-inset-left));right:auto;top:auto;
 bottom:calc(10px + env(safe-area-inset-bottom));transform:none;
 }
 main[data-driving=true] .throttle-console .ignition-button{
 width:84px;height:84px;min-height:84px;right:98px;padding:0;
 }
 main[data-driving=true] .drive-heading button{right:196px}
}

/* Brake is a direct console child, independent of the audio-control container. */
@media(orientation:landscape){
 main[data-gamer=true] .throttle-console>.brake-pedal{
 left:max(10px,env(safe-area-inset-left));right:auto;transform:none;
 }
}

/* Portrait dedicates the former mode-selector row to driving instruments. */
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .transmission-controls{display:none}
 main[data-gamer=true] .gamer-stage{height:calc(100svh - 150px - env(safe-area-inset-bottom))}
 main[data-gamer=true] .track-stage{height:calc(48svh - 104.64px)}
 main[data-gamer=true] .gamer-stage .gamer-combo{height:auto;flex:1;min-height:0}
 main[data-gamer=true] .shift-button{width:76px;height:148px;bottom:calc(184px + env(safe-area-inset-bottom))}
}

/* QUEST FOR 60: original assets, visible activation, three-lap finish. */
body:has(main[data-gamer=true]){overflow:hidden;overscroll-behavior:none}
body:has(main[data-gamer=true])>header,body:has(main[data-gamer=true])>footer{display:none}
main[data-driving=true]{touch-action:none;overscroll-behavior:none}
main[data-driving=true] .drive-heading button{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:auto;left:auto;z-index:80;width:44px;height:44px;min-height:44px;transform:none}
main[data-driving=true] .drive-heading button span{display:none}
main[data-driving=true] .transmission-controls{display:flex}
main[data-gamer=true] .transmission-controls{display:none}
main[data-driving=true] .transmission-controls .press-play{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:0;box-shadow:none;padding:0;min-width:82px;min-height:100px;color:#f2efe5;touch-action:manipulation}
main[data-driving=true] .transmission-controls .press-play::before{display:none}
.press-play img{width:70px;height:70px;border-radius:50%;object-fit:contain}
.press-play span{font:800 14px/1.2 var(--font);white-space:nowrap}
.press-play:active{transform:scale(.94);filter:brightness(1.3)}
main[data-gamer=true] .track-challenge{display:flex;position:static;max-width:none;margin:0 0 6px;text-align:center}
main[data-gamer=true] .track-challenge strong{font-size:16px}
.lap-timing b [data-lap-count]{display:inline}
.quest-result[hidden]{display:none!important}
.quest-result{position:fixed;z-index:90;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;background:#071117;border:2px solid #f57924;box-shadow:0 0 0 100vmax #000b;text-align:center;font:14px/1.35 var(--font);touch-action:pan-y}
.quest-result strong{font-size:20px;color:#ff8b35}
.quest-result ol{list-style:none;padding:0;margin:12px 0}
.quest-result li,.quest-result p{display:flex;justify-content:space-between;gap:12px;margin:7px 0}
.quest-result [data-result-status]{display:block;font-size:14px;color:#bac9ce}
.quest-result button{min-height:44px;padding:10px 16px;margin:6px;border:1px solid #6c929e;background:#21343e;color:white;font:700 14px var(--font)}
.quest-result button[data-quest-restart]{background:#f57924;color:#080c0e;border-color:#f57924}
.checkered-flag{width:84px;height:44px;margin:0 auto 12px;background:conic-gradient(#fff 25%,#111 0 50%,#fff 0 75%,#111 0) 0 0/22px 22px;border:1px solid #fff}
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true]:not([data-gamer=true]) .transmission-controls{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));top:auto;right:auto;z-index:40;transform:none}
 main[data-gamer=true]{height:100dvh;padding-top:calc(56px + env(safe-area-inset-top))}
 main[data-gamer=true] .gamer-stage{height:calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
 main[data-gamer=true] .track-stage{height:48%;min-height:0}
 main[data-gamer=true] .gamer-stage .gamer-combo{height:52%;min-height:0}
 main[data-gamer=true] .lap-timing{font-size:12px}
 main[data-gamer=true] .lap-timing b{display:block;font-size:16px}
 main[data-gamer=true] .lap-footer{justify-content:center}
 main[data-gamer=true] .shift-button{height:128px;bottom:calc(155px + env(safe-area-inset-bottom))}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 .quest-result{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;width:min(600px,calc(100vw - 100px))}
 .quest-result>strong,.quest-result [data-result-status]{grid-column:1/-1}
 .quest-result .checkered-flag{grid-column:1/-1;height:22px;margin:0 auto 4px}
 .quest-result ol{grid-row:3/5;margin:0}.quest-result p{margin:0;align-items:center}
}
.quest-table-wrap{overflow-x:auto;margin:16px 0 32px}.quest-table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}.quest-table th,.quest-table td{padding:14px;border-bottom:1px solid #344651}.quest-table th{font-size:14px;color:#9db9c4}.quest-table td:last-child{color:#ff8b35;font-variant-numeric:tabular-nums;white-space:nowrap}.quest-result select{min-height:44px;max-width:100%;background:#15252f;color:white;font:14px var(--font);grid-column:1/-1}
main[data-gamer=true]>.scope{display:none}
main[data-driving=true] .throttle-console{overflow:visible}
.console-car{display:none}

/* Preserve the established landscape timing rail and instrument proportions. */
@media(orientation:landscape){
 main[data-driving=true]:not([data-gamer=true]) .transmission-controls{grid-column:1;justify-self:start}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true]:not([data-gamer=true]) .transmission-controls{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:8px;top:auto;right:auto;transform:none;z-index:32}
 main[data-driving=true] .press-play img{width:60px;height:60px}
 main[data-driving=true] .transmission-controls .press-play{min-height:86px}
 main[data-gamer=true] .track-challenge{position:fixed;top:12px;right:70px;z-index:2;pointer-events:none}
 main[data-driving=true] .keyboard-drive-hint{display:none}
 main[data-gamer=true] .track-challenge strong{font-size:12px}
 main[data-gamer=true] .lap-timing{padding-bottom:0}
 main[data-gamer=true] .lap-timing>span:last-child{position:static;width:auto;text-align:left}
}

/* Desktop may scroll on short windows instead of clipping the controls. */
@media(orientation:landscape) and (min-height:601px),(min-width:1101px){
 body:has(main[data-gamer=true]){overflow:auto}
}

/* Small mobile-landscape spacing adjustments; instrument sizes stay intact. */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .track-challenge{display:none}
 main[data-gamer=true] .track-map{translate:8px 0}
 main[data-driving=true] .drive-heading button{top:auto;bottom:calc(30px + env(safe-area-inset-bottom));right:calc(130px + env(safe-area-inset-right));left:auto}
 main[data-driving=true] .throttle-console .ignition-button{position:fixed;left:43vw;right:auto;top:auto;bottom:calc(9px + env(safe-area-inset-bottom));transform:translateX(-50%)}
 main[data-driving=true] .rally-stripe-console{left:calc(26px + 20%)!important;top:50%!important;transform:translate(-50%,-50%)}
 main[data-gamer=true] .throttle-console>.brake-pedal{left:calc(max(22px,env(safe-area-inset-left)) + 18px);bottom:calc(16px + env(safe-area-inset-bottom))}
}

/* Reclaim the title and idle-cue space for the course. */
@media(orientation:portrait),(min-height:601px),(min-width:1101px){
 main[data-gamer=true] .track-map{max-height:calc(40vh + 40px)}
 main[data-gamer=true] .lap-footer{position:absolute;left:4px;right:4px;bottom:-18px;min-height:0;padding:0;pointer-events:none}
 main[data-gamer=true] .lap-footer:has(.lap-message:empty){display:none}
}
@media(max-width:850px) and (orientation:portrait){
 main[data-gamer=true] .track-map{max-height:none}
}

/* Fit activation inside the existing mobile banner. */
@media(max-width:850px) and (orientation:portrait){
 main[data-driving=true] .transmission-controls .press-play{min-width:76px;min-height:82px;gap:3px}
 main[data-driving=true] .press-play img{width:56px;height:56px}
 main[data-driving=true] .press-play span{font-size:12px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-driving=true]:not([data-gamer=true]) .throttle-console .transmission-controls{position:absolute;left:12px;right:auto;top:50%;bottom:auto;transform:translateY(-50%)}
 main[data-driving=true] .transmission-controls .press-play{min-width:72px;min-height:70px;gap:3px}
 main[data-driving=true] .press-play img{width:48px;height:48px}
 main[data-driving=true] .press-play span{font-size:11px}
 main[data-gamer=true] .gamer-stage .gamer-combo,main[data-gamer=true] .lap-timing{translate:8px 0}
}
/* Desktop gamer controls share one horizontal banner. */
@media(min-width:851px) and (min-height:601px),(min-width:1101px){
 main[data-gamer=true] .throttle-console{height:132px;min-height:132px;padding:12px 18px;display:block}
 main[data-driving=true] .rally-stripe-console{left:26%!important;top:50%!important;width:180px!important;height:auto!important;margin:0;transform:translate(-50%,-50%)}
 main[data-driving=true] .throttle-console .ignition-button{position:absolute;left:44%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%)}
 main[data-driving=true] .pedal{position:absolute;right:18px;left:auto;top:12px;bottom:auto}
 main[data-driving=true] .engine-controls{position:absolute;left:66%;top:70px;transform:translate(-50%,-50%);min-height:0;min-width:0;width:230px}
 main[data-driving=true] .keyboard-drive-hint{position:absolute;left:66%;top:18px;transform:translateX(-50%);width:260px;margin:0;font-size:11px}
}

@media(min-width:851px) and (min-height:601px),(min-width:1101px){
 main[data-driving=true]:not([data-gamer=true]) .throttle-console{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:14px;padding:150px 18px 18px;border:0;background:linear-gradient(120deg,#14212a,#080e13) top/100% 132px no-repeat}
 main[data-driving=true]:not([data-gamer=true]) .throttle-console::before{content:'';position:absolute;inset:0 0 auto;height:132px;border:1px solid #3f5360;border-top:2px solid var(--heat);pointer-events:none;box-sizing:border-box}
 main[data-driving=true]:not([data-gamer=true]) .throttle-console .transmission-controls{position:absolute;left:18px;top:16px;bottom:auto;transform:none}
 main[data-driving=true]:not([data-gamer=true]) .throttle-console .drive-heading{display:contents}
 main[data-driving=true]:not([data-gamer=true]) .rally-stripe-console{top:66px!important}
 main[data-driving=true]:not([data-gamer=true]) .throttle-console .ignition-button{top:66px}
 main[data-driving=true]:not([data-gamer=true]) .drive-range{grid-column:1;grid-row:1;margin:0}
 main[data-driving=true]:not([data-gamer=true]) .scenario-note{grid-column:1;grid-row:2}
 main[data-driving=true]:not([data-gamer=true]) .drive-feedback{grid-column:1;grid-row:3;margin:0}
}
@media(min-width:851px) and (min-height:601px),(min-width:1101px){
 main[data-driving=true]:not([data-gamer=true]) .throttle-console :is(.transmission-controls,.ignition-button,.pedal,.engine-controls,.keyboard-drive-hint){grid-area:auto;align-self:auto;justify-self:auto}
}

/* Give the laptop gamer instruments breathing room above the cluster. */
@media(min-width:851px) and (min-height:601px),(min-width:1101px){
 main[data-gamer=true]{padding-top:clamp(28px,5vh,48px)}
}

/* Match AUTO's laptop divider and banner, with clearance below the tach. */
@media(min-width:851px) and (min-height:601px),(min-width:1101px){
 main[data-gamer=true] .gamer-stage{position:relative;padding-bottom:24px;margin-bottom:18px}
 main[data-gamer=true] .gamer-stage::after{content:'';position:absolute;left:-90px;right:-90px;bottom:0;height:1px;background:#263945;pointer-events:none}
 main[data-gamer=true] .throttle-console{border-top-color:var(--gamer-rpm-heat,#77d9e9)}
}

/* Larger laptop paddles, moved inward within the instrument side clearance. */
@media(min-width:851px) and (min-height:601px),(min-width:1101px){
 main[data-gamer=true] .shift-button{width:96px;height:192px}
 main[data-gamer=true] .shift-button[data-drive-action=downshift]{left:max(24px,env(safe-area-inset-left))}
 main[data-gamer=true] .shift-button[data-drive-action=upshift]{right:max(24px,env(safe-area-inset-right))}
}

/* Mobile landscape shares the live RPM-colored banner edge. */
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .throttle-console{border-top-color:var(--gamer-rpm-heat,#77d9e9)}
}
/* Drag uses the accepted gauge/banner geometry; only the course area changes. */
.challenge-choice{color:#f2efe5;background:#09131a;border:1px solid #597d8d;width:min(440px,calc(100vw - 32px));padding:24px;font:16px/1.4 var(--font);max-height:calc(100dvh - 24px);overflow:auto}
.challenge-choice::backdrop{background:#000c}
.challenge-choice h2{margin:0 0 20px;font-size:24px;letter-spacing:2px}
.challenge-choice button{display:block;width:100%;padding:16px;margin:10px 0;background:#132630;border:1px solid #587989;color:#f2efe5;text-align:left;min-height:44px;font:inherit;cursor:pointer}
.challenge-choice button:hover,.challenge-choice button:focus-visible{border-color:#f57924;background:#203641}
.challenge-choice strong,.challenge-choice span{display:block}.challenge-choice strong{color:#ff8b35;font-size:22px}.challenge-choice p,.challenge-choice span{font-size:14px;color:#c5d1d6}.challenge-choice [data-choice-close]{text-align:center}
.drag-stage{justify-content:center;gap:10px}.drag-heading{font:700 20px var(--font);letter-spacing:2px;color:#f2efe5}.drag-heading span{color:#ff8b35;margin-left:14px}
.drag-strip{display:block;width:100%;min-height:0;max-height:210px;flex:1;overflow:visible}
.drag-splits{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;font:12px var(--font);color:#adbec5;text-align:center}.drag-splits b{display:block;margin-top:5px;color:#f2efe5;font-size:16px;font-variant-numeric:tabular-nums}
.drag-message{margin:4px 0;font:14px var(--font);color:#ffb76f;min-height:18px;text-align:center}.drag-result a{display:block;color:#bbd2dc;font-size:14px;margin:8px;grid-column:1/-1}.drag-result ol{grid-row:auto;grid-column:1/-1}.drag-result p{min-width:0}
@media(max-width:850px) and (orientation:portrait){.drag-stage{gap:5px}.drag-heading{font-size:16px}.drag-strip{max-height:100px}.drag-splits{gap:6px}.drag-splits b{font-size:14px}.drag-message{font-size:12px}}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){.drag-stage{gap:4px}.drag-heading{font-size:16px}.drag-strip{max-height:110px}.drag-splits{gap:7px}.drag-splits b{font-size:14px}.drag-message{font-size:12px;margin:0}.drag-result ol{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.drag-result>p{grid-column:auto}.drag-result [data-result-status]{grid-column:1/-1}}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 main[data-gamer=true] .drag-heading{grid-column:3;grid-row:1;align-self:start;margin-top:12px}
 main[data-gamer=true] .drag-strip{grid-column:3;grid-row:1;align-self:center;width:100%;height:110px;max-height:48%;margin:0}
 main[data-gamer=true] .drag-splits{grid-column:3;grid-row:1;align-self:end;margin-bottom:30px;width:100%}
 main[data-gamer=true] .drag-message{grid-column:3;grid-row:1;align-self:end;margin-bottom:5px}
}
/* Single-column drag tree with driver-controlled staging. */
.tree-bulb{fill:#19232a;stroke:#84949c;stroke-width:2}
.tree-bulb.pre.lit,.tree-bulb.stage.lit{fill:#f1eee0;filter:drop-shadow(0 0 4px #fff8)}
.tree-bulb.amber1.lit,.tree-bulb.amber2.lit,.tree-bulb.amber3.lit{fill:#ffd04c;filter:drop-shadow(0 0 6px #ffad22)}
.tree-bulb.green.lit{fill:#76e26e;filter:drop-shadow(0 0 6px #60e768)}.tree-bulb.red.lit{fill:#ff4b39;filter:drop-shadow(0 0 6px #f32f21)}
.drag-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drag-heading>span{margin-left:0}
/* Tactile launch rocker, mounted in the drag banner beside ignition. */
.launch-switch{position:absolute;left:calc(44% + 76px);top:50%;transform:translateY(-50%);z-index:33;width:60px;height:78px;min-height:44px;padding:7px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border:2px solid #637078;border-radius:8px;background:linear-gradient(125deg,#77828a,#29333a 24%,#090e12 58%,#53616b);box-shadow:inset 0 0 0 2px #131a20,0 4px 6px #000;color:#d3d9dc;touch-action:manipulation;cursor:pointer}
.launch-switch span,.launch-switch b{font:800 9px/1 Arial,sans-serif;letter-spacing:.4px;text-shadow:0 1px #000;pointer-events:none}
.launch-switch i{display:block;width:32px;height:30px;border:1px solid #a4aeb4;border-radius:3px;background:linear-gradient(#9ba4a9,#4b555c 44%,#151e25 50%,#303a43);box-shadow:0 3px 3px #000;pointer-events:none}
.launch-switch[aria-pressed=true] i{background:linear-gradient(#efb352,#b9771e 45%,#6c410d 50%,#312313);box-shadow:inset 0 2px 3px #fff4,0 2px 3px #000}
.launch-switch[aria-pressed=true] b{color:#ffca70}
.launch-switch:disabled{cursor:default}.launch-switch:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:850px) and (orientation:portrait){
 .throttle-console:has(.launch-switch) .ignition-button{left:44%!important}
 .launch-switch{position:fixed;left:calc(44vw + 68px);top:auto;bottom:calc(30px + env(safe-area-inset-bottom));transform:none;width:48px;height:68px;padding:6px 3px}
 .launch-switch i{width:28px;height:26px}.launch-switch span,.launch-switch b{font-size:8px}
}
@media(max-width:1100px) and (orientation:landscape) and (max-height:600px){
 .launch-switch{position:fixed;left:calc(43vw + 70px);top:auto;bottom:calc(20px + env(safe-area-inset-bottom));transform:none;width:56px;height:64px;padding:5px}
 .launch-switch i{height:24px}
}
/* Red carbon guard and brushed-metal bezel, modeled after the supplied reference. */
.launch-switch{padding:0;border:0;border-radius:0;background:transparent url('assets/launch-red-carbon.png') center/100% 100% no-repeat;box-shadow:none;filter:drop-shadow(0 3px 3px #000);color:#eee9e1}
.launch-switch i{display:none}
/* Recessed, backlit ON/OFF lettering stays centered on the black face. */
.launch-switch span{display:none}
.launch-switch b{position:absolute;left:25%;top:44.8%;width:50%;transform:translateY(-50%);font:800 10px/1 Arial,sans-serif;letter-spacing:.5px;text-align:center;color:#797c7d;text-shadow:0 -1px 1px #000,0 .5px 0 #a0a3a333;z-index:1;transition:color .14s,text-shadow .14s}
.launch-switch::after{content:'';position:absolute;left:25%;top:34%;width:50%;height:22%;border-radius:25%;pointer-events:none;background:radial-gradient(ellipse,#f85a3220,transparent 75%);opacity:0;transition:opacity .14s}
.launch-switch[aria-pressed=true]::after{opacity:1}
.launch-switch[aria-pressed=true] b{color:#ffe6cc;text-shadow:0 -1px 1px #27150f,0 0 2px #ff9b66,0 0 5px #ff582640}
.launch-switch:not(:disabled):active{filter:brightness(.85) drop-shadow(0 2px 2px #000)}
@media(max-width:850px) and (orientation:portrait){.launch-switch b{font-size:8px;letter-spacing:.3px}}
