/* Driving School: a compact illustrated field guide, with no animated chrome. */
.driving-school-dialog{width:min(1000px,calc(100vw - 32px));max-width:1000px;height:min(790px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d7ddd0;border-radius:18px;background:#f7f4e9;color:#173c34;box-shadow:0 26px 100px #071e2b80;overflow:hidden}
.driving-school-dialog[open]{display:flex;flex-direction:column}
.driving-school-dialog::backdrop{background:#102f32b5;backdrop-filter:blur(5px)}
.school-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 20px;border-bottom:1px solid #173c3424;flex:none}
.school-header .eyebrow{margin:0 0 7px;color:#557467;font-size:10px;letter-spacing:2px}
.school-header h2{margin:0;font-size:32px;line-height:1.1;letter-spacing:-.7px;font-weight:650}
.school-header p:not(.eyebrow){margin:8px 0 0;font-size:13px;line-height:1.5;color:#46665a}
.school-header .icon-button{width:44px;min-width:44px;height:44px;border:1px solid #173c342b;border-radius:50%;color:#173c34}
.school-body{display:grid;grid-template-columns:190px minmax(0,1fr);flex:1;min-height:0}
.school-topics{padding:18px 10px;border-right:1px solid #173c3424;overflow-y:auto;overscroll-behavior:contain}
.school-topic{display:flex;align-items:center;gap:10px;min-height:46px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#48655c;text-align:left;font-size:12px;line-height:1.3;cursor:pointer}
.school-topic+.school-topic{margin-top:3px}.school-topic.is-current{background:#173c34;color:#fff8e4;font-weight:700}.school-topic-number{font-size:10px;opacity:.7;font-variant-numeric:tabular-nums}
.school-topic:hover{background:#dfe8dc;color:#173c34}.school-topic.is-current:hover{background:#245649;color:#fff8e4}
.school-mobile-jump{display:none}
.school-lesson{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 28px 26px;scrollbar-gutter:stable}
.school-figure{position:relative;margin:0 0 22px;overflow:hidden;border:1px solid #173c3418;border-radius:12px;background:#e8ecdf}
.school-figure img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain;aspect-ratio:2/1}
.school-figure figcaption{padding:6px 12px;text-align:right;font-size:7px;letter-spacing:1.4px;font-weight:700;color:#547260}
.school-step{font-size:10px;letter-spacing:1.6px;color:#647859;margin:0 0 8px;font-weight:700}
.school-copy h3{font-size:26px;line-height:1.17;letter-spacing:-.5px;margin:0 0 10px;color:#173c34}
.school-copy h3:focus{outline:none}.school-lead{font-size:14px;line-height:1.6;margin:0 0 16px;color:#446354}
.school-points{list-style:none;padding:0;margin:0;display:grid;gap:11px}.school-points li{font-size:13px;line-height:1.65;color:#3d5d50;padding-left:13px;border-left:2px solid #c4d4b8}.school-points strong{color:#173c34;font-weight:700}
.school-keyboard{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:19px}.school-key{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.3;color:#496859}.school-key kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:27px;padding:4px 6px;border:1px solid #b7c8b5;border-bottom-width:3px;border-radius:5px;background:#fffdf3;color:#173c34;font-family:inherit;font-size:10px;font-weight:700;white-space:nowrap}
.school-task{margin:18px 0 0;padding:11px 13px;border-radius:7px;background:#e8e0c9;border-left:3px solid #ad713a;color:#4f563c;font-size:12px;line-height:1.6;font-weight:600}
.school-selected-ability{padding:15px 17px;border:1px solid #bdcfb8;border-radius:9px;background:#e8eedf}.school-selected-label{display:block;color:#597347;font-size:9px;letter-spacing:1.5px;margin-bottom:5px}.school-selected-ability>strong{font-size:12px;font-weight:600;color:#45654d}.school-selected-ability h4{font-size:22px;margin:8px 0 7px;line-height:1.2}.school-selected-ability p{font-size:13px;line-height:1.6;margin:0;color:#3e5e4e}
.school-vehicle-list{margin-top:12px;border-bottom:1px solid #173c3424}.school-vehicle-list summary{font-size:12px;font-weight:700;cursor:pointer;min-height:44px;padding:13px 0}.school-vehicle{border-top:1px solid #173c341a;padding:11px 0}.school-vehicle strong{font-size:12px;line-height:1.5}.school-vehicle p,.school-small{font-size:12px;line-height:1.6;color:#4b6758;margin:6px 0 0}.school-small{margin-top:13px}
.school-sound-check{margin-top:16px}.school-sound-check[hidden]{display:none}.school-sound-check .button{min-height:44px;height:auto;padding:11px 15px;font-size:12px;border-color:#769480;color:#173c34;background:#fffdf4}.school-sound-check p{font-size:12px;line-height:1.6;color:#4b6758;margin:9px 0 0}
.school-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #173c3424;flex:none;background:#f7f4e9}.school-progress{margin:0;font-size:10px;line-height:1.5;letter-spacing:.2px;color:#4b6758}.school-page-actions{display:flex;gap:7px}.school-footer .button{min-height:44px;height:auto;min-width:0;padding:11px 15px;font-size:12px;line-height:1.4;white-space:normal}.school-footer .secondary{color:#173c34;border-color:#bdcaba;background:transparent}.school-footer .primary{background:#173c34;color:#fff7df;border-color:#173c34}.school-footer .button:disabled{opacity:.35;cursor:default}.school-footer [hidden]{display:none!important}
.driving-school-dialog button:focus-visible,.driving-school-dialog select:focus-visible,.school-vehicle-list summary:focus-visible{outline:3px solid #c58838;outline-offset:3px}
.school-practice-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.school-practice-tools[hidden],.school-action-summary[hidden]{display:none}.school-practice-tools>*{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #7b9980;border-radius:5px;font-size:10px;line-height:1.4}.school-practice-tools .done,.school-practice-tools [data-complete="true"]{background:#dce9d4;border-color:#7d9d72;color:#254d31}.lesson-card .school-action-summary{font-size:11px;line-height:1.5;margin-top:8px}
@media(max-width:750px){.driving-school-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:13px}.school-header{padding:17px 18px 15px}.school-header h2{font-size:27px}.school-header .eyebrow{font-size:8px}.school-header p:not(.eyebrow){font-size:12px}.school-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.school-topics{display:none}.school-mobile-jump{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 18px;border-bottom:1px solid #173c341c}.school-mobile-jump label{font-size:10px;color:#4b6758}.school-mobile-jump select{height:44px;min-width:0;max-width:70%;padding:7px 28px 7px 10px;border:1px solid #bdcaba;border-radius:6px;background:#f7f4e9;color:#173c34;font-size:12px}.school-lesson{padding:17px 18px 21px}.school-figure{margin-bottom:17px}.school-figure img{max-height:200px}.school-copy h3{font-size:23px}.school-lead{font-size:13px;line-height:1.6}.school-points li{font-size:12px}.school-footer{grid-template-columns:1fr 1fr;gap:10px;padding:12px 17px}.school-progress{grid-column:1/-1;font-size:9px}.school-page-actions{justify-content:flex-start}.school-footer .button{font-size:11px;padding:9px 12px}.school-practice,.school-return{justify-self:stretch}}
@media(max-width:380px){.school-header{padding:14px}.school-header h2{font-size:24px}.school-header p:not(.eyebrow){font-size:11px;max-width:190px}.school-header .icon-button{width:44px;min-width:44px}.school-mobile-jump{padding:6px 14px;gap:5px}.school-mobile-jump label{font-size:9px}.school-mobile-jump select{font-size:11px;max-width:68%;padding-left:7px}.school-lesson{padding:14px}.school-copy h3{font-size:22px}.school-figure figcaption{font-size:6px}.school-footer{padding:10px 12px;gap:7px}.school-footer .button{padding:8px 9px;font-size:10px}.school-page-actions{gap:5px}}
@media(max-height:500px) and (orientation:landscape){.driving-school-dialog{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);width:calc(100vw - 20px)}.school-header{padding:10px 16px;align-items:center}.school-header .eyebrow{font-size:7px;margin-bottom:3px}.school-header h2{font-size:23px}.school-header p:not(.eyebrow){display:none}.school-body{grid-template-columns:150px minmax(0,1fr);grid-template-rows:1fr}.school-topics{display:block;padding:8px}.school-topic{font-size:10px;gap:6px;padding:8px;min-height:44px}.school-mobile-jump{display:none}.school-lesson{padding:12px 17px}.school-figure{float:right;width:43%;margin:0 0 14px 15px}.school-figure img{max-height:170px}.school-figure figcaption{font-size:5px;letter-spacing:.8px;bottom:5px;right:5px}.school-copy h3{font-size:21px}.school-lead{font-size:12px}.school-points li{font-size:11px;line-height:1.65}.school-step{font-size:8px}.school-footer{grid-template-columns:minmax(0,1fr) auto auto;padding:8px 13px;gap:9px}.school-progress{grid-column:auto;max-width:130px;font-size:8px}.school-footer .button{font-size:10px;padding:8px 11px}.school-keyboard,.school-task{clear:both}.school-sound-check .button{font-size:11px}}

#school-scroll-hint{display:block;margin-top:3px;color:#946631;font-size:9px;font-weight:700}#school-scroll-hint[hidden]{display:none}
@media(max-width:750px) and (max-height:640px) and (orientation:portrait){.school-header{padding:11px 14px}.school-header p:not(.eyebrow){display:none}.school-header h2{font-size:24px}.school-header .eyebrow{font-size:7px;margin-bottom:5px}.school-mobile-jump{padding:5px 14px}.school-lesson{padding:12px 14px}.school-figure{margin-bottom:12px}.school-figure img{max-height:102px}.school-copy h3{font-size:21px}.school-lead{font-size:12px;margin-bottom:11px}.school-step{font-size:8px;margin-bottom:6px}.school-footer{padding:9px 12px}.school-figure figcaption{padding:3px 9px}}
