/* The driving interface leaves the road, rather than menus, in the foreground. */
.scene-actions .drive-launch{background:#e5d7f1;color:#24172f;font-weight:750;border:1px solid #fff4;gap:8px}
.scene-actions .drive-launch:hover{background:#f3e8fd}.drive-launch svg{width:23px;height:23px}
.snap-hint{margin:-8px 0 0;color:#b6a6c5;font-size:10px;text-align:center}.snap-hint strong{font-weight:600;color:#e4d7ef}
.drive-exit{background:#ffffff0b;border:1px solid #ffffff22;border-radius:30px;min-height:42px;padding:8px 19px;font-size:12px;margin-left:auto;margin-right:18px;display:flex;align-items:center;gap:9px}
.drive-exit:hover{background:#fff2}.drive-exit span{font-size:19px}
.drive-sound{display:flex;align-items:center;gap:6px;min-height:42px;border:1px solid #ffffff32;border-radius:25px;background:#ffffff09;padding:8px 12px;font-size:10px;white-space:nowrap;margin-right:10px}
.drive-sound svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.drive-sound[aria-pressed=true]{color:#a5edce;border-color:#a5edce65}.drive-sound[aria-pressed=true] .sound-cross,.drive-sound[aria-pressed=false] .sound-waves{display:none}.drive-sound:hover{background:#ffffff18}.drive-sound:focus-visible{outline:2px solid #bdf8dc;outline-offset:3px}
@media(max-width:600px){.driving .drive-exit{padding:6px 9px;margin-right:6px;font-size:10px;gap:3px}.drive-sound{padding:6px 9px;margin-right:6px;gap:4px;font-size:9px}.drive-sound svg{width:16px;height:16px}}
.driving .paint-palette,.driving .reset-view,.driving .bottom-controls,.driving .studio-halo,.driving .backdrop-word,.driving .poster,.driving .feedback,.driving .part-hint{display:none!important}
.app.driving{min-height:0;background:#16191c}.driving #viewport{inset:0}.driving .topbar{height:60px;background:#100e14;border-bottom:1px solid #ffffff12}
.driving .experience{height:calc(100% - 60px)}.driving .tracking-overlay{display:none}.driving .camera-preview{width:162px;top:auto;bottom:24px;right:24px;opacity:.9;border-color:#a6f1da55}
.drive-ui{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(#0b101853,transparent 25%,transparent 80%,#080d1770);color:#fff}
.drive-ui button{pointer-events:auto}.drive-heading{position:absolute;top:28px;left:34px;display:flex;flex-direction:column;text-shadow:0 2px 16px #0008}
.drive-eyebrow{font-size:9px;letter-spacing:.19em;font-weight:700;color:#cab7df}.drive-heading .drive-eyebrow{color:#c9f3e4}.drive-heading>strong{font-size:clamp(23px,3vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.4}.drive-location{font-size:10px;color:#ece5f3}
.drive-timing{position:absolute;right:34px;top:29px;display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums;text-shadow:0 2px 14px #000a;gap:3px}
.drive-timing>span{font-size:10px;font-weight:700;letter-spacing:.13em;color:#d4eedf}.drive-timing>strong{font-size:25px;font-weight:500;letter-spacing:-.025em}.drive-timing>small{font-size:8px;letter-spacing:.11em;color:#d0c9d8}
.drive-panel{pointer-events:auto;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);width:min(410px,calc(100% - 36px));padding:28px;border:1px solid #f1d6ff28;border-radius:22px;background:linear-gradient(135deg,#20192eef,#131823f5);box-shadow:0 24px 100px #06050b88;backdrop-filter:blur(18px)}
.drive-panel h2{margin:9px 0 24px;font-size:29px;font-weight:600;letter-spacing:-.05em;line-height:1.2}.drive-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;background:#08080f66;border-radius:13px}
.drive-inputs button{padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;color:#b4a7c5;border-radius:9px;font-size:11px;font-weight:600;border:1px solid transparent}
.drive-inputs button>svg,.drive-inputs .key-icon{width:26px;height:26px}.drive-inputs .key-icon{display:block;font-size:25px;line-height:1}.drive-inputs button[aria-pressed=true]{background:#b690e924;color:#fff;border-color:#c49ae759;box-shadow:0 2px 12px #0002}
#drive-instruction{font-size:12px;line-height:1.75;color:#e0d7e9;margin:18px 0 14px;min-height:44px}
.drive-hand-ready{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:#d1c1df;margin-bottom:13px}.drive-hand-ready>span:first-child{width:6px;height:6px;border-radius:50%;background:#edb570}.drive-hand-ready>span.ready:first-child{background:#8aefbc;box-shadow:0 0 10px #8aefbc60}.drive-hand-ready progress{appearance:none;width:100%;height:3px;border:0;border-radius:4px;overflow:hidden;margin-top:3px}.drive-hand-ready progress::-webkit-progress-bar{background:#ffffff18}.drive-hand-ready progress::-webkit-progress-value{background:#90e3c4}
.drive-camera{border:1px solid #a6e7d445;background:#3d7b6840;font-size:12px;min-height:40px;border-radius:9px;width:100%;margin-bottom:9px}.drive-go{display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:11px;background:linear-gradient(110deg,#b63689,#8058bc);font-weight:650;font-size:13px;padding:14px 18px;min-height:47px;box-shadow:inset 0 0 0 1px #ffffff21}.drive-go span{font-size:20px;line-height:1}.drive-go:disabled{cursor:default;opacity:.38}.drive-go:hover:not(:disabled){filter:brightness(1.16)}.drive-auto{font-size:9px;line-height:1.6;color:#ad9cbf;text-align:center;margin:12px 0 0}
.drive-countdown{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);font-size:100px;font-weight:600;letter-spacing:-.06em;text-shadow:0 0 80px #dbb7ffb0;color:#fff}
.drive-pause{position:absolute;top:28px;left:50%;transform:translateX(-50%);width:42px;height:42px;background:#14152399;border:1px solid #fff3;border-radius:50%;font-size:18px;color:#eee3f6}
.drive-speed{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums;text-shadow:0 2px 20px #000}.drive-speed strong{font-size:43px;font-weight:550;letter-spacing:-.05em}.drive-speed span{font-size:9px;color:#c8e7dd;letter-spacing:.09em}
.drive-signal{position:absolute;top:105px;left:50%;transform:translateX(-50%);font-size:11px;color:#f2eed8;background:#252031c9;border-radius:20px;padding:8px 14px;white-space:nowrap}.drive-signal:empty{display:none}
.drive-wheel-meter{position:absolute;bottom:26px;left:32px;display:flex;align-items:center;gap:11px;font-size:10px;color:#d8e8e3;text-shadow:0 1px 4px #000}.drive-wheel-meter>svg{width:29px;height:29px;color:#c8f4e4;transition:transform .08s}


.driving #viewport{animation:drive-reveal .65s ease-out}.drive-panel{animation:panel-reveal .35s ease-out}
@keyframes drive-reveal{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes panel-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:700px){
 .scene-actions{gap:0}.scene-actions button{padding:10px 11px;font-size:11px;gap:5px}.scene-actions button svg{width:17px;height:17px}.snap-hint{font-size:8px;margin-top:-6px}.bottom-controls{gap:11px}
 .driving .topbar{height:54px;padding:0 14px}.driving .experience{height:calc(100% - 54px)}.driving .brand{font-size:8px;gap:6px}.driving .brand-mark{font-size:24px}.driving .brand small{font-size:5px}
 .driving .camera-toggle{padding:7px 9px;gap:5px;min-height:35px;font-size:10px}.driving .camera-toggle>svg{display:none}.drive-exit{font-size:11px;padding:7px 11px;min-height:35px;margin-right:7px}
 .drive-heading{top:18px;left:18px}.drive-eyebrow{font-size:8px}.drive-location{font-size:9px}.drive-heading>strong{font-size:27px}.drive-timing{top:19px;right:18px}.drive-timing>strong{font-size:21px}.drive-timing>small{font-size:7px;letter-spacing:.04em}
 .drive-panel{top:46%;padding:22px;max-width:350px}.drive-panel h2{font-size:25px;margin:9px 0 17px}.drive-inputs button{padding:8px 4px}.drive-inputs button>svg,.drive-inputs .key-icon{width:23px;height:23px}#drive-instruction{font-size:11px;margin:14px 0 13px;min-height:40px}.drive-go{font-size:12px;padding:12px 15px}.drive-auto{font-size:8px;margin-top:9px}.drive-hand-ready{font-size:9px}
 .driving .camera-preview{width:100px;bottom:100px;right:15px;border-radius:9px}.drive-wheel-meter{bottom:85px;left:18px;gap:7px;font-size:9px;max-width:150px}.drive-wheel-meter>svg{width:24px;height:24px}.drive-speed{bottom:22px}.drive-speed strong{font-size:35px}.drive-speed span{font-size:8px}.drive-pause{width:35px;height:35px;top:100px}.drive-signal{top:147px;font-size:10px;max-width:calc(100% - 30px)}.drive-countdown{font-size:80px}
}
@media(max-height:560px){
 .driving .topbar{height:46px}.driving .experience{height:calc(100% - 46px)}.drive-panel{top:50%;padding:16px 21px;width:390px;max-height:calc(100% - 18px);overflow:auto}.drive-panel h2{font-size:22px;margin:5px 0 11px}.drive-inputs button{flex-direction:row;justify-content:center;padding:6px}.drive-inputs button svg,.drive-inputs .key-icon{height:21px;width:21px}.drive-auto{display:none}#drive-instruction{min-height:0;margin:10px 0;font-size:11px}.drive-go{min-height:40px;padding:9px 15px}.drive-hand-ready{margin-bottom:8px;font-size:9px}.drive-heading{top:17px;left:20px}.drive-heading>strong{font-size:25px}.drive-location{display:none}.drive-timing{top:18px;right:20px}.drive-pause{top:15px;width:35px;height:35px}.driving .camera-preview{width:105px;bottom:18px;right:17px}.drive-speed{bottom:10px}.drive-speed strong{font-size:31px}.drive-wheel-meter{bottom:22px;left:20px}.drive-signal{top:60px}
}
@media(prefers-reduced-motion:reduce){.driving #viewport,.drive-panel{animation:none}.drive-wheel-meter>svg{transition:none}}
@media(max-width:370px){.scene-actions{width:94%;justify-content:space-between}.scene-actions button{padding:10px 6px;gap:4px;font-size:10px}.scene-actions button svg{width:15px;height:15px}.snap-hint{font-size:8px;max-width:92%;line-height:1.5}.driving .brand{font-size:7px}.drive-exit{padding:7px 9px}}

/* V8: compact transmission controls, permanent driving legend, no touch wheel. */
.drive-panel{width:min(440px,calc(100% - 30px));max-height:calc(100% - 32px);overflow:auto;scrollbar-width:thin}
.drive-transmission{display:flex;gap:5px;align-items:center;margin:0 0 16px;font-size:11px}
.drive-transmission>span{margin-right:auto;color:#c8bcd3}
.drive-transmission button{background:transparent;border:1px solid #ffffff20;border-radius:20px;padding:7px 13px;color:#c6bbd1;font-size:11px}
.drive-transmission button[aria-pressed=true]{background:#e7dbf1;color:#22182d;border-color:#e7dbf1;font-weight:650}
.drive-transmission button:disabled{opacity:.3;cursor:default}
#drive-shift-help{font-size:11px;line-height:1.7;color:#e8d7f6;border-left:2px solid #ba8bd7;padding-left:10px;margin:0 0 15px}
.drive-hand-ready{font-size:11px;line-height:1.5;color:#eee7f6}.drive-hand-ready>span:first-child{width:8px;height:8px;flex-shrink:0}.drive-hand-ready>span:nth-child(2){flex:1}
.drive-speed{gap:17px;align-items:center;bottom:22px;background:#11151bcc;padding:10px 20px;border:1px solid #ffffff20;border-radius:13px;backdrop-filter:blur(8px)}
.drive-gear{display:flex;align-items:center;flex-direction:column;border-right:1px solid #ffffff30;padding-right:17px;min-width:44px}.drive-gear small{font-size:7px;letter-spacing:.13em;color:#c2d3d2}.drive-gear b{font-size:32px;font-weight:500;line-height:1.2;color:#aeeed8;transition:color .12s}.drive-gear b.shifting{color:#ffc264}
.drive-velocity{position:relative;padding-bottom:6px;min-width:102px}.drive-velocity strong{font-size:38px;line-height:1.1;margin-right:5px}.drive-rpm{height:2px;position:absolute;bottom:0;left:0;right:0;background:#ffffff26;overflow:hidden}.drive-rpm i{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#7de4bd,#ebd074 70%,#e74c58 95%)}
.drive-wheel-meter{max-width:250px;line-height:1.5;font-size:11px;bottom:35px}.drive-wheel-meter>svg{flex-shrink:0}
.drive-ui button:focus-visible{outline:2px solid #b7f3df;outline-offset:4px}
@media(max-width:700px){
 .drive-panel{top:48%;padding:22px;max-width:370px}.drive-panel h2{margin-bottom:15px}
 .drive-transmission{margin-bottom:12px;font-size:10px}.drive-transmission button{padding:6px 10px;font-size:10px}
 #drive-shift-help{font-size:10px;margin-bottom:12px}.drive-hand-ready{font-size:10px}
 .drive-speed{bottom:18px;padding:8px 14px;gap:13px}.drive-velocity{min-width:86px}.drive-velocity strong{font-size:33px}.drive-gear{padding-right:13px;min-width:38px}.drive-gear b{font-size:28px}
 .drive-wheel-meter{bottom:102px;max-width:180px;font-size:9px}.driving .camera-preview{bottom:110px;width:100px}
}
@media(max-height:560px){
 .drive-panel{top:50%;width:min(440px,calc(100% - 30px));padding:15px 20px;max-height:calc(100% - 18px)}
 .drive-transmission{margin-bottom:9px}.drive-transmission button{padding:5px 10px}#drive-shift-help{margin-bottom:8px;font-size:10px}
 .drive-speed{bottom:10px;padding:7px 14px}.drive-velocity strong{font-size:30px}.drive-gear b{font-size:25px}
 .drive-wheel-meter{bottom:23px;max-width:215px;font-size:9px}.driving .camera-preview{bottom:18px;width:110px}
}

/* V9: return to a grip, without reaching for a button. */
.drive-inputs-desktop{grid-template-columns:repeat(2,1fr)}
.drive-inputs button small{display:block;font-size:9px;color:#cabfda;font-weight:450;margin-top:2px}
.drive-recovery{position:absolute;left:50%;top:31%;transform:translateX(-50%);width:min(400px,calc(100% - 32px));display:flex;flex-direction:column;gap:9px;text-align:center;padding:18px 22px;border:1px solid #c9f2e132;border-radius:16px;background:#11151be8;backdrop-filter:blur(12px);box-shadow:0 10px 35px #0004}
.drive-recovery strong{font-size:17px;font-weight:650;line-height:1.4}.drive-recovery>span:not(.drive-eyebrow){font-size:11px;color:#ded6e5;line-height:1.5}
.drive-recovery progress{appearance:none;width:100%;height:3px;border:0;border-radius:3px;overflow:hidden;margin-top:2px}.drive-recovery progress::-webkit-progress-bar{background:#ffffff1a}.drive-recovery progress::-webkit-progress-value{background:#9eefd4}
.drive-countdown:has(+.drive-live){font-size:clamp(35px,8vw,92px)}
@media(max-width:700px){.drive-recovery{top:31%;padding:16px}.drive-recovery strong{font-size:15px}.drive-inputs button small{font-size:8px}}
@media(max-height:560px){.drive-recovery{top:24%;gap:5px;padding:12px 18px}.drive-recovery strong{font-size:14px}}

/* V10: one-lap position map and a device-local results card. */
#drive-launch[hidden]{display:none!important}
/* V12: recovery is explicit, and teaching examples stay separate from live tracking. */
.drive-assistance{position:absolute;left:30px;bottom:90px;display:flex;gap:6px;flex-wrap:wrap;width:250px;font-size:10px}
.drive-assistance button,.drive-coach button{border:1px solid #ffffff35;background:#15252bdc;border-radius:8px;padding:8px 10px;color:#e5f2ec;font:inherit;min-height:32px}
.drive-assistance button:disabled{opacity:.45}.drive-assistance p{width:100%;margin:2px 0;background:#162329ed;padding:9px;border-radius:8px;color:#ffe1a8;line-height:1.5}
.drive-assistance progress{width:100%;height:4px;accent-color:#f0c680}
.drive-coach{position:absolute;left:30px;bottom:145px;width:250px;pointer-events:auto;padding:12px;border:1px dashed #e9ca8b80;border-radius:14px;background:#19252deb;box-shadow:0 8px 32px #0005;color:#f5eddf}
.drive-coach-heading{display:flex;justify-content:space-between;align-items:center;gap:6px}.drive-coach-heading>span{font-size:8px;letter-spacing:.08em;color:#edcf92}.drive-coach button{font-size:9px;padding:4px 8px;min-height:28px}
.drive-coach>strong{display:block;font-size:12px;line-height:1.5}.drive-coach>small{display:block;color:#b7c4c9;font-size:8px;margin-top:6px;line-height:1.4}
.drive-coach .gesture-demo{width:100%;margin:5px 0}.drive-coach .gesture-demo svg{max-height:115px}
.drive-coach .gesture-demo-tag{display:none}
.drive-coach [data-profile="one"] .gesture-demo-labels{display:none}
.drive-name-form{margin:0 0 20px;pointer-events:auto}.drive-name-form label{display:block;font-size:11px;color:#d7e9e2;margin-bottom:7px}.drive-name-form>div{display:flex;gap:7px}
.drive-name-form input{pointer-events:auto;min-width:0;flex:1;border:1px solid #d6e9e144;border-radius:8px;padding:10px;color:#fff;background:#0a171c;font:inherit;font-size:13px}.drive-name-form button{border:1px solid #d6e9e144;border-radius:8px;padding:9px;background:#244f42;color:#e8fff5;font-size:11px}
.drive-name-form input:focus-visible{outline:2px solid #b7f3df;outline-offset:2px}.drive-results li>span{min-width:0;overflow-wrap:anywhere}.drive-results li>strong{flex-shrink:0}
@media(max-width:700px){.drive-assistance{left:16px;bottom:145px;width:180px;font-size:9px}.drive-assistance button{padding:7px 8px}.drive-coach{left:16px;bottom:195px;width:210px;padding:10px}.drive-coach .gesture-demo svg{max-height:100px}.drive-coach>strong{font-size:11px}}
@media(max-height:560px){.drive-assistance{bottom:75px;left:18px;width:210px}.drive-coach{left:18px;bottom:116px;width:215px;padding:9px}.drive-coach .gesture-demo svg{max-height:83px}.drive-coach>small{display:none}}
.drive-map{position:absolute;top:128px;left:28px;width:170px;padding:8px 10px 9px;border:1px solid #b6e3d72c;border-radius:14px;background:#111820d9;backdrop-filter:blur(8px);text-align:center}
.drive-map svg{display:block;width:100%;height:92px;overflow:visible}.drive-map>span{font-size:8px;letter-spacing:.06em;color:#d6e6df}
#drive-map-route{fill:none;stroke:#98b1aa;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}#drive-map-start{fill:#fff;stroke:#16392d;stroke-width:1}#drive-map-position{fill:#a4ffd5;stroke:#12342c;stroke-width:2;filter:drop-shadow(0 0 4px #7ef0bd)}
.drive-results{pointer-events:auto;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(460px,calc(100% - 30px));max-height:calc(100% - 28px);overflow:auto;padding:26px 28px;border:1px solid #c3f0df40;border-radius:22px;background:linear-gradient(140deg,#182622f5,#171c29f7);backdrop-filter:blur(20px);box-shadow:0 24px 100px #02080d80}
.drive-results h2{font-size:30px;letter-spacing:-.04em;margin:8px 0 12px}.drive-results>strong{display:block;color:#bbf2d9;font-size:48px;font-weight:550;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.drive-results>p{font-size:11px;color:#d0ded9;line-height:1.6;margin:8px 0 22px}
.drive-results h3{font-size:13px;font-weight:650;display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 11px}.drive-results h3 span{font-size:10px;font-weight:450;color:#abc8bd}.drive-results ol{padding:0;margin:0;list-style:none}.drive-results li{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid #d6e9e115;font-size:12px;gap:14px}.drive-results li small{display:block;font-size:9px;color:#a6bdb5;margin-top:3px}.drive-results li strong{font-weight:550;font-variant-numeric:tabular-nums}.drive-results .drive-storage-note{font-size:9px;margin:13px 0 18px;color:#a6bdb5}
.drive-result-actions{display:flex;gap:8px;align-items:stretch}.drive-result-actions>.drive-go{justify-content:center;flex:1;font-size:12px;padding:11px}.drive-result-actions>#drive-result-studio{flex:1;border:1px solid #d6e9e133;border-radius:11px;background:#ffffff08;font-size:11px;padding:10px}
@media(max-width:700px){.drive-map{top:109px;left:14px;width:116px;padding:5px}.drive-map svg{height:64px}.drive-map>span{font-size:7px}.drive-results{top:49%;padding:22px;max-width:370px}.drive-results h2{font-size:26px}.drive-results>strong{font-size:40px}.drive-results>p{margin-bottom:18px}.drive-results h3{font-size:12px}.drive-results h3 span{font-size:9px}}
@media(max-height:560px){.drive-map{top:90px;left:18px;width:120px;padding:5px}.drive-map svg{height:68px}.drive-results{top:50%;padding:16px 22px;max-width:430px}.drive-results h2{font-size:24px;margin:5px 0}.drive-results>strong{font-size:34px}.drive-results>p{margin:5px 0 10px}.drive-results li{padding:6px 0}.drive-results .drive-storage-note{margin:8px 0 11px}}

/* V13: practice lives on the circuit, with no central modal or dark card. */
.drive-ui.preparing{background:linear-gradient(90deg,#07131cbb, #07131c70 29%,transparent 64%)}
.drive-ui.preparing .drive-timing,.drive-ui.preparing .drive-map{display:none}
.drive-panel.practice-panel{top:126px;left:34px;bottom:20px;transform:none;width:336px;max-width:calc(100% - 68px);max-height:none;padding:0 8px 10px 0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;text-shadow:0 1px 8px #00101acc;scrollbar-width:thin;overflow:auto}
.practice-panel h2{font-size:29px;line-height:1.12;margin:9px 0 10px;max-width:310px;min-height:33px}
.practice-panel #drive-panel-kicker{font-size:8px;color:#b9f2df;letter-spacing:.13em}
.practice-panel #drive-instruction{font-size:12px;line-height:1.65;min-height:40px;margin:0 0 12px;color:#f3faf7}
.drive-practice-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.drive-practice-top>span{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.14em;color:#b9f2df;font-weight:700}
.drive-practice-top button{background:transparent;border:0;border-bottom:1px solid #ebfff55c;padding:5px 0;font-size:10px;line-height:1.4;color:#ebfff5;min-height:30px}
.drive-practice-steps{display:flex;list-style:none;padding:0;margin:0;gap:9px;justify-content:space-between;font-size:9px;color:#c3d5da}
.drive-practice-steps li{display:flex;align-items:center;gap:5px;white-space:nowrap}
.drive-practice-steps li>span{width:20px;height:20px;display:grid;place-items:center;border:1px solid #e5fff344;border-radius:50%;font-size:9px}
.drive-practice-steps .current{color:#fff;font-weight:650}.drive-practice-steps .current>span{background:#d5f8ea;color:#10392c;border-color:#d5f8ea;box-shadow:0 0 16px #a0f5d642;text-shadow:none}.drive-practice-steps .done>span{color:#99f5d0;border-color:#99f5d0}
.drive-practice-demo{height:184px;position:relative;margin:8px 0 0;display:grid;align-items:center;pointer-events:none}
.drive-practice-demo>div{width:100%}.drive-practice-demo .gesture-demo{margin:0;width:100%;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}.drive-practice-demo .gesture-demo-tag{display:none}.drive-practice-demo .gesture-demo:after{content:none}.drive-practice-demo .gesture-demo svg{height:158px;width:100%}.drive-practice-demo .gesture-demo-labels{font-size:11px;gap:10px;line-height:1.5;color:#e1eee8}.drive-practice-demo [data-profile=one] .gesture-demo-labels{visibility:hidden}
#drive-practice-direction{position:absolute;right:18px;top:37px;font-size:25px;font-weight:500;color:#d9f9ea}
#drive-practice-ready{display:grid;place-items:center;height:130px}#drive-practice-ready>span{display:grid;place-items:center;width:68px;height:68px;border:1px solid #bff8dd88;border-radius:50%;background:#98e1bd16;color:#bff8dd;font-size:32px;box-shadow:0 0 60px #8ce3c41e}
#drive-practice-status{min-height:18px;margin:2px 0 7px;font-size:11px;color:#c9f9e6;line-height:1.5}
#drive-practice-progress{display:block;appearance:none;width:100%;height:3px;border:0;border-radius:4px;overflow:hidden;margin:0 0 13px;accent-color:#a0e7c8}#drive-practice-progress::-webkit-progress-bar{background:#e5fff32b}#drive-practice-progress::-webkit-progress-value{background:#a0e7c8;transition:width .08s linear}
.practice-panel .drive-hand-ready{font-size:10px;color:#f0f8f4;margin:0 0 10px;line-height:1.45}.practice-panel .drive-hand-ready progress{display:none}
.practice-panel .drive-go{background:#ddf6e9;color:#153b2c;box-shadow:none;text-shadow:none;min-height:44px;border-radius:28px;font-size:12px;padding:11px 17px}.practice-panel .drive-go:disabled{opacity:.65}
.drive-settings{font-size:11px;margin:12px 0 0;pointer-events:auto}.drive-settings summary{cursor:pointer;color:#dde9e4;padding:7px 0;font-size:10px;min-height:32px}.drive-settings[open]{background:#13272ad9;border:1px solid #e3fff328;border-radius:12px;padding:0 10px 10px;text-shadow:none}.drive-settings .drive-inputs{margin:8px 0 10px}.drive-settings .drive-inputs button{padding:7px 4px}.drive-settings .drive-inputs button>svg,.drive-settings .drive-inputs .key-icon{height:20px;width:20px}.drive-settings .drive-transmission{margin:0 0 6px}.drive-settings #drive-shift-help{margin:10px 0 0;font-size:10px;line-height:1.5}.practice-panel .drive-auto{text-align:left;margin-top:5px;color:#bacdc7;font-size:8px}
.drive-recovery .drive-camera{margin:4px 0 0}
@media(max-width:700px){.drive-ui.preparing{background:linear-gradient(90deg,#07131cbd, #07131c5c 90%,transparent)}.drive-panel.practice-panel{left:18px;top:112px;bottom:18px;width:328px;max-width:calc(100% - 36px);padding:0 0 8px}.practice-panel h2{font-size:26px;max-width:300px;margin:7px 0 9px}.practice-panel #drive-instruction{font-size:11px;line-height:1.6;margin-bottom:8px}.drive-practice-top{margin-bottom:9px}.drive-practice-demo{height:180px}.drive-practice-demo .gesture-demo svg{height:154px}.drive-practice-steps{gap:5px;font-size:8px}.drive-practice-steps li{gap:4px}.drive-settings{margin-top:8px}.practice-panel .drive-auto{font-size:8px}.driving:has(.drive-ui.preparing) .camera-preview{width:85px;right:12px;bottom:14px;opacity:.7}.drive-practice-demo .gesture-demo-labels{font-size:10px;gap:8px}}
@media(max-height:700px) and (min-width:701px){.drive-panel.practice-panel{top:103px;bottom:12px}.drive-practice-demo{height:180px}.drive-practice-demo .gesture-demo svg{height:154px}#drive-practice-ready{height:105px}.practice-panel h2{font-size:26px}.practice-panel #drive-instruction{margin-bottom:6px}.drive-practice-top{margin-bottom:8px}}
@media(max-height:560px){.drive-panel.practice-panel{top:84px;left:20px;bottom:10px;width:340px;max-width:calc(100% - 40px)}.practice-panel h2{font-size:22px;min-height:0}.practice-panel #drive-instruction{min-height:0;font-size:11px}.drive-practice-demo{height:172px}.drive-practice-demo .gesture-demo svg{height:144px}.drive-practice-demo .gesture-demo-labels{font-size:10px;gap:8px}#drive-practice-ready{height:88px}#drive-practice-ready>span{height:48px;width:48px;font-size:25px}.drive-practice-top{margin-bottom:6px}.practice-panel .drive-hand-ready{font-size:9px}.drive-settings{margin-top:5px}.practice-panel .drive-auto{display:none}}
@media(prefers-reduced-motion:reduce){#drive-practice-progress::-webkit-progress-value{transition:none}}

/* Express preparation: one instruction, real cockpit feedback, five start lights. */
.drive-start-lights{position:absolute;top:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:3;pointer-events:none}
.drive-light-rail{display:flex;gap:8px;padding:9px 12px;border:1px solid #ffffff32;border-radius:12px;background:linear-gradient(#28303a,#0b1018);box-shadow:0 9px 25px #0005,inset 0 1px #ffffff24}
.drive-start-light{display:grid;place-items:center;width:39px;height:47px;border:1px solid #ffffff0e;background:#080d13;border-radius:7px;box-shadow:inset 0 2px 6px #000}
.drive-start-light i{width:27px;height:27px;display:block;border-radius:50%;background:radial-gradient(circle at 38% 30%,#4f2830,#271922 75%);border:1px solid #78344355;transition:background .12s,box-shadow .12s}
.drive-start-light.lit i{background:radial-gradient(circle at 38% 30%,#ffb0a4,#ff3d50 48%,#b90d37);border-color:#ffbcb766;box-shadow:0 0 15px #ff365983,inset 0 0 7px #ffc5bc55}
.drive-start-lights.green .drive-start-light i{background:radial-gradient(circle at 38% 30%,#efffce,#54f5ab 48%,#159667);border-color:#ccffe599;box-shadow:0 0 20px #4dffb0a3,inset 0 0 8px #ffffff55}
#drive-start-caption{font-size:9px;font-weight:750;letter-spacing:.17em;color:#fff;text-shadow:0 1px 5px #000,0 1px 12px #000}
.drive-start-lights.green #drive-start-caption{color:#bcffda}
.drive-countdown,.drive-countdown:has(+.drive-live){top:24%;font-size:22px;letter-spacing:0}
.drive-ui.preparing{background:linear-gradient(90deg,#07131cc4,transparent 45%)}
.drive-ui.preparing .drive-map{display:none}
.drive-panel.practice-panel{top:132px;left:32px;bottom:auto;transform:none;width:310px;max-height:calc(100% - 150px);overflow-y:auto;padding:0 3px 8px 0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.practice-panel h2{font-size:30px;line-height:1.12;min-height:0;margin:12px 0 10px;letter-spacing:-.04em}
.practice-panel #drive-instruction{font-size:14px;line-height:1.55;min-height:0;margin:0 0 14px;color:#fff;text-shadow:0 1px 9px #0008}
.practice-panel .drive-eyebrow{font-size:8px;color:#d0f6e5;letter-spacing:.13em}
.drive-practice-top{margin:0 0 6px}.drive-practice-top button{min-height:34px;padding:6px 12px;border:1px solid #ffffff55;border-radius:24px;background:#15242da6;color:#fff;font-size:11px}
.drive-practice-steps,#drive-practice-progress,#drive-practice-status{display:none}
.drive-practice-demo{height:114px;min-height:0;margin:0;width:120px}
.drive-practice-demo .gesture-demo svg{height:106px}.drive-practice-demo .gesture-demo-labels{display:none}
#drive-practice-ready{height:90px}#drive-practice-ready>span{height:48px;width:48px;font-size:24px}
.practice-panel .drive-hand-ready{margin:3px 0;font-size:10px;color:#e8f6ef}.practice-panel .drive-auto{font-size:9px;line-height:1.5}
.practice-panel .drive-settings{margin-top:3px}.practice-panel .drive-settings summary{font-size:10px}
.drive-ui:has(.drive-start-lights:not([hidden])) .drive-pause{top:120px}
@media(max-width:700px){
 .drive-start-lights{top:12px;gap:6px}.drive-light-rail{gap:5px;padding:7px 9px;border-radius:9px}.drive-start-light{width:27px;height:33px;border-radius:5px}.drive-start-light i{width:20px;height:20px}#drive-start-caption{font-size:7px;letter-spacing:.08em}
 .drive-ui.preparing{background:linear-gradient(#08151baf,transparent 56%)}.drive-ui.preparing .drive-heading,.drive-ui.preparing .drive-timing{display:none}
 .drive-panel.practice-panel{top:98px;left:20px;bottom:auto;max-height:calc(100% - 110px);width:calc(100% - 40px);max-width:400px}
 .practice-panel h2{font-size:27px;margin:8px 0}.practice-panel #drive-instruction{font-size:13px;line-height:1.45;margin-bottom:10px;max-width:320px}
 .drive-practice-demo{display:none}.practice-panel .drive-auto{display:none}.drive-practice-top{margin:0}.practice-panel .drive-hand-ready{font-size:9px}
 .drive-ui:has(.drive-start-lights:not([hidden])) .drive-pause{top:85px}
}
@media(max-height:560px) and (min-width:701px){
 .drive-panel.practice-panel{top:100px;left:20px;width:280px;max-height:calc(100% - 115px)}.practice-panel h2{font-size:25px;margin:5px 0}.practice-panel #drive-instruction{font-size:12px;margin-bottom:7px}.drive-practice-demo{display:none}.practice-panel .drive-auto{display:none}
 .drive-start-lights{top:14px}.drive-ui.preparing .drive-location{display:none}
}
@media(prefers-reduced-motion:reduce){.drive-start-light i{transition:none}}

/* V16: instructions are printed on a small patch of windshield only. The
   dashboard, steering wheel and actual track gantry retain their own lighting. */
.drive-ui.preparing{background:none}
.drive-panel.practice-panel{top:120px;left:24px;bottom:auto;width:min(338px,39vw);max-width:calc(100% - 48px);max-height:calc(57% - 120px);padding:19px 22px 16px;border:1px solid #f0fff51c;border-left:2px solid #9ae8ce8c;border-radius:4px 18px 18px 4px;background:linear-gradient(112deg,#02080dc7,#02080d96);box-shadow:0 10px 32px #00000016;backdrop-filter:none;text-shadow:0 1px 6px #0008;overflow-y:auto;scrollbar-color:#9cdbc754 transparent;scrollbar-width:thin;overscroll-behavior:contain}
.practice-panel h2{font-size:28px;line-height:1.12;margin:9px 0 10px}
.practice-panel #drive-instruction{font-size:13px;line-height:1.48;margin:0 0 12px}
.practice-panel #drive-panel-kicker{font-size:8px;letter-spacing:.1em;color:#b4efdc}
.practice-panel .drive-practice-top{margin:0 0 4px}
.practice-panel .drive-practice-top button{background:#f0fff510;border-color:#f0fff54a;font-weight:550}
.practice-panel .drive-hand-ready{font-size:10px;line-height:1.35;margin:8px 0 0;color:#ebfff7}
.practice-panel .drive-settings{margin:2px 0 0}.practice-panel .drive-settings summary{min-height:27px;padding:6px 0;font-size:9px;color:#cfe0dc}
.practice-panel .drive-auto{display:none}
.drive-practice-demo{height:91px;width:100px}.drive-practice-demo .gesture-demo svg{height:86px}
.drive-ui.preparing .drive-heading{top:21px;left:27px}
.drive-ui.preparing .drive-heading>strong{font-size:32px;line-height:1.25}
.drive-ui.preparing .drive-location{font-size:9px;margin-top:2px}
/* The matching accessible description stays in the DOM; the five lights are
   now rendered as part of the steel gantry in the 3D scene. */
.drive-start-lights.world-start-lights{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;transform:none!important}
.drive-ui:has(.drive-start-lights.world-start-lights:not([hidden])) .drive-pause{top:25px}

.drive-hand-frame-warning{position:absolute;top:111px;right:24px;z-index:7;width:244px;max-width:calc(100% - 32px);display:flex;align-items:center;gap:10px;padding:13px 15px 13px 11px;pointer-events:none;border:1px solid #ffc875a6;border-left:3px solid #ffc875;border-radius:12px;background:linear-gradient(115deg,#342b1de8,#191c22e8);box-shadow:0 6px 25px #0004,0 0 20px #ffc87510;color:#fff3da}
.drive-hand-frame-warning[hidden]{display:none}
.drive-hand-frame-warning>svg{width:32px;height:36px;flex:none;fill:none;stroke:#ffcf7d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.drive-hand-frame-warning .frame-corner{stroke-width:1.8;opacity:.75}
.drive-hand-frame-warning>span{min-width:0;display:flex;flex-direction:column;gap:4px}
.drive-hand-frame-warning strong{font-size:12px;line-height:1.25;font-weight:750;letter-spacing:.005em}
.drive-hand-frame-warning small{font-size:10px;line-height:1.35;color:#eadbc2}
.drive-hand-frame-warning>i{position:absolute;top:9px;right:9px;width:5px;height:5px;border-radius:50%;background:#ffd393;box-shadow:0 0 8px #ffc45e;animation:hand-frame-beacon 1.4s ease-in-out infinite}
.drive-hand-frame-warning[data-level=urgent]{border-color:#ff997b;background:linear-gradient(115deg,#44281fec,#1f1b20ec);box-shadow:0 6px 25px #0004,0 0 20px #ff845520}
.drive-hand-frame-warning[data-level=urgent]>svg{stroke:#ffb58c}.drive-hand-frame-warning[data-level=urgent]>i{background:#ff9f7e;box-shadow:0 0 10px #ff785e}
@keyframes hand-frame-beacon{0%,100%{opacity:1}50%{opacity:.4}}

@media(max-width:1100px){
 .drive-panel.practice-panel{left:20px;top:108px;width:305px;max-height:calc(57% - 108px);padding:16px 18px 13px}
 .practice-panel h2{font-size:25px}.practice-panel #drive-instruction{font-size:12px}
 .drive-hand-frame-warning{right:18px;width:221px;padding:11px 12px 11px 9px;gap:8px}.drive-hand-frame-warning strong{font-size:11px}.drive-hand-frame-warning small{font-size:9px}
}
@media(max-height:850px){
 .drive-practice-demo{display:none}
 .drive-panel.practice-panel{top:105px;max-height:calc(58% - 105px);padding-top:15px;padding-bottom:12px}
 .practice-panel h2{font-size:25px;margin:7px 0 8px}.practice-panel #drive-instruction{margin-bottom:8px}
}
@media(max-width:700px){
 .drive-ui.preparing{background:none}.drive-ui.preparing .drive-heading{display:none}
 .drive-panel.practice-panel{left:14px;top:20px;width:calc(100% - 28px);max-width:345px;max-height:calc(34% - 20px);padding:14px 17px 12px;border-radius:4px 15px 15px 4px;background:linear-gradient(112deg,#02080dcc,#02080da3)}
 .practice-panel h2{font-size:25px;line-height:1.1;margin:7px 0 8px}.practice-panel #drive-instruction{font-size:12px;line-height:1.45;max-width:none;margin:0 0 9px}
 .practice-panel .drive-hand-ready{font-size:9px;margin-top:7px}.practice-panel .drive-settings summary{font-size:9px;min-height:27px}
 .drive-practice-demo{display:none}.practice-panel .drive-practice-top button{min-height:32px;font-size:10px}
 .drive-hand-frame-warning{top:92px;right:12px;width:182px;padding:10px 13px 10px 8px;gap:7px;border-radius:10px}
 .drive-hand-frame-warning>svg{width:25px;height:30px}.drive-hand-frame-warning strong{font-size:10px}.drive-hand-frame-warning small{font-size:9px;line-height:1.3}
 .drive-ui.preparing .drive-hand-frame-warning{top:auto;bottom:43%;right:12px}
 .drive-ui:has(.drive-start-lights.world-start-lights:not([hidden])) .drive-pause{top:19px}
}
@media(max-height:560px) and (min-width:701px){
 .drive-ui.preparing .drive-heading{display:none}
 .drive-panel.practice-panel{top:14px;left:16px;width:265px;max-height:calc(57% - 14px);padding:12px 15px 10px}
 .practice-panel #drive-panel-kicker{font-size:7px}.practice-panel h2{font-size:21px;margin:6px 0}.practice-panel #drive-instruction{font-size:11px;line-height:1.35;margin-bottom:6px}
 .practice-panel .drive-hand-ready,.practice-panel .drive-settings{display:none}.practice-panel .drive-practice-top{margin:0}.practice-panel .drive-practice-top button{min-height:29px;font-size:10px;padding:5px 10px}
 .drive-hand-frame-warning{top:82px;right:16px;width:203px}.drive-hand-frame-warning small{font-size:9px}
 .drive-ui:has(.drive-start-lights.world-start-lights:not([hidden])) .drive-pause{top:15px}
}
@media(max-width:700px) and (max-height:560px){
 .drive-panel.practice-panel{top:10px;max-height:calc(34% - 10px);max-width:295px;padding:10px 13px}
 .practice-panel h2{font-size:22px;margin:5px 0}.practice-panel #drive-instruction{font-size:11px;line-height:1.35;margin-bottom:5px}.practice-panel .drive-settings,.practice-panel .drive-hand-ready{display:none}
 .practice-panel .drive-practice-top button{min-height:28px;padding:5px 9px}
 .drive-hand-frame-warning{top:83px;right:10px;width:176px}.drive-ui.preparing .drive-hand-frame-warning{top:20px;bottom:auto}
}
@media(prefers-reduced-motion:reduce){.drive-hand-frame-warning>i{animation:none}}

/* Tracking recovery stays beside the road, including when every hand is lost. */
.drive-recovery{left:auto;right:24px;top:199px;transform:none;width:244px;padding:13px 15px;text-align:left;gap:7px;border-radius:12px;background:#102027e6;backdrop-filter:none;box-shadow:0 6px 25px #0003}
.drive-recovery strong{font-size:13px;line-height:1.35}.drive-recovery>span:not(.drive-eyebrow){font-size:10px;line-height:1.4}.drive-recovery .drive-eyebrow{font-size:8px}
.drive-recovery .drive-camera{min-height:34px;font-size:11px;margin-top:0}
.drive-ui:has(.drive-hand-frame-warning:not([hidden])) .drive-recovery>span,.drive-ui:has(.drive-hand-frame-warning:not([hidden])) .drive-recovery>strong{display:none}
@media(max-width:1100px){.drive-recovery{right:18px;top:189px;width:221px;padding:12px}}
@media(max-width:700px){.drive-recovery{right:12px;top:176px;width:182px;padding:10px 12px}.drive-recovery strong{font-size:11px}.drive-recovery>span:not(.drive-eyebrow){font-size:9px}.drive-recovery .drive-camera{font-size:10px}}
@media(max-height:560px){.drive-recovery{top:168px;right:16px;width:203px;padding:10px 12px}.drive-recovery strong{font-size:11px}}
@media(max-width:700px) and (max-height:560px){.drive-recovery{right:10px;top:164px;width:176px}}

/* Optional pit stop: a modest invitation beside the road, not another menu. */
.drive-pit-notice{position:absolute;left:26px;top:43%;width:238px;z-index:4;padding:14px 16px;border:1px solid #a4eed546;border-left:3px solid #a4eed5;border-radius:3px 14px 14px 3px;background:#07181de0;pointer-events:auto;color:#effff8;box-shadow:0 8px 22px #0002}
.drive-pit-notice[hidden]{display:none}.drive-pit-notice .drive-eyebrow{font-size:8px;letter-spacing:.09em;color:#a4eed5}.drive-pit-notice strong{display:block;font-size:14px;line-height:1.25;margin:8px 0}.drive-pit-notice p{font-size:11px;line-height:1.4;color:#cee3da;margin:6px 0 10px}.drive-pit-notice button{font:inherit;font-size:11px;font-weight:600;color:#071c16;background:#b0eed7;border:0;border-radius:7px;min-height:36px;padding:8px 10px;cursor:pointer}.drive-pit-notice progress{width:100%;height:5px;accent-color:#a4eed5}.pitting .drive-assistance,.pitting .drive-wheel-meter,.pitting .drive-speed{visibility:hidden}
@media(max-width:700px){.drive-pit-notice{left:12px;top:auto;bottom:26px;width:185px;padding:11px 12px}.drive-pit-notice strong{font-size:12px}.drive-pit-notice p{font-size:10px}.drive-pit-notice button{font-size:10px}.pitting .drive-map{opacity:.45}}

/* V20: the lesson is the focal point; tracking alerts remain beside the road. */
.drive-panel.practice-panel{left:50%;top:21%;transform:translateX(-50%);width:min(600px,calc(100% - 48px));max-width:600px;max-height:47%;padding:24px 30px 18px;border:1px solid #e3f5ff35;border-radius:22px;background:linear-gradient(120deg,#050d14dc,#08111abb);text-align:center;box-shadow:0 16px 55px #0003}
.practice-panel #drive-panel-kicker{font-size:12px;letter-spacing:.12em}.practice-panel h2{font-size:clamp(30px,3vw,44px);line-height:1.12;margin:12px 0}.practice-panel #drive-instruction{font-size:20px;line-height:1.45;max-width:none;margin:0 0 14px;color:#f1f7fa}
.practice-panel .drive-practice-top{justify-content:space-between;margin:12px 0}.practice-panel .drive-practice-top button{font-size:15px;min-height:40px;padding:8px 18px}.practice-panel .drive-practice-top>span{font-size:18px}.practice-panel .drive-hand-ready{font-size:14px;margin-top:12px}.practice-panel .drive-settings summary{font-size:13px;min-height:30px}.practice-panel .drive-practice-demo{display:none}
.drive-hand-frame-warning{width:370px;right:24px;top:120px;padding:21px 23px;gap:16px;border-radius:18px;border-width:2px}.drive-hand-frame-warning>svg{width:52px;height:62px;flex-shrink:0}.drive-hand-frame-warning strong{font-size:24px;line-height:1.2}.drive-hand-frame-warning small{font-size:17px;line-height:1.4}.drive-hand-frame-warning>i{width:8px;height:8px;top:12px;right:12px}.drive-recovery{top:300px;width:370px}.drive-recovery .drive-camera{font-size:16px;min-height:44px}
.drive-ui.preparing .drive-hand-frame-warning{top:auto;bottom:20px;right:24px}
@media(max-width:900px){.drive-hand-frame-warning{width:290px;right:16px;padding:16px;gap:12px}.drive-hand-frame-warning strong{font-size:20px}.drive-hand-frame-warning small{font-size:15px}.drive-hand-frame-warning>svg{width:40px;height:48px}.drive-recovery{width:290px;right:16px;top:274px}}
@media(max-width:700px){.drive-panel.practice-panel{top:17%;left:50%;width:calc(100% - 28px);max-width:520px;max-height:49%;padding:19px 20px 14px;border-radius:18px}.practice-panel #drive-panel-kicker{font-size:10px}.practice-panel h2{font-size:30px;margin:10px 0}.practice-panel #drive-instruction{font-size:17px;line-height:1.4}.practice-panel .drive-hand-ready{font-size:12px}.practice-panel .drive-settings summary{font-size:12px}.drive-hand-frame-warning{top:130px;width:275px;right:12px}.drive-ui.preparing .drive-hand-frame-warning{bottom:16px;right:12px}.drive-recovery{top:285px;width:275px;right:12px}}
@media(max-height:600px){.drive-panel.practice-panel{top:12%;padding:12px 22px;max-height:57%;width:min(540px,calc(100% - 40px))}.practice-panel h2{font-size:28px;margin:7px 0}.practice-panel #drive-instruction{font-size:16px;margin-bottom:7px}.practice-panel .drive-hand-ready,.practice-panel .drive-settings{display:none}.practice-panel .drive-practice-top{margin:7px 0}.drive-hand-frame-warning{top:90px;width:270px;padding:14px}.drive-hand-frame-warning strong{font-size:20px}.drive-hand-frame-warning small{font-size:14px}}

.drive-panel.practice-panel{top:4%}
@media(max-height:600px){.drive-panel.practice-panel{top:2%}}

/* V21: polarized windshield, with soft edges and legible floating content. */
.drive-panel.practice-panel{top:6%;width:min(1100px,90%);max-width:none;max-height:47%;padding:32px 70px 22px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.drive-panel.practice-panel:before{content:'';position:absolute;inset:-28px -55px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#06111cec 0%,#09121db5 46%,#07111b55 63%,transparent 74%);filter:blur(18px)}
.practice-panel h2{font-size:clamp(30px,3.1vw,48px);white-space:nowrap}.practice-panel #drive-instruction{font-size:clamp(18px,1.7vw,25px);max-width:820px;margin:12px auto}.practice-panel .drive-practice-top{max-width:560px;margin:15px auto}.practice-panel .drive-hand-ready{justify-content:center}.practice-panel #drive-panel-kicker{font-size:12px}
.drive-hand-frame-warning,.drive-ui.preparing .drive-hand-frame-warning{top:23%;bottom:auto;right:3%;width:360px;z-index:9}.drive-recovery{top:calc(23% + 160px);right:3%;width:360px}
.drive-shift-prompt{position:absolute;right:4%;top:25%;width:245px;text-align:center;pointer-events:none;z-index:8;color:#fff;text-shadow:0 2px 9px #000;background:radial-gradient(ellipse,#08111cbf,transparent 72%);padding:20px 5px}.drive-shift-prompt[hidden]{display:none}.drive-shift-prompt strong{display:block;font-size:25px}.drive-shift-prompt span{display:block;font-size:18px;margin:8px 0}.drive-shift-prompt svg{width:115px;margin:auto;opacity:.85}
.drive-rpm{height:9px!important;margin-top:10px}.drive-tach-label{font-size:10px;letter-spacing:.06em;margin-top:7px;color:#d3ece4}.drive-tach-label b{font-size:17px;color:#fff}.drive-tach-label span{float:right;font-size:10px;margin-left:18px}.drive-tach-label b.redline{color:#ff8068}.drive-velocity{min-width:170px}
@media(max-width:700px){.drive-panel.practice-panel{top:9%;width:100%;padding:20px 16px;max-height:43%}.drive-panel.practice-panel:before{inset:-18px -12px;filter:blur(12px)}.practice-panel h2{font-size:clamp(24px,7.2vw,32px)}.practice-panel #drive-instruction{font-size:17px}.drive-hand-frame-warning,.drive-ui.preparing .drive-hand-frame-warning{top:42%;bottom:auto;right:14px;width:270px}.drive-ui:not(.preparing) .drive-hand-frame-warning{top:145px}.drive-recovery{top:290px;right:14px;width:270px}.drive-shift-prompt{right:12px;top:26%;width:180px}.drive-shift-prompt strong{font-size:20px}.drive-shift-prompt span{font-size:15px}.drive-shift-prompt svg{width:90px}.drive-velocity{min-width:125px}.drive-tach-label span{display:none}}
@media(max-height:600px) and (min-width:701px){.drive-panel.practice-panel{top:1%;padding:14px 40px}.practice-panel h2{font-size:30px}.practice-panel #drive-instruction{font-size:18px}.drive-hand-frame-warning,.drive-ui.preparing .drive-hand-frame-warning{top:22%;width:280px}.drive-shift-prompt{top:20%;width:200px}.drive-shift-prompt svg{width:85px}}

.drive-panel.practice-panel{backdrop-filter:none}

.practice-panel h2{max-width:none;width:100%;text-align:center}.drive-shift-prompt svg{height:auto;max-height:none}

/* V22: one diffuse windshield treatment for guidance, pause and recovery. */
.drive-panel:not(.practice-panel){top:13%;left:50%;transform:translateX(-50%);width:min(1100px,90%);max-width:none;max-height:54%;padding:32px 70px;text-align:center;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;isolation:isolate;overflow:auto}
.drive-panel:not(.practice-panel):before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#101820ed 0%,#15202bd9 40%,#18232d88 61%,transparent 76%)}
.drive-panel:not(.practice-panel) h2{font-size:clamp(30px,3.1vw,48px);max-width:none;margin:12px auto;line-height:1.15}
.drive-panel:not(.practice-panel) #drive-instruction{font-size:clamp(18px,1.7vw,25px);max-width:820px;margin:14px auto}
.drive-panel:not(.practice-panel) .drive-hand-ready{justify-content:center}.drive-panel:not(.practice-panel) .drive-camera,.drive-panel:not(.practice-panel) .drive-go{max-width:480px;margin:14px auto}.drive-panel:not(.practice-panel) .drive-settings{max-width:650px;margin:14px auto;text-align:center}
.drive-hand-frame-warning{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none;isolation:isolate;padding:25px 20px}
.drive-hand-frame-warning:before{content:'';position:absolute;inset:-30px -25px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse,#211a17f2 0%,#1b2024d9 40%,#18202777 60%,transparent 76%);filter:blur(12px)}
.drive-hand-frame-warning>i{right:16px;top:8px}.drive-hand-frame-warning strong{color:#fff}.drive-hand-frame-warning small{color:#f3eae3}
.drive-recovery{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;padding:4px 20px}.drive-recovery progress{height:4px}
.drive-coach,.drive-pit-notice,.drive-recenter-help{border:0;border-radius:0;box-shadow:none;background:radial-gradient(ellipse,#101d25ed 0%,#101d25c9 45%,transparent 78%)}
@media(max-width:700px){.drive-panel:not(.practice-panel){top:13%;width:100%;padding:22px 18px;max-height:58%}.drive-panel:not(.practice-panel) h2{font-size:clamp(27px,7vw,34px)}.drive-panel:not(.practice-panel) #drive-instruction{font-size:18px}.drive-hand-frame-warning:before{inset:-20px -12px}.drive-recovery{padding:4px 18px}}
@media(max-height:600px) and (min-width:701px){.drive-panel:not(.practice-panel){top:5%;padding:18px 40px;max-height:62%}.drive-panel:not(.practice-panel) h2{font-size:32px}}

.drive-panel:not(.practice-panel){overflow:visible;max-height:none}.drive-panel:not(.practice-panel) .drive-hand-ready,.drive-panel:not(.practice-panel) .drive-auto{display:none}.drive-panel .drive-camera{max-width:480px;margin:12px auto}.drive-panel:not(.practice-panel) .drive-settings[open]{max-height:160px;overflow:auto}

@media(max-width:700px){.drive-ui:has(.drive-panel:not([hidden])) .drive-map{visibility:hidden}}
