:root{--blue:#3478ed;--blue-dark:#205fc8;--ink:#24344d;--muted:#7c8797;--border:#e6eaf0;--page:#f6f8fa;--green:#3e8c72;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:#fff;border:1px solid var(--border);transition:background .15s,box-shadow .15s}button:hover{background:#f0f4fa}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #88b2ff;outline-offset:3px}button:disabled{opacity:.42;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--blue);text-decoration:none}[hidden]{display:none!important}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:30px 20px 20px;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:23px;font-weight:760;letter-spacing:2px;margin:0 5px 38px}.brand small{display:block;font-size:10px;color:#8b95a4;font-weight:400;letter-spacing:1px;margin-top:0}.brand-icon{display:flex;align-items:center;justify-content:center;width:43px;height:46px;background:var(--blue);color:#fff;border-radius:13px;box-shadow:0 5px 12px #3478ed20}.brand-icon svg{width:29px}.nav-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;margin:0 9px 18px}.nav-heading span{font-size:10px;color:#94a0ad;font-weight:400}#scene-list{flex:1;overflow-y:auto;scrollbar-width:thin}.nav-group-label{font-size:10px;color:#9aa3af;letter-spacing:1px;padding:10px 12px 6px}.scene-link{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;border-radius:9px;padding:10px 11px;margin:2px 0;font-size:12px;color:#667386;white-space:nowrap}.scene-link .number{font-size:10px;color:#8a97a8;width:18px;font-variant-numeric:tabular-nums}.scene-link.active{background:#eaf1ff;color:var(--blue);font-weight:600}.scene-link.active .number{color:var(--blue)}.scene-link .complete{margin-left:auto;color:var(--green);font-size:12px}.scene-link.active:after{content:"\203a";font-size:18px;margin-left:auto;line-height:1}.scene-link.active .complete{margin-left:0}.sidebar-bottom{border-top:1px solid var(--border);padding:20px 8px 0;margin-top:16px}.progress-title{display:flex;justify-content:space-between;font-size:10px;color:#68778b}.progress-title span:last-child{color:#8a97a8}.progress-dots{display:flex;gap:5px;margin-top:12px}.progress-dots i{height:5px;flex:1;border-radius:3px;background:#e7edf4}.progress-dots i.done{background:#5a99ee}.sidebar-bottom p{font-size:10px;color:#9aa4b2;margin:10px 0 0}.sidebar-bottom .text-button{font-size:10px;padding:4px 0;margin-top:5px;color:#9aa4b2}main{margin-left:228px;padding:34px 34px 16px;max-width:1800px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow{font-size:11px;color:#7f8da0;letter-spacing:2px;margin-bottom:8px}h1{font-size:28px;font-weight:650;letter-spacing:1px;line-height:1.4;margin:0 0 8px}h1 span{color:var(--blue)}.page-header p{color:#8993a2;font-size:12px;margin:0}.help-button{font-size:12px;background:transparent;border:0;display:flex;gap:7px;align-items:center}.help-button span{border:1px solid #8b98ab;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.practice-column{min-width:0}.scene-intro{display:flex;align-items:center;gap:13px;margin-bottom:18px}.scene-number{width:40px;height:44px;border:1px solid #dce5f1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;color:var(--blue);background:#fff;font-variant-numeric:tabular-nums}.scene-meta{font-size:10px;color:#93a0b0;margin-bottom:2px}.scene-intro h2{font-size:19px;font-weight:600;line-height:1.4;margin:0}.difficulty{margin-left:auto;color:#6c8990;border:1px solid #dce6e7;background:#f0f6f5;font-size:10px;padding:3px 9px;border-radius:5px}.arena-panel{border:1px solid #dfe5eb;border-radius:14px;overflow:hidden;box-shadow:0 3px 10px #22334903;background:#fff}.arena-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid var(--border);gap:10px;min-height:55px}.mode-tabs{display:flex;gap:16px}.mode-tabs button{border:0;background:transparent;color:#8a94a3;padding:3px 1px;font-size:11px}.mode-tabs button.active{color:var(--blue);font-weight:600}.mode-tabs span{margin-left:4px}.stage-status{display:flex;align-items:center;gap:5px;font-size:10px;color:#82918c;white-space:nowrap}.status-dot{height:5px;width:5px;background:#76a98e;border-radius:50%}.stage-status.moving{color:var(--blue)}.stage-status.moving .status-dot{background:var(--blue)}.stage-status.danger{color:#c16c55}.stage-status.danger .status-dot{background:#d57d66}.canvas-wrap{position:relative;background:#eaf0f0;aspect-ratio:32/22;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.view-label{position:absolute;top:15px;left:17px;color:#879595;font-size:9px;letter-spacing:.5px;pointer-events:none}.view-label span{font-size:14px;margin-right:5px}.zoom-button{position:absolute;top:12px;right:13px;background:#ffffffc9;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-color:#dde5e5;border-radius:7px;font-size:19px;color:#849095}.arena-legend{display:flex;gap:17px;padding:12px 16px;font-size:9px;color:#8a96a4;align-items:center;flex-wrap:wrap;min-height:40px}.arena-legend>span{display:flex;align-items:center;gap:6px}.arena-legend i{display:block}.legend-car{width:11px;height:7px;border-radius:2px;background:var(--blue)}.legend-target{width:11px;height:8px;border:1px dashed var(--blue);border-radius:2px}.legend-trail{width:14px;height:0;border-top:2px solid #8ab0ef}.arena-legend .scale-label{margin-left:auto;font-size:8px;color:#a2aab5}.arena-toast{position:absolute;bottom:18px;left:50%;transform:translate(-50%);border-radius:8px;padding:9px 15px;background:#24344de8;color:#fff;font-size:11px;box-shadow:0 4px 15px #22334918;max-width:90%;text-align:center;white-space:normal;z-index:3}.paused-overlay{position:absolute;inset:0;background:#edf2f0bb;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;font-size:20px;color:#526478}.paused-overlay button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:9px 24px;font-size:13px}.goal-card{display:flex;gap:12px;align-items:center;padding:18px 0 17px}.goal-icon{font-size:25px;color:var(--blue);line-height:1}.goal-card h3{font-size:12px;font-weight:600;margin:0 0 3px}.goal-card p{font-size:11px;color:#8190a1;margin:0}.small-button{font-size:10px;border-radius:6px;padding:6px 10px;background:#fff;white-space:nowrap}.goal-card .small-button{margin-left:auto}.hint-card{background:#eef3fd;border:1px solid #dce8fe;border-radius:10px;padding:12px 16px;margin:0 0 14px}.hint-card>span{font-size:10px;color:var(--blue);font-weight:600}.hint-card p{font-size:12px;margin:5px 0;color:#53739e}.hint-card .hint-explanation{font-size:11px;color:#7c91ad}.replay-panel{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:#fff}.replay-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.replay-title>div:first-child{display:flex;align-items:center;gap:8px}.replay-icon{font-size:19px;color:#889bb6;line-height:1}.replay-title strong{font-size:12px;font-weight:500}.replay-source{display:flex;gap:10px}.replay-source button{font-size:9px;border:0;background:transparent;padding:0;color:#9aa5b3}.replay-source button.active{color:var(--blue)}.replay-controls{display:flex;align-items:center;gap:12px;margin-top:13px}.play-button{width:28px;height:28px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:9px;color:var(--blue);background:#f1f5fd;border-color:#e6edfc;flex-shrink:0}.replay-controls input{flex:1;min-width:30px;accent-color:var(--blue);height:3px;cursor:pointer}.replay-controls>span{color:#9aa5b4;font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap}.speed-button{font-size:10px;border:0;background:transparent;color:#7e8ea4;padding:0}.replay-note{font-size:9px;color:#a0aab6;margin:12px 0 0}.practice-footer{margin-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a1aab6;gap:12px}.text-button{padding:0;color:#8595ad;background:transparent;border:0;font-size:9px;white-space:nowrap}.control-panel{border:1px solid var(--border);border-radius:14px;background:#fff;padding:22px 20px;box-shadow:0 3px 10px #22334903}.control-heading h2{font-size:14px;font-weight:600;margin:0}.control-heading>span{font-size:10px;color:#9ba5b2}.steer-reading{text-align:center;margin-top:20px}.steer-reading strong{display:block;font-size:31px;line-height:1.2;font-weight:550;font-variant-numeric:tabular-nums}.steer-reading strong span{font-size:23px;color:#8494aa;font-weight:400}.steer-reading>span{display:block;font-size:10px;color:#95a0af;margin-top:5px}.wheel-area{position:relative;display:flex;align-items:center;justify-content:center;margin:10px -5px 2px}.wheel{width:181px;height:181px;cursor:grab;touch-action:none;border-radius:50%;user-select:none;filter:drop-shadow(0 5px 6px #22334912)}.wheel:active{cursor:grabbing}.wheel svg{width:100%;height:100%;display:block}.wheel-side{position:absolute;top:47%;color:#b1b9c5;font-size:10px}.wheel-side.left{left:1px}.wheel-side.right{right:1px}.wheel-caption{text-align:center;color:#a3adba;font-size:9px;margin-bottom:13px}kbd{font-family:var(--font);background:#f5f7fa;border:1px solid #e8ecf2;border-bottom:2px solid #dfe5ed;border-radius:4px;font-size:9px;padding:1px 4px;color:#8391a6;line-height:1.4}.center-button{width:100%;border-radius:7px;background:#f8fafd;color:#6d83a1;font-size:11px;padding:7px}.center-button kbd{margin-left:9px}.front-wheel-row{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:10px;color:#8d9aad}.front-wheel-row strong{font-size:10px;font-weight:500;min-width:35px;text-align:right;color:#607b9e}.front-wheel-mini{margin-left:auto;display:flex;gap:15px;position:relative}.front-wheel-mini:before{content:"";position:absolute;top:7px;left:0;right:0;height:1px;background:#cbd6e3}.front-wheel-mini i{display:block;height:15px;width:6px;background:#7d98bc;border-radius:2px;z-index:1}.control-divider{height:1px;background:#eef1f5;margin:19px 0}.section-label{font-size:11px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:6px}.section-label small,.optional-label{font-size:9px;font-weight:400;color:#a0acba}.gear-selector{display:flex;gap:10px;margin:10px 0 13px}.gear-selector button{flex:1;border-radius:8px;padding:9px;display:flex;align-items:center;justify-content:center;gap:8px;color:#939eae}.gear-selector button strong{font-size:19px;line-height:1.3;font-weight:550}.gear-selector button span{font-size:11px}.gear-selector button.active{background:#edf3ff;border-color:#bad2ff;color:var(--blue)}.drive-button{width:100%;display:flex;align-items:center;justify-content:center;gap:13px;border:0;background:var(--blue);color:#fff;border-radius:8px;padding:12px 8px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 4px 9px #3478ed20}.drive-button:hover{background:#2c6fdf}.drive-button:active,.drive-button.pressed{background:#215fc4;box-shadow:inset 0 2px 3px #1e4c9b55}.drive-button strong{display:block;font-size:12px;font-weight:500}.drive-button small{display:block;font-size:9px;color:#c5daff;margin-top:2px}.drive-icon{font-size:25px;font-weight:300}.quick-actions{display:flex;gap:8px;margin-top:10px}.quick-actions button{flex:1;border:0;padding:5px 0;background:transparent;font-size:10px;color:#8a99ad}.quick-actions kbd{margin-left:3px;font-size:8px}.teaching-note{font-size:8px;color:#a8b1be;line-height:1.7;text-align:center;margin-top:10px}.assists{margin-top:10px}.assists label{display:flex;align-items:center;justify-content:space-between;min-height:33px;font-size:10px;color:#7b8b9f;position:relative;cursor:pointer}.assists input{position:absolute;right:0;opacity:0;width:30px;height:22px;cursor:pointer}.assists label>i{display:block;width:28px;height:16px;border-radius:10px;background:#e8edf3;transition:.2s;pointer-events:none;position:relative}.assists label>i:after{content:"";width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;left:2px;top:2px;box-shadow:0 1px 3px #22334920;transition:.2s}.assists input:checked+i{background:var(--blue)}.assists input:checked+i:after{transform:translate(12px)}.assists input:focus-visible+i{outline:3px solid #88b2ff;outline-offset:3px}.live-explanation{font-size:11px;line-height:1.8;padding:10px;background:#f3f7ff;border-radius:6px;color:#6784ad;margin-top:8px}.reset-actions{display:flex;justify-content:space-between;gap:6px}.reset-actions button{border:0;background:transparent;color:#8898ad;font-size:9px;padding:0}.mobile-select{display:none}dialog{border:1px solid var(--border);border-radius:18px;max-width:660px;width:calc(100% - 40px);padding:35px;color:var(--ink);box-shadow:0 20px 100px #1b304b25;max-height:90dvh;overflow:auto}dialog::backdrop{background:#21365455;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:17px;top:12px;font-size:25px;background:transparent;border:0;color:#97a3b2;padding:0 5px}dialog h2{font-size:24px;margin:6px 0 12px;font-weight:600}dialog>p{font-size:12px;color:#7c8da2;line-height:1.9}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.help-grid>div{background:#f6f8fb;border-radius:10px;padding:16px}.help-grid h3{font-size:12px;margin:8px 0 4px}.help-grid p{font-size:11px;color:#7a8ba0;margin:0}.help-grid strong{font-size:20px;color:var(--blue)}.help-grid kbd{font-size:12px}.principle{border-top:1px solid var(--border);padding-top:15px}.principle h3{font-size:13px;margin:0}.principle p{font-size:12px;color:#72859e}.source-note{font-size:10px!important;color:#9aa6b6!important}.dialog-primary{background:var(--blue);border:0;color:#fff;border-radius:8px;padding:10px 22px;font-size:12px}.dialog-primary:hover{background:var(--blue-dark)}#feedback-dialog{max-width:470px;text-align:center}.feedback-symbol{width:50px;height:50px;border-radius:50%;background:#e8f5ee;color:#458d6f;display:flex;align-items:center;justify-content:center;font-size:23px;margin:4px auto 20px}.feedback-symbol.adjustment{background:#fff2e9;color:#c78a61}#feedback-detail{font-size:12px;color:#7c8fa6;background:#f5f8fc;padding:14px;border-radius:9px;margin:20px 0;text-align:left}.feedback-buttons{display:flex;justify-content:center;gap:10px;align-items:center}.feedback-buttons .small-button{padding:10px 16px;font-size:11px}@media(min-width:1650px){main{padding-left:48px;padding-right:48px}.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:30px}.control-panel{padding:24px}.wheel{width:196px;height:196px}.sidebar{width:244px}main{margin-left:244px}.page-header{margin-bottom:36px}.arena-toolbar{padding:14px 20px}.scene-link{padding:11px}.replay-panel{padding:20px}.goal-card{padding:21px 0}}@media(max-width:1200px){.sidebar{width:197px;padding-left:13px;padding-right:13px}.brand{font-size:21px;gap:10px}.brand small{font-size:9px}.nav-heading{font-size:11px}.nav-heading span{font-size:9px}.scene-link{font-size:11px}main{margin-left:197px;padding:28px 22px}.workspace{grid-template-columns:minmax(0,1fr) 255px;gap:18px}h1{font-size:25px}.control-panel{padding:19px 17px}.wheel{width:163px;height:163px}.arena-toolbar{padding:10px 12px}.mode-tabs{gap:10px}.stage-status{font-size:8px}.arena-legend{gap:11px}.arena-legend .scale-label{display:none}.goal-card .small-button{font-size:9px}.practice-footer{align-items:flex-start}}@media(max-width:1000px){.sidebar{width:176px;padding-left:10px;padding-right:10px}.brand{font-size:20px;gap:8px}.brand-icon{width:34px;height:38px;border-radius:10px}.brand small{font-size:8px}.nav-heading span{display:none}.scene-link{padding:9px 7px;gap:5px}.sidebar-bottom{padding-left:3px;padding-right:3px}.progress-title{font-size:8px}main{margin-left:176px;padding:25px 18px}.workspace{grid-template-columns:minmax(0,1fr) 233px;gap:15px}.control-panel{padding:17px 14px}.page-header{margin-bottom:25px}h1{font-size:23px}.replay-title strong{font-size:10px}.replay-source{gap:6px}.replay-note{font-size:8px}.replay-controls{gap:8px}.goal-card{flex-wrap:wrap;gap:8px}.goal-card .small-button{margin-left:32px}.arena-toolbar{flex-wrap:wrap;gap:5px}.stage-status{margin-left:auto}}@media(max-width:820px){.sidebar{display:none}main{margin-left:0;padding:24px 22px}.mobile-select{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:11px;color:#8694a5}.mobile-select select{border:1px solid var(--border);background:#fff;border-radius:6px;padding:7px 12px;color:#536d90;flex:1;min-width:0}.workspace{grid-template-columns:minmax(0,1fr) 240px}.page-header{margin-bottom:20px}h1{font-size:25px}.scene-intro{margin-bottom:15px}}@media(max-width:620px){main{padding:20px 15px}.page-header{align-items:flex-start}h1{font-size:23px;letter-spacing:0}.eyebrow{font-size:9px}.page-header p{font-size:11px}.help-button{font-size:10px;white-space:nowrap;padding:5px 0}.workspace{display:flex;flex-direction:column;gap:18px}.practice-column{width:100%}.control-panel{width:100%;padding:20px}.control-heading{display:flex;align-items:center;justify-content:space-between}.wheel-area{margin:5px 0 0}.wheel{width:180px;height:180px}.wheel-side.left{left:calc(50% - 120px)}.wheel-side.right{right:calc(50% - 120px)}.steer-reading{margin-top:15px}.replay-title strong{font-size:12px}.replay-source button{font-size:10px}.arena-toolbar{flex-wrap:nowrap}.stage-status{font-size:9px}.goal-card{flex-wrap:nowrap}.goal-card .small-button{margin-left:auto}.goal-card p{font-size:10px}.goal-card h3{font-size:11px}.goal-icon{font-size:21px}.practice-footer{font-size:8px}.section-label{font-size:12px}.assists label{font-size:12px;min-height:40px}.drive-button{padding:14px}.drive-button strong{font-size:14px}.drive-button small,.teaching-note{font-size:10px}.reset-actions button{font-size:11px}.quick-actions button{font-size:12px}.help-grid{gap:12px}.help-grid>div{padding:12px}dialog{padding:28px 22px}dialog h2{font-size:21px}.feedback-buttons .small-button{padding:10px;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media(min-width:621px)and (max-height:800px){main{padding-top:22px}.page-header{margin-bottom:21px}.control-panel{padding-top:16px}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.control-heading h2{font-size:12px}.control-heading>span{font-size:8px}.steer-reading{margin-top:10px}.steer-reading strong{font-size:25px}.steer-reading>span{font-size:9px;margin-top:2px}.wheel{width:126px;height:126px}.wheel-area{margin:6px 0 0}.wheel-caption{margin-bottom:8px}.center-button{padding:5px}.front-wheel-row{margin-top:10px}.control-divider{margin:12px 0}.gear-selector{margin:8px 0 10px}.gear-selector button{padding:6px}.drive-button{padding:10px 8px}.teaching-note{margin-top:6px}.assists label{min-height:28px}.scene-intro{margin-bottom:15px}}.workspace{grid-template-columns:minmax(0,1fr) 330px}.cockpit{padding:20px 18px;background:linear-gradient(155deg,#fff 30%,#f8fafc)}.cockpit .control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.cockpit .control-heading h2{font-size:14px}.cockpit-state{font-size:10px!important;color:#648473!important;background:#eff5f1;border:1px solid #e0e9e3;border-radius:5px;padding:2px 7px}.cockpit-state.running{color:#3775cd!important;background:#edf3ff;border-color:#dbe7fb}.cockpit-state.braking{color:#b86b4f!important;background:#fff1e9;border-color:#f1dbcf}.cockpit-controls{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:12px;margin-top:12px}.steering-station{min-width:0}.cockpit .steer-reading{display:flex;align-items:center;justify-content:space-between;gap:5px;height:28px;margin:0 2px 8px}.cockpit .steer-reading strong{font-size:14px;white-space:nowrap;color:#6b819e}.cockpit .steer-reading strong span{font-size:12px}.cockpit .steer-reading>span{font-size:11px;color:#6e839e;margin:0;white-space:nowrap}.cockpit .wheel-area{height:187px;margin:0;position:relative}.cockpit .wheel{width:187px;height:187px;max-width:100%;max-height:100%;filter:drop-shadow(0 6px 5px #1c2d4624)}.wheel-reference{position:absolute;left:calc(50% - 2px);top:0;width:4px;height:7px;border-radius:3px;background:#91a6c0;z-index:2}.cockpit .wheel-side{top:46%;font-size:19px;font-weight:400;color:#c5cedb;opacity:.7;transition:color .15s,opacity .15s}.cockpit .wheel-side.left{left:-4px}.cockpit .wheel-side.right{right:-4px}.cockpit.turning-left .wheel-side.left,.cockpit.turning-right .wheel-side.right{color:#3478ed;opacity:1;text-shadow:0 0 12px #3478ed30}.cockpit .wheel-caption{font-size:9px;color:#8a9bb1;margin:6px 0 8px}.cockpit .center-button{font-size:10px;padding:5px;background:#f1f5fa;border-color:#e3eaf3;color:#617da4}.shifter-station{display:flex;align-items:center;flex-direction:column;padding-top:2px}.shifter-label{font-size:10px;color:#8b9aae;margin-bottom:18px}.shifter-assembly{position:relative;width:82px;height:150px;padding:11px 5px;background:linear-gradient(140deg,#e9edf2,#f7f9fb 45%,#dfe5ed);border:1px solid #d2dae4;border-radius:18px;box-shadow:inset 1px 1px 2px #fff,0 4px 6px #24344d0c}.gear-track{position:absolute;left:24px;top:17px;bottom:17px;width:8px;border-radius:8px;background:#68778a;box-shadow:inset 2px 1px 3px #15223877,1px 0 #fff}.cockpit .gear-selector{position:relative;display:flex;flex-direction:column;gap:0;padding:0 0 0 37px;margin:0;height:128px}.cockpit .gear-selector button{border:0;background:transparent;box-shadow:none;display:flex;gap:0;justify-content:center;align-items:center;flex:none;width:30px;height:32px;padding:0;border-radius:6px;color:#9aa6b6;position:relative;transition:color .15s,background .15s}.cockpit .gear-selector button strong{font-size:15px;font-weight:650}.cockpit .gear-selector button span{display:none}.cockpit .gear-selector button.active{background:#e8f0ff;color:#3978d8;box-shadow:inset 0 0 0 1px #c4d7f3}.cockpit .gear-selector button#gear-r.active{background:#fff1db;color:#b87f31;box-shadow:inset 0 0 0 1px #efd9b7}.cockpit .gear-selector button#gear-p.active{background:#ebf2ef;color:#648775;box-shadow:inset 0 0 0 1px #d2e3d9}.gear-knob{position:absolute;left:8px;top:8px;width:39px;height:38px;transform:translateY(32px);border-radius:11px 11px 9px 9px;background:linear-gradient(125deg,#5b6b80,#26364b 48%,#18293d 75%,#42536c);border:1px solid #8493a4;box-shadow:inset 1px 1px 1px #9daabd88,inset -1px -2px 2px #0c172d88,0 4px 5px #253a5350;z-index:2;cursor:grab;touch-action:none;user-select:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .2s;display:flex;align-items:center;justify-content:center;color:#e1e9f3}.gear-knob:active{cursor:grabbing}.gear-knob.dragging{transition:none;box-shadow:inset 1px 1px 1px #9daabd88,0 6px 9px #253a5360}.gear-knob strong{font-size:13px;font-weight:500;line-height:1}.knob-notch{position:absolute;top:5px;left:10px;right:10px;height:2px;border-radius:2px;background:#8fa3bd88}.knob-seam{position:absolute;left:4px;right:4px;bottom:5px;border-bottom:1px dashed #70829899}.shifter-assembly.disabled .gear-knob{cursor:default;opacity:.7}.shifter-caption{font-size:8px;line-height:1.7;color:#98a6b7;margin-top:10px;text-align:center;min-height:28px}.gear-description{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0 0;padding:8px 10px;background:#edf3fc;border:1px solid #e0e9f7;border-radius:7px;font-size:10px;transition:background .2s}.gear-description b{font-weight:600;white-space:nowrap;color:#4e78ad}.gear-description>span{font-size:9px;color:#8296b0}.gear-description.reverse{background:#fff7e9;border-color:#f1e4cd}.gear-description.reverse b{color:#b38443}.gear-description.reverse>span{color:#a6977f}.gear-description.parked{background:#f0f5f2;border-color:#e0e9e3}.gear-description.parked b{color:#6a8b77}.vehicle-response{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;margin:12px 0;border:1px solid #e8edf4;border-radius:9px;background:#f8fafd;padding:5px 10px 4px 5px}.vehicle-response>svg{width:94px;height:96px;overflow:visible}.response-copy{min-width:0}.response-eyebrow{display:block;color:#a4afbd;font-size:8px;letter-spacing:.4px;margin-bottom:6px}.response-copy>strong{font-size:12px;line-height:1.5;font-weight:550;color:#5e7fa9}.response-copy>p{font-size:10px;color:#98a5b7;line-height:1.7;margin:3px 0 0}.cockpit .front-wheel-row{margin-top:7px;padding-top:6px;border-top:1px solid #e4ebf4;font-size:9px;gap:7px}.cockpit .front-wheel-mini{gap:12px}.cockpit .front-wheel-mini i{height:12px;width:5px}.cockpit .front-wheel-mini:before{top:6px}.cockpit .front-wheel-row strong{font-size:10px;min-width:26px}.pedal-tray{height:112px;border:1px solid #e1e6ed;border-radius:11px;background:linear-gradient(#e5eaf0,#f3f6f9 35%,#e8eef5);box-shadow:inset 0 4px 8px #293e5910;display:flex;align-items:flex-end;justify-content:center;gap:35px;overflow:hidden;position:relative;padding:0 18px 7px}.pedal-tray:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 5px,#cad3df1a 6px,#cad3df1a 7px);pointer-events:none}.pedal{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:9px;background:transparent;border:0;box-shadow:none;color:#647b9a;height:108px;touch-action:none;user-select:none;-webkit-user-select:none;padding:0;flex-shrink:0}.pedal:hover{background:transparent}.pedal:active:not(:disabled){transform:none}.brake-pedal{width:100px}.accelerator-pedal{width:82px}.pedal-arm{position:absolute;width:11px;height:48px;border:1px solid #c1cad5;background:linear-gradient(90deg,#b4c0cf,#e7ecf1,#b8c5d4);top:5px;left:calc(50% - 5.5px);border-radius:3px;transform:rotate(-8deg);box-shadow:1px 1px 2px #263a5520}.pedal-face{display:flex;justify-content:space-evenly;align-items:center;border:1px solid #7a8da5;background:linear-gradient(135deg,#95a6bb,#5d718d 30%,#3c506d 80%);border-radius:8px;box-shadow:inset 1px 1px 1px #e2e8ef88,inset -1px -2px 1px #263b5477,0 5px #3d536d,0 7px 5px #253d5b30;transform:perspective(180px) rotateX(11deg);transform-origin:50% 95%;transition:transform .1s,box-shadow .1s,background .1s;z-index:1}.brake-pedal .pedal-face{width:81px;height:43px;margin-bottom:2px}.accelerator-pedal .pedal-face{width:39px;height:65px}.pedal-face i{display:block;width:3px;height:70%;border-radius:2px;background:linear-gradient(90deg,#263b54,#a1b1c733);box-shadow:1px 0 #a8bbd133}.pedal.pressed .pedal-face{transform:perspective(180px) rotateX(28deg) translateY(5px);box-shadow:inset 1px 1px 1px #e2e8ef44,0 1px #3d536d,0 3px 3px #253d5b30}.accelerator-pedal.pressed .pedal-face{background:linear-gradient(135deg,#77a8e8,#3e75bd 40%,#28558f);border-color:#7dafea}.brake-pedal.pressed .pedal-face{background:linear-gradient(135deg,#d5a489,#9f745c 40%,#805644);border-color:#d6a58a}.pedal-title{font-size:10px;white-space:nowrap;line-height:1.4;height:18px;color:#788da8}.pedal-title kbd{font-size:8px;padding:0 3px;background:#f6f8fbcc;border-color:#d7e0eb;color:#6c85a8;vertical-align:1px}.pedal-alt{font-size:8px;color:#98a6b9}.pedal:disabled{opacity:.5}.pedal-status{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#8c9bb0;margin:8px 0 0;min-height:17px}.pedal-status-light{width:5px;height:5px;border-radius:50%;background:#b5c1cf}.pedal-status.accelerating{color:#397ed9}.pedal-status.accelerating .pedal-status-light{background:#4789ed;box-shadow:0 0 7px #4789ed66}.pedal-status.braking{color:#bd815e}.pedal-status.braking .pedal-status-light{background:#ca8d66;box-shadow:0 0 7px #ca8d6666}.cockpit .quick-actions{justify-content:space-between;align-items:center;margin-top:4px;gap:6px}.cockpit .quick-actions>span{font-size:8px;color:#a1afbf}.cockpit .quick-actions>button{flex:none;font-size:9px;padding:3px 0}.cockpit .teaching-note{font-size:8px;text-align:left;line-height:1.7;margin:7px 0 0;color:#a4afbd}.cockpit .control-divider{margin:14px 0}.arena-keyboard{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 12px;background:#f8fafc;border-top:1px solid #e1e7ee;font-size:10px;color:#8190a5;flex-wrap:wrap}.arena-keyboard>span{display:flex;align-items:center;gap:5px}.arena-keyboard kbd{font-size:9px;background:#fff;color:#6c819f;min-width:19px;text-align:center}.arena-legend{border-top:1px solid #eef1f4}.shortcut-note{padding:10px 12px;border-radius:7px;background:#f3f6fb;font-size:10px!important;color:#8d9cb0!important}.cockpit .assists label{min-height:31px}.cockpit .section-label{font-size:11px}.gear-description.shifted{animation:shift-confirm .45s ease-out}@keyframes shift-confirm{0%{box-shadow:0 0 0 3px #72a6ed44}to{box-shadow:0 0 #72a6ed00}}@media(min-width:1650px){.workspace{grid-template-columns:minmax(0,1fr) 350px}.cockpit{padding:22px}.cockpit-controls{grid-template-columns:minmax(0,1fr) 86px;gap:16px}.cockpit .wheel-area{height:199px}.cockpit .wheel{width:199px;height:199px}.vehicle-response{margin:14px 0}}@media(max-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) 300px}.cockpit{padding:17px 15px}.cockpit-controls{grid-template-columns:minmax(0,1fr) 76px;gap:9px}.cockpit .wheel-area{height:168px}.cockpit .wheel{width:168px;height:168px}.cockpit .steer-reading>span{font-size:10px}.cockpit .steer-reading strong{font-size:12px}.cockpit .wheel-side.left{left:-3px}.cockpit .wheel-side.right{right:-3px}.gear-description{padding:7px 8px}.gear-description>span{font-size:8px}.vehicle-response{grid-template-columns:84px minmax(0,1fr);gap:5px}.vehicle-response>svg{width:84px;height:88px}.response-copy>strong{font-size:11px}.response-copy>p{font-size:9px}.pedal-tray{gap:24px}.arena-keyboard{gap:14px;font-size:9px}}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 276px;gap:14px}.cockpit{padding:16px 12px}.cockpit-controls{grid-template-columns:minmax(0,1fr) 72px;gap:7px}.cockpit .wheel-area{height:158px}.cockpit .wheel{width:158px;height:158px}.shifter-assembly{width:76px}.cockpit .gear-selector{padding-left:34px}.gear-knob{left:6px}.gear-track{left:22px}.cockpit .steer-reading{margin-left:0;margin-right:0}.cockpit .steer-reading>span{font-size:9px}.cockpit .steer-reading strong{font-size:11px}.cockpit .control-heading h2{font-size:13px}.gear-description{gap:4px}.gear-description b{font-size:9px}.gear-description>span{font-size:8px}.vehicle-response{grid-template-columns:77px minmax(0,1fr);padding-left:1px}.vehicle-response>svg{width:77px;height:84px}.response-copy>strong{font-size:10px}.response-eyebrow{font-size:7px}.pedal-tray{gap:14px;padding-left:10px;padding-right:10px}.arena-keyboard{gap:9px}.arena-keyboard>span{gap:3px}.arena-legend{font-size:8px}}@media(max-width:820px){.workspace{grid-template-columns:minmax(0,1fr) 300px}.cockpit{padding:17px 15px}.cockpit-controls{grid-template-columns:minmax(0,1fr) 76px;gap:9px}.cockpit .wheel-area{height:168px}.cockpit .wheel{width:168px;height:168px}}@media(max-width:620px){.workspace{display:flex}.cockpit{padding:20px}.cockpit-controls{grid-template-columns:minmax(0,1fr) 100px;gap:25px;max-width:400px;margin:15px auto 0}.cockpit .wheel-area{height:190px}.cockpit .wheel{width:190px;height:190px}.cockpit .steer-reading>span{font-size:11px}.cockpit .steer-reading strong{font-size:14px}.cockpit .wheel-caption{font-size:10px}.cockpit .center-button{font-size:11px;padding:7px}.shifter-label{font-size:12px}.shifter-caption{font-size:10px}.gear-description>span{font-size:10px}.gear-description b{font-size:12px}.vehicle-response{grid-template-columns:105px minmax(0,1fr);gap:15px;padding:7px 15px}.vehicle-response>svg{width:104px;height:110px}.response-eyebrow{font-size:10px}.response-copy>strong{font-size:14px}.response-copy>p{font-size:12px}.cockpit .front-wheel-row{font-size:11px}.pedal-tray{height:129px;gap:55px;padding-bottom:10px}.pedal{height:119px}.brake-pedal .pedal-face{width:94px;height:49px}.accelerator-pedal .pedal-face{height:75px;width:45px}.pedal-title{font-size:12px}.pedal-title kbd{font-size:10px}.pedal-status{font-size:12px}.cockpit .quick-actions>span,.cockpit .quick-actions>button,.cockpit .teaching-note{font-size:10px}.arena-keyboard{gap:15px;font-size:10px}.cockpit .assists label{min-height:37px}}@media(min-width:621px)and (max-height:800px){.cockpit .control-heading h2{font-size:12px}.cockpit-controls{margin-top:9px}.cockpit .steer-reading{height:22px;margin-bottom:4px}.cockpit .wheel-area{height:154px}.cockpit .wheel{width:154px;height:154px}.shifter-label{margin-bottom:12px}.cockpit .wheel-caption{margin-top:4px;margin-bottom:5px}.cockpit .center-button{padding:4px}.gear-description{margin-top:10px;padding-top:6px;padding-bottom:6px}.vehicle-response{margin:9px 0}.vehicle-response>svg{height:84px;width:82px}.vehicle-response{grid-template-columns:82px minmax(0,1fr)}.pedal-tray{height:105px}.pedal{height:101px}.brake-pedal .pedal-face{height:39px}.accelerator-pedal .pedal-face{height:59px}.pedal-status{margin-top:6px}.cockpit .control-divider{margin:12px 0}.cockpit .assists label{min-height:28px}}@media(prefers-reduced-motion:reduce){.gear-description.shifted{animation:none}.gear-knob,.pedal-face{transition:none}}.zoom-button{width:66px;font-size:11px;font-weight:500;color:#6c829f;padding:0 7px;white-space:nowrap}.collision-recovery{position:fixed;z-index:35;left:252px;right:25px;bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;background:#fffaf6f5;backdrop-filter:blur(14px);border:1px solid #edcdb7;border-radius:14px;box-shadow:0 10px 50px #63442e25,0 0 0 5px #fff9f080}.recovery-message{display:flex;align-items:center;gap:12px;min-width:0}.recovery-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;color:#bf835c;background:#fae9d9;font-size:27px}.recovery-message strong{font-size:15px;font-weight:600;color:#795c48}.recovery-message p{font-size:11px;color:#ad927c;margin:3px 0 0}.recovery-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.recovery-actions>button{min-height:43px;padding:10px 14px;border-radius:8px;border-color:#e4d9ce;font-size:11px;background:#fff;color:#8e7b69}.recovery-actions>.recovery-primary{background:#3478ed;color:#fff;border:1px solid #3478ed;box-shadow:0 4px 10px #3478ed2a;font-size:15px;font-weight:600;min-height:49px;padding:11px 20px}.recovery-actions>.recovery-primary:hover{background:#286ade}.recovery-primary kbd{font-size:10px;border-color:#91b7f0;background:#ffffff20;color:#fff;margin-left:9px;font-weight:400}.has-collision main{padding-bottom:125px}#feedback-dialog.collision-feedback{max-width:485px;padding:35px 32px 28px}#feedback-dialog.collision-feedback .feedback-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}#feedback-dialog.collision-feedback #feedback-action{grid-column:1/-1;grid-row:1;min-height:54px;font-size:17px;font-weight:600;box-shadow:0 4px 12px #3478ed25}#feedback-dialog.collision-feedback .small-button{font-size:12px;min-height:40px;padding:8px 10px}@media(min-width:1650px){.collision-recovery{left:285px;right:45px}}@media(max-width:1200px){.collision-recovery{left:215px;right:20px;padding:16px 18px;gap:12px}.recovery-message strong{font-size:13px}.recovery-message p{font-size:10px}.recovery-actions{gap:7px}.recovery-actions>button{font-size:10px;padding:9px 10px}.recovery-actions>.recovery-primary{font-size:14px;padding:10px 14px}.recovery-primary kbd{display:none}}@media(max-width:1000px){.collision-recovery{left:193px;right:17px;gap:10px;flex-wrap:wrap}.recovery-message{flex:1}.recovery-actions{margin-left:auto}.recovery-actions>button:last-child{display:none}.recovery-message strong{font-size:12px}.recovery-icon{width:33px;height:33px;font-size:22px}}@media(max-width:820px){.collision-recovery{left:17px;right:17px}}@media(max-width:620px){.collision-recovery{left:11px;right:11px;bottom:11px;padding:15px;gap:12px;flex-direction:column;align-items:stretch;border-radius:12px}.recovery-message strong{font-size:14px}.recovery-message p{font-size:10px}.recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.recovery-actions>.recovery-primary{grid-column:1/-1;min-height:51px;font-size:17px}.recovery-primary kbd{display:inline}.recovery-actions>button:last-child{display:block}.recovery-actions>button{min-height:36px}.has-collision main{padding-bottom:230px}}.center-feedback{position:absolute;z-index:8;top:42%;left:50%;transform:translate(-50%,-50%);width:min(350px,88%);padding:23px 18px 20px;text-align:center;background:#ffffffed;border:2px solid #8ab8a4;border-radius:17px;box-shadow:0 12px 48px #43695d30,0 0 0 7px #e4f4eb60;backdrop-filter:blur(9px);pointer-events:none;animation:center-appear .18s ease-out}.center-check{display:flex;align-items:center;justify-content:center;margin:0 auto 10px;width:47px;height:47px;border-radius:50%;background:#e3f3eb;color:#40866c;font-size:30px;font-weight:500}.center-feedback strong{display:block;font-size:27px;color:#356e5a;letter-spacing:1px;font-weight:650;line-height:1.4}.center-feedback p{font-size:11px;color:#7b9b8c;margin:9px 0 0;line-height:1.8}.center-state{font-size:9px;color:#92a0b0;margin-left:auto;white-space:nowrap}.cockpit.is-centered .center-state{color:#498c70;background:#edf7f1;padding:2px 6px;border-radius:4px}.cockpit .control-heading{gap:6px}.cockpit .control-heading h2{white-space:nowrap}.cockpit.center-confirmed .vehicle-response{border-color:#8bbba5;background:#eef8f2;box-shadow:0 0 0 3px #8bbba51c}.cockpit.is-centered #response-front-left rect,.cockpit.is-centered #response-front-right rect{fill:#53977b}.cockpit.is-centered .front-wheel-mini i{background:#53977b}.cockpit .vehicle-response{transition:background .15s,border-color .15s,box-shadow .15s}.cockpit .wheel-caption{white-space:nowrap;font-size:9px}@keyframes center-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:1000px){.center-feedback strong{font-size:22px}.center-feedback{padding:18px 12px}.center-feedback p{font-size:10px}.center-state{font-size:8px}.cockpit .control-heading h2{font-size:12px}.cockpit .wheel-caption{font-size:8px}.cockpit .control-heading>.cockpit-state{font-size:8px!important;padding:2px 5px}}@media(max-width:620px){.center-feedback{padding:17px 10px}.center-feedback strong{font-size:23px}.center-check{width:37px;height:37px;font-size:25px;margin-bottom:7px}.cockpit .wheel-caption,.center-state{font-size:10px}.cockpit .control-heading h2{font-size:14px}}@media(prefers-reduced-motion:reduce){.center-feedback{animation:none}}.center-feedback{top:23%}.cockpit .wheel{transition:transform 45ms linear}@media(prefers-reduced-motion:reduce){.cockpit .wheel{transition:none}}.shifter-assembly{height:118px}.cockpit .gear-selector{height:96px}.shifter-caption{font-size:10px;color:#6d829e}.arena-legend .end-legend{font-weight:600}.end-legend.front{color:#996d0f}.end-legend.rear{color:#c23c4b}.arena-legend .legend-car{background:#4b7d82}.vehicle-response #response-car>rect:first-of-type{fill:#43777d;stroke:#274d53}.vehicle-response #response-car>path:first-of-type{fill:#b0d2d6}.vehicle-response #response-car>rect:nth-of-type(2){fill:#203940}.brand{margin-bottom:26px}.brand-icon{flex-shrink:0}.brand-title{display:block;font-size:17px;letter-spacing:.5px;line-height:1.35}.brand small{font-size:9px;letter-spacing:.4px;margin-top:4px}@media(max-width:1000px){.brand-title{font-size:15px}.brand small{font-size:8px;letter-spacing:0}}.cockpit-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:13px 0 15px}.shortcut-tile,.shortcut-guide{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:61px;border:1px solid #d9e5f5;border-radius:8px;background:#f0f5fd;padding:7px 4px;color:#365f96}.shortcut-tile>span{display:flex;align-items:center;gap:4px}.shortcut-tile kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:23px;padding:0 5px;background:#fff;border:1px solid #b9cee9;border-bottom-width:3px;border-radius:5px;color:#245794;font-size:13px;font-weight:700;line-height:1.2}.shortcut-tile b{font-size:10px;font-weight:600;color:#4e6c91}.shortcut-tile i{font-size:10px;font-style:normal}.shortcut-tile.gas{background:#eaf5f1;border-color:#cde3db}.shortcut-tile.gas kbd{color:#25735c;border-color:#abd0c1}.shortcut-tile.stop{background:#fff2eb;border-color:#efd9cd}.shortcut-tile.stop kbd{color:#aa5a36;border-color:#dfbaaa}.shortcut-tile.key-active{background:#dbeaff;border-color:#78a6e3;box-shadow:0 0 0 2px #6798dc22}.shortcut-tile.stop.key-active{background:#fbe3d6;border-color:#d99976}.shortcut-tile.gas.key-active{background:#cfecdf;border-color:#70af93}.shortcut-guide{background:#fff;border:1px dashed #c5d4e7;font-size:16px;font-weight:600;color:#6683a5}.shortcut-guide span{font-size:10px;font-weight:500}.cockpit .wheel-caption{font-size:10px;color:#58749b}.cockpit .wheel-caption kbd,.cockpit .center-button kbd{font-size:12px;font-weight:700;background:#edf4ff;border-color:#b6cdea;color:#3269af;min-width:23px;display:inline-block;text-align:center}.cockpit .center-button{border-color:#c4d8f1;color:#376aa9;font-size:11px;font-weight:600}.cockpit .pedal-title{font-size:12px;font-weight:600;color:#496583}.cockpit .pedal-title kbd{font-size:11px;font-weight:700;border-color:#b3c7df;background:#fff;color:#2e5e97}.cockpit .pedal-alt{font-size:11px;font-weight:600}.cockpit .teaching-note{font-size:9px;color:#8395a9}.cockpit .shifter-caption{color:#58749b;font-weight:500}.arena-keyboard{color:#5b7394}.arena-keyboard kbd{font-weight:650;color:#3567a5;border-color:#bfd0e6}#onboarding-dialog{max-width:730px;padding:24px 32px 20px;text-align:left;border:1px solid #d5e2ef;border-radius:20px}#onboarding-dialog::backdrop{background:#25364f80;backdrop-filter:blur(5px)}.onboarding-eyebrow{font-size:11px;color:#6e8aac;letter-spacing:1px;font-weight:600}#onboarding-dialog h2{font-size:29px;letter-spacing:0;margin:10px 0 7px;color:#273f60;line-height:1.35}.onboarding-intro{font-size:12px!important;line-height:1.7!important;color:#73859c!important;margin:0!important}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 12px}.onboarding-grid>div{border:1px solid #e0e8f2;border-radius:10px;background:#f6f9fd;padding:10px 14px}.onboarding-grid kbd{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:29px;padding:2px 9px;background:#fff;border:1px solid #b8cde7;border-bottom:3px solid #b8cde7;border-radius:6px;color:#2d649f;font-size:15px;font-weight:700;line-height:1}.onboarding-grid h3{font-size:13px;margin:6px 0 3px;color:#3f5b7f;font-weight:650}.onboarding-grid p{font-size:11px!important;line-height:1.75!important;color:#7a8b9f!important;margin:0!important}.onboarding-grid .intro-gas{background:#f0f8f4;border-color:#d6e9df}.onboarding-grid .intro-gas kbd{color:#30765d;border-color:#b2d4c5}.onboarding-grid .intro-brake{background:#fff5ee;border-color:#f0ded0}.onboarding-grid .intro-brake kbd{color:#a56d40;border-color:#e2c4ad}.onboarding-footnote{font-size:10px;line-height:1.8;color:#8a99aa;margin:0 0 10px}.onboarding-primary{display:block;width:100%;min-height:46px;padding:10px 16px;border-radius:9px;background:#3478ed;border-color:#3478ed;color:#fff;font-size:14px;font-weight:600}.onboarding-primary:hover{background:#2869d6}.onboarding-note{display:block;text-align:center;font-size:9px;color:#94a2b3;line-height:1.6;margin-top:10px}.builder-panel{padding:17px 18px 12px;border-top:1px solid #e3eaf1;border-bottom:1px solid #dae5ee;background:#f6f9fc}.builder-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.builder-heading strong{font-size:13px;font-weight:650;color:#395c81}.builder-heading p{font-size:10px;color:#8a9bae;margin:4px 0 0;line-height:1.6}.builder-primary{flex-shrink:0;background:#3478ed;border:1px solid #3478ed;color:#fff;padding:9px 13px;border-radius:8px;font-size:12px;font-weight:600}.builder-primary:hover{background:#2869d6}.editor-palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0 11px}.editor-palette>button{display:grid;grid-template-columns:34px 1fr;column-gap:6px;align-items:center;padding:9px 7px;border:1px solid #dce5ee;border-radius:8px;text-align:left;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 2px 3px #395f7b04}.editor-palette svg{width:34px;height:29px;grid-row:1/3;pointer-events:none}.editor-palette span{font-size:12px;color:#4d6985;font-weight:600;white-space:nowrap}.editor-palette small{font-size:8px;color:#9aa8b5;line-height:1.5;white-space:nowrap}.editor-palette>button:hover,.editor-palette>button.armed{background:#eaf3ff;border-color:#7fa9df;box-shadow:0 0 0 2px #76a7e419}.editor-palette>button:active{cursor:grabbing}.editor-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.editor-tools>span{font-size:10px;color:#69829d}.editor-tools>div{display:flex;gap:5px}.editor-tools button{border:1px solid #d5e0ec;padding:4px 7px;font-size:10px;color:#5b7695;border-radius:5px;min-height:27px}.editor-save-note{font-size:8px;color:#9baaba;margin:8px 0 0}.editor-practice{display:flex;align-items:center;justify-content:space-between;gap:14px}.editor-practice strong{display:block;font-size:12px;color:#476c8d}.editor-practice span{display:block;font-size:9px;color:#8da0b3;margin-top:3px}.editor-practice button{font-size:11px;padding:7px 12px;border:1px solid #bcd0e6;color:#4b719c;border-radius:7px;flex-shrink:0}.editor-badge{position:absolute;bottom:12px;left:14px;pointer-events:none;padding:5px 9px;background:#ffffffdf;border:1px solid #b6cbdc;border-radius:6px;font-size:10px;font-weight:500;color:#67859d}.has-live-editor #arena{touch-action:none}.is-editing .view-label{color:#869ead}.drag-proxy{position:fixed;z-index:100;pointer-events:none;background:#fff;border:1px solid #9dbbdb;border-radius:8px;padding:9px 13px;box-shadow:0 7px 25px #24496925;color:#4e7698;font-size:14px}@media(max-width:1200px){.editor-palette>button{grid-template-columns:27px 1fr;padding:8px 5px;column-gap:4px}.editor-palette svg{width:27px}.editor-palette span{font-size:11px}.editor-palette small{font-size:7px}.builder-panel{padding:13px 12px 10px}.builder-heading strong{font-size:12px}.builder-heading p{font-size:9px}.editor-tools>span{font-size:9px}.shortcut-tile,.shortcut-guide{min-height:56px}.shortcut-tile kbd{font-size:12px;min-width:21px}.shortcut-tile b,.shortcut-guide span{font-size:9px}}@media(max-width:620px){#onboarding-dialog{padding:25px 17px 19px;width:calc(100% - 22px)}#onboarding-dialog h2{font-size:25px}.onboarding-grid{gap:8px;margin:16px 0}.onboarding-grid>div{padding:11px 10px}.onboarding-grid p{font-size:10px!important}.onboarding-grid h3{font-size:12px}.onboarding-grid kbd{font-size:13px;padding:1px 6px;min-width:27px;height:27px}.onboarding-intro{font-size:11px!important}.onboarding-footnote{font-size:9px}.onboarding-note{font-size:8px}.cockpit-shortcuts{gap:8px}.shortcut-tile,.shortcut-guide{min-height:63px}.shortcut-tile b,.shortcut-guide span{font-size:11px}.shortcut-tile kbd{font-size:14px}.builder-panel{padding:13px 11px}.builder-heading{gap:9px}.builder-heading strong{font-size:11px}.builder-heading p{font-size:9px}.builder-primary{font-size:11px;padding:9px}.editor-palette{gap:6px}.editor-palette>button{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 3px}.editor-palette svg{width:34px;height:24px}.editor-palette small{font-size:7px}.editor-tools{gap:8px}.editor-tools>span{font-size:10px}.editor-tools button{font-size:11px;padding:5px 8px;min-height:30px}.editor-badge{font-size:8px;bottom:8px;left:8px}.editor-practice strong{font-size:11px}.editor-practice span{font-size:8px}.cockpit .wheel-caption{font-size:11px}.cockpit .teaching-note{font-size:10px}}.live-builder{padding:13px 16px 10px}.live-builder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-builder-heading strong{font-size:12px;color:#4d7195;font-weight:650}.live-builder-heading>span{font-size:9px;color:#789581;white-space:nowrap}.live-builder .editor-palette{margin:11px 0 9px}.live-builder .editor-tools{gap:6px}.live-builder .editor-tools>span{font-size:9px}.live-builder .editor-tools button{font-size:9px;padding:4px 6px}.live-builder .editor-save-note{margin-top:6px}.random-panel{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f0f6f3;border-top:1px solid #dfebe3;border-bottom:1px solid #d7e7dc;padding:15px 17px}.random-panel strong{font-size:13px;color:#507763;font-weight:650}.random-panel p{font-size:10px;color:#82998b;line-height:1.8;margin:4px 0 0;max-width:330px}.random-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.random-actions select{width:112px;padding:8px 6px;border:1px solid #cfddd5;border-radius:6px;color:#5c7d6a;background:#fff;font:inherit;font-size:10px}.random-actions button{padding:8px 11px;border:1px solid #4e8d70;background:#4e8d70;color:#fff;font-size:11px;font-weight:600;border-radius:7px;white-space:nowrap}.random-actions button:hover{background:#3e7c5e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1200px){.random-panel{align-items:flex-start;flex-direction:column;gap:10px}.random-actions{width:100%;justify-content:space-between}.random-actions select{flex:1;max-width:220px}.live-builder{padding:12px}.live-builder-heading>span{font-size:8px}}@media(max-width:620px){.live-builder-heading{gap:6px}.live-builder-heading strong{font-size:11px}.live-builder-heading>span{font-size:8px}.live-builder .editor-tools>span{font-size:9px}.live-builder .editor-tools button{font-size:10px;padding:5px 7px}.random-panel{padding:12px}.random-panel strong{font-size:12px}.random-panel p{font-size:10px}.random-actions select,.random-actions button{font-size:11px}}main{padding-top:20px}.page-header{margin-bottom:18px}.page-header h1{font-size:18px;letter-spacing:0;margin:0;font-weight:650}.brand{margin-bottom:25px}.practice-footer{justify-content:flex-end}.sidebar-bottom{padding-top:13px}.scene-intro{margin-bottom:12px}body{font-size:15px}.page-header h1{font-size:21px;line-height:1.5}.page-header{gap:16px;flex-wrap:wrap}.help-button{font-size:14px;min-height:34px;flex-shrink:0}.brand-title{font-size:18px}.nav-heading{font-size:14px}.nav-heading span,.nav-group-label{font-size:12px}.scene-link{font-size:15px;line-height:1.5;white-space:normal;gap:8px;padding:10px 9px;min-height:43px}.scene-link .number{font-size:12px;flex:0 0 22px}.scene-link>span:not(.number):not(.complete){min-width:0;overflow-wrap:break-word}.scene-link .complete{flex-shrink:0}.progress-title{font-size:12px}.scene-intro h2{font-size:23px}.scene-meta{font-size:12px}.difficulty{font-size:12px;white-space:normal;text-align:center;max-width:38%}.mode-tabs{gap:16px;flex-wrap:wrap}.mode-tabs button{font-size:14px;min-height:32px}.arena-toolbar{flex-wrap:wrap;padding:10px 14px;gap:6px 14px}.stage-status{font-size:13px;white-space:normal}.zoom-button{font-size:14px;min-width:72px;min-height:34px}.arena-keyboard{font-size:13px;gap:9px 16px;padding:11px}.arena-keyboard kbd{font-size:13px;min-width:24px}.arena-keyboard>span{gap:5px;white-space:nowrap}.arena-legend{font-size:12px;gap:9px 14px;padding:11px 14px}.goal-card{align-items:flex-start;flex-wrap:wrap;gap:9px 12px}.goal-card>div{flex:1 1 200px;min-width:0}.goal-card h3{font-size:15px}.goal-card p{font-size:14px;line-height:1.75;color:#657b94}.small-button{font-size:13px;min-height:34px}.hint-card p{font-size:14px}.hint-card .hint-explanation{font-size:13px}.replay-title strong{font-size:15px}.replay-source button{font-size:13px;min-height:32px}.replay-controls{flex-wrap:wrap;gap:10px}.replay-controls input{flex:1 1 120px}.replay-controls>span{font-size:12px}.speed-button{font-size:13px;min-width:30px;min-height:32px}.play-button{width:34px;height:34px;font-size:12px}.practice-footer .text-button,.practice-footer a{font-size:12px;line-height:1.7}.replay-title{flex-wrap:wrap}.cockpit .control-heading{flex-wrap:wrap;gap:7px}.cockpit .control-heading h2{font-size:16px;flex:1 1 135px;white-space:normal}.center-state{font-size:12px}.cockpit .control-heading>.cockpit-state{font-size:12px!important;padding:3px 7px}.shortcut-tile,.shortcut-guide{min-height:73px;padding:9px 5px;gap:6px}.shortcut-tile kbd{font-size:16px;min-height:28px;min-width:27px}.shortcut-tile b,.shortcut-guide span{font-size:13px;line-height:1.5}.shortcut-tile i{font-size:12px}.cockpit-shortcuts{gap:7px}.cockpit .steer-reading{height:auto;min-height:30px;flex-wrap:wrap;gap:3px 8px}.cockpit .steer-reading>span{font-size:14px;white-space:normal;text-align:left}.cockpit .steer-reading strong{font-size:18px}.cockpit .steer-reading strong span{font-size:14px}.cockpit .wheel-caption{font-size:12px;white-space:normal;line-height:1.8;margin:7px 0}.cockpit .wheel-caption kbd,.cockpit .center-button kbd{font-size:14px}.cockpit .center-button{font-size:14px;min-height:37px;padding:7px}.shifter-label{font-size:13px;margin-bottom:13px}.shifter-caption{font-size:12px;line-height:1.8;min-height:44px;overflow-wrap:break-word}.cockpit .gear-selector button strong{font-size:21px}.gear-knob strong{font-size:19px}.gear-description{flex-wrap:wrap;gap:4px 10px;padding:10px;font-size:14px}.gear-description b{font-size:14px}.gear-description>span{font-size:13px;line-height:1.65}.response-copy>strong{font-size:15px;line-height:1.6}.response-copy>p{font-size:13px;line-height:1.7;color:#7a8da4}.cockpit .front-wheel-row,.cockpit .front-wheel-row strong{font-size:12px}.cockpit .front-wheel-row{flex-wrap:wrap;gap:6px}.pedal-tray{min-height:132px;height:auto;padding-bottom:10px;gap:20px}.pedal{height:120px}.cockpit .pedal-title{font-size:14px;height:auto;min-height:23px;line-height:1.6}.cockpit .pedal-title kbd,.cockpit .pedal-alt{font-size:13px}.brake-pedal{width:115px}.accelerator-pedal{width:98px}.pedal-status{font-size:13px;line-height:1.7;text-align:center;min-height:23px}.pedal-status>span:last-child{min-width:0}.cockpit .quick-actions{flex-wrap:wrap;gap:5px 12px}.cockpit .quick-actions>span,.cockpit .quick-actions>button{font-size:12px}.cockpit .section-label{font-size:15px}.cockpit .assists label{font-size:14px;min-height:39px;gap:12px}.assists label>span{padding-right:15px}.live-explanation{font-size:14px}.reset-actions{flex-wrap:wrap;gap:8px 12px}.reset-actions button{font-size:13px;min-height:34px}.live-builder-heading{flex-wrap:wrap;gap:5px 12px}.live-builder-heading strong{font-size:15px}.live-builder-heading>span{font-size:12px;white-space:normal;line-height:1.7}.editor-palette>button{grid-template-columns:30px minmax(0,1fr);padding:10px 6px}.editor-palette span{font-size:14px;white-space:normal}.editor-palette small{font-size:11px;white-space:normal}.live-builder .editor-tools>span{font-size:12px;line-height:1.7}.editor-tools>div{flex-wrap:wrap;gap:6px}.live-builder .editor-tools button{font-size:12px;min-height:34px;padding:5px 9px}.editor-save-note{font-size:11px}.random-panel{flex-wrap:wrap;gap:10px 16px}.random-panel>div:first-child{min-width:0}.random-panel strong{font-size:15px;line-height:1.7}.random-actions{flex-wrap:wrap;min-width:0;gap:8px}.random-actions select{font-size:14px;width:138px;min-height:38px;max-width:100%}.random-actions button{font-size:14px;min-height:38px}#onboarding-dialog h2{font-size:30px}.onboarding-grid h3{font-size:16px}.onboarding-grid p{font-size:14px!important;line-height:1.8!important}.onboarding-intro{font-size:15px!important}.onboarding-footnote{font-size:13px}.onboarding-note{font-size:12px}.onboarding-primary{font-size:16px}.onboarding-grid kbd{font-size:17px}dialog>p,.help-grid p{font-size:14px;line-height:1.8}.help-grid h3{font-size:16px}.source-note,.shortcut-note{font-size:13px!important}.dialog-primary{font-size:16px}.dialog-close{min-width:36px;min-height:36px}.center-feedback p{font-size:14px}.arena-toast{font-size:14px;line-height:1.7}.recovery-message p{font-size:13px}.recovery-actions>button{font-size:13px}.recovery-actions>.recovery-primary{font-size:17px}@media(min-width:821px)and (max-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) 316px;gap:16px}.cockpit{padding:17px 14px}.editor-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit .wheel-area{height:165px}.cockpit .wheel{width:165px;height:165px}}@media(max-width:820px){.workspace{display:flex;flex-direction:column;gap:20px}.practice-column,.control-panel{width:100%}.cockpit-controls{grid-template-columns:minmax(0,1fr) 90px;gap:20px;max-width:420px;margin:16px auto 0}.cockpit .wheel-area{height:190px}.cockpit .wheel{width:190px;height:190px}.cockpit .steer-reading{margin-bottom:8px}.shifter-station{padding-top:5px}.vehicle-response{grid-template-columns:90px minmax(0,1fr)}.pedal-tray{gap:45px}.random-panel{flex-direction:row;align-items:center}.random-actions{width:auto}.mobile-select select,.mobile-select label{font-size:15px}}@media(max-width:620px){.page-header h1{font-size:19px}.scene-intro h2{font-size:21px}.cockpit{padding:18px}.cockpit-shortcuts{gap:8px}.shortcut-tile b,.shortcut-guide span{font-size:13px}.shortcut-tile kbd{font-size:16px}.editor-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-palette>button{display:grid;grid-template-columns:34px minmax(0,1fr);text-align:left;padding:10px}.editor-palette span{font-size:14px}.editor-palette small{font-size:11px}.random-panel{align-items:stretch;flex-direction:column}.random-actions{width:100%}.random-actions select{flex:1;max-width:none;width:0;min-width:120px}.arena-legend{font-size:11px}.onboarding-grid{grid-template-columns:1fr}.onboarding-grid p,.onboarding-intro{font-size:14px!important}.onboarding-footnote{font-size:13px}.onboarding-note{font-size:12px}.help-grid{grid-template-columns:1fr}.cockpit .vehicle-response{grid-template-columns:82px minmax(0,1fr);gap:8px;padding:8px}.vehicle-response>svg{width:82px;height:92px}.recovery-message strong{font-size:15px}.recovery-message p{font-size:13px}}@media(min-width:821px){.cockpit-controls{grid-template-columns:minmax(0,1fr) 88px;gap:12px}.shifter-caption{word-break:keep-all}}.drive-setting{margin:14px 0 12px;padding:12px 13px;border:1px solid #d3e3dc;background:#f0f7f3;border-radius:9px}.creep-option{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#426c57;cursor:pointer;min-height:28px}.creep-option input{width:19px;height:19px;accent-color:#448168;flex-shrink:0;margin:0}.drive-setting p{font-size:12px;color:#6f897b;line-height:1.7;margin:5px 0 0}.creep-option:has(input:disabled){opacity:.6;cursor:default}.mission-panel{padding:10px 12px;background:#f5f8fc;border-bottom:1px solid #dce5ef}.mission-panel ol{display:flex;gap:7px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.mission-panel li{display:flex;align-items:center;gap:6px;flex:1 1 95px;min-width:0;padding:7px;border:1px solid #dce4ee;border-radius:7px;font-size:12px;color:#8090a3;background:#fff;line-height:1.5}.mission-panel li>b{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#edf1f6;color:#8797aa;font-size:12px}.mission-panel li>span{min-width:0;flex:1;overflow-wrap:break-word}.mission-panel li>small{font-size:11px;font-weight:650}.mission-panel li.current{border-color:#76a2e4;color:#316bb9;background:#edf4ff}.mission-panel li.current>b{background:#3478ed;color:#fff}.mission-panel li.done{border-color:#b5d5c4;color:#53826b;background:#f2f9f5}.mission-panel li.done>b{background:#509575;color:#fff}.random-actions{flex-wrap:wrap;width:100%}.random-actions select{flex:1 1 130px;max-width:none;width:auto}.random-panel{align-items:flex-start;flex-direction:column;gap:10px}.random-panel strong{font-size:14px}.random-actions select#random-density{flex:0 1 125px}.random-actions button{flex-shrink:0}@media(max-width:620px){.mission-panel li{flex-basis:105px}.random-actions select{min-width:100px}.random-actions select#random-density{flex:1 1 105px}}
