/* Flight school: an optical bench with a working calculation sheet beside it. */
.school-wrap{max-width:1520px;margin:auto;padding:0 64px}.flight-school{padding:100px 0 72px;background:#101014}.school-heading,.deck-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:42px}.school-heading h2,.deck-heading h2{font-size:clamp(52px,6.5vw,92px);line-height:.98}.school-heading .eyebrow,.deck-heading .eyebrow{color:var(--muted);margin-bottom:22px}.school-intro{max-width:390px;font-size:15px;line-height:1.8}.school-intro p:last-of-type{color:var(--muted)}.course-record{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:24px 0;font:10px/1.6 var(--mono)}#school-progress{white-space:nowrap;color:var(--orange)}#save-status{margin-left:auto;color:var(--muted);text-align:right;font-size:9px}.qualification-track{display:flex;gap:5px}.qualification-track i{display:block;width:24px;height:5px;background:#36313e}.qualification-track .qualified{background:var(--orange)}.school-nav{display:grid;grid-template-columns:repeat(8,1fr);border:1px solid var(--line);margin-bottom:30px}.school-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;border:0;border-right:1px solid var(--line);padding:17px 14px;background:transparent;color:var(--muted);text-align:left;font:11px/1.4 var(--mono)}.school-nav button:last-child{border-right:0}.school-nav button:hover{background:#27232e;color:var(--ink)}.school-nav button[aria-current=true]{background:var(--orange);color:#100e10}.school-nav .nav-number{font-size:21px;line-height:1}.school-nav small{font-size:9px;opacity:.8}.learning-console{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);align-items:start;border:1px solid var(--line)}.lesson-side{min-width:0;background:#eeece5;color:#201d24;border-right:1px solid var(--line)}.lesson-switch{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #d0cbc2;background:#dfdcd4}.lesson-switch button{border:0;background:transparent;color:#625a65;padding:20px 12px;font:11px var(--mono)}.lesson-switch button[aria-pressed=true]{background:#eeece5;color:#201d24;box-shadow:inset 0 3px #ff6333}.lesson-switch button:hover{color:#b52d08}#lesson-panel{padding:36px 32px 32px}.lesson-kicker{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.5px;color:#706574;margin-bottom:15px}.lesson-side h3{font:400 37px/1.12 var(--display);text-transform:uppercase;letter-spacing:.3px;margin-bottom:20px}.lesson-goal{font-size:15px;line-height:1.7;color:#49404d;border-bottom:1px solid #cbc5bd;padding-bottom:20px}.lesson-copy p{font-size:14px;line-height:1.85}.formula-card{border-left:3px solid #df522a;padding:13px 0 13px 16px;margin:18px 0;background:#e5e1d8}.formula-card code{font:13px/1.8 var(--mono);display:block;overflow-wrap:anywhere;padding-right:10px;color:#25202a}.formula-card p{font-size:11px;line-height:1.65;color:#635769;margin:7px 10px 0 0}.worked-example{border-top:1px solid #c9c2b9;border-bottom:1px solid #c9c2b9;margin:28px 0}.worked-example summary{padding:18px 0;font:11px var(--mono);cursor:pointer}.worked-example p,.worked-example li{font-size:13px;line-height:1.8}.worked-example ol{padding-left:22px}.worked-answer{border-top:1px dotted #aca3a0;padding-top:12px;font-weight:bold}.watch-for{padding:0;list-style:none;font-size:12px;line-height:1.8;color:#6d4040}.watch-for li{padding:6px 0 6px 18px;position:relative}.watch-for li::before{content:'↳';position:absolute;left:0}.lesson-sources{font:10px/1.7 var(--mono);margin:25px 0}.lesson-sources a{display:block;margin:7px 0;color:#65576a}
/* Zero-specificity exclusions let light-panel and action states override the base. */
.academy-button,.flight-school button:not(:where(.school-nav button,.lesson-switch button)),.flight-deck button{border:1px solid #59515f;border-radius:0;background:transparent;color:var(--ink);padding:11px 16px;font:11px/1.5 var(--mono);min-height:44px;transition:background .15s,color .15s}.flight-school .lesson-side button{color:#27202d;border-color:#a49b9f}.flight-school button.action,.flight-deck button.action{background:var(--orange);color:#140f12;border-color:var(--orange)}.flight-school button:hover,.flight-deck button:hover{background:#36303e;color:var(--ink)}.flight-school .lesson-side button:hover{background:#d8d1c9;color:#19161b}.flight-school .lesson-side button.action:hover,.flight-deck button.action:hover{background:#ff8d68;color:#140f12}.flight-school button:disabled,.flight-deck button:disabled{opacity:.4;cursor:default}.lesson-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.instrument-side{position:sticky;top:18px;padding:24px 26px;background:#0e0e13;min-width:0}.instrument-top{font:9px/1.5 var(--mono);display:flex;align-items:center;justify-content:space-between;gap:15px;letter-spacing:1px;color:#aaa5b7}.live-indicator{color:#d7d3df;white-space:nowrap}.live-indicator::before{content:'';display:inline-block;width:5px;height:5px;background:var(--orange);border-radius:50%;margin-right:8px}#school-diagram{width:100%;height:auto;display:block;margin:16px 0 6px;overflow:hidden}.instrument-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding:18px 0}.instrument-readout small{display:block;font:8px/1.7 var(--mono);color:#aaa5b7;letter-spacing:.4px;text-transform:uppercase}.instrument-readout strong{display:block;font:22px/1.5 var(--mono);font-weight:400;overflow-wrap:anywhere}.instrument-readout span{font:9px var(--mono);color:#aaa5b7}.instrument-caption{font-size:12px;line-height:1.8;color:#aaa5b7;min-height:42px}.instrument-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin:23px 0}.instrument-control{font:10px/1.6 var(--mono);display:block;min-width:0}.instrument-control>span{display:flex;justify-content:space-between;gap:10px;color:#c3bdcd}.instrument-control output{color:#f4f4ee;text-align:right;white-space:nowrap}.instrument-control input{width:100%;display:block;accent-color:var(--orange);margin:12px 0;min-height:24px}.instrument-transport{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:20px}.frame-legend{font:9px/1.85 var(--mono);color:#8e8799;margin:22px 0 0}.instrument-lock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;font:10px/1.7 var(--mono);color:#aaa5b7}.school-utilities{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start;margin:30px 0}.calculator{border:1px solid var(--line)}.calculator summary{padding:17px 20px;cursor:pointer;font:11px var(--mono)}.calculator summary span{float:right;color:#aaa5b7;font-size:9px}.calculator>div{padding:5px 20px 20px}.calculator label{display:block;font:10px/1.6 var(--mono);color:#aaa5b7}.calculator form{display:flex;gap:8px;margin:12px 0}.calculator input{min-width:0;flex:1}.calculator output{display:block;color:var(--orange);font:20px/1.5 var(--mono);overflow-wrap:anywhere}.calculator p{font:10px/1.8 var(--mono);color:#aaa5b7;margin:12px 0 0}.practice-controls{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:12px;font:11px/1.6 var(--mono);color:#c3bdcd}.practice-controls input{accent-color:var(--orange);margin-right:8px}.mastery-explainer{font:10px/1.9 var(--mono);color:#8e8799;max-width:900px;margin-bottom:0}.practice-topline{display:flex;justify-content:space-between;gap:15px;font:9px/1.7 var(--mono);margin-bottom:22px;color:#6e6374}.practice-topline strong{font-weight:400;color:#ad3719}.question-prompt{font-size:15px;line-height:1.85}.question-givens{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cbc5be;border:1px solid #cbc5be;margin:23px 0}.given{background:#e7e3db;padding:11px 14px;min-width:0}.given span{display:block;font:9px/1.6 var(--mono);color:#6d6374}.given strong{font:13px/1.7 var(--mono);font-weight:400;overflow-wrap:anywhere}.answer-field{display:block;margin:18px 0;font:11px/1.7 var(--mono)}.answer-field label{display:block;margin-bottom:7px}.answer-field small{display:block;font:10px/1.7 var(--mono);color:#706574;margin-top:5px}.answer-input-wrap{display:flex;gap:12px;align-items:center}.answer-input-wrap input,.answer-input-wrap select{width:100%;min-width:0}.answer-input-wrap>span{white-space:nowrap;min-width:40px}.flight-school input:not([type=range]):not([type=checkbox]),.flight-school select,.flight-deck input{padding:12px;border:1px solid #63566d;border-radius:0;background:#18141e;color:var(--ink);font:13px/1.5 var(--mono);min-height:44px}.flight-school .lesson-side input,.flight-school .lesson-side select{background:#faf8f0;color:#25202c;border-color:#afa6ab}.flight-school select{color-scheme:light}.answer-actions,.question-help{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.question-help{padding-top:16px;border-top:1px solid #cbc5be}.feedback{font-size:13px;line-height:1.8;padding:14px 16px;margin:18px 0;background:#e0dbd0;border-left:3px solid #817086}.feedback:empty{display:none}.feedback.success{border-color:#36744a;background:#dce6d6}.feedback.error{border-color:#ad442e;background:#ebd8cc}.feedback strong{display:block}.feedback ul{padding-left:18px;margin:8px 0}.hint-list,.solution-steps{font-size:13px;line-height:1.9;padding-left:24px}.practice-footer{font:10px/1.8 var(--mono);color:#706574;margin-top:25px}.flight-deck{padding:90px 0;background:#18141d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.deck-heading>p{max-width:320px;color:#c3bdcd;font-size:15px}.deck-model-note{font:10px/1.9 var(--mono);color:#aaa5b7;margin:25px 0 0;max-width:1150px}.deck-model-note strong{color:#f4f4ee;font-weight:400}.mission-header{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:20px 25px;border:1px solid var(--line);background:#241e2b}.mission-header h3{font:26px var(--display);text-transform:uppercase}.mission-header p{font:10px/1.8 var(--mono);margin:5px 0 0;color:#aaa5b7;max-width:720px}.mission-badge{font:10px var(--mono);color:#ff9674;white-space:nowrap}.mission-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);border:1px solid var(--line);border-top:0;background:#0c0c11}.mission-map-side{padding:25px;min-width:0}.mission-map{width:100%;display:block;aspect-ratio:640/460}.mission-map-key{display:flex;gap:20px;justify-content:space-between;font:9px/1.6 var(--mono);color:#aaa5b7;margin-top:15px;flex-wrap:wrap}.mission-map-key b{color:var(--orange);font-weight:400}.mission-map-key i{color:#b8addb;font-style:normal}.mission-controls{padding:24px;border-left:1px solid var(--line);min-width:0}.mission-telemetry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}.mission-telemetry>div{background:#100e16;padding:16px 19px;min-width:0}.mission-telemetry small{display:block;font:9px/1.8 var(--mono);color:#aaa5b7}.mission-telemetry strong{font:20px/1.8 var(--mono);font-weight:400;overflow-wrap:anywhere}.mission-telemetry span{font:10px var(--mono);color:#aaa5b7}.mission-controls h4{font:10px/1.7 var(--mono);letter-spacing:1px;margin:0 0 16px;color:#d4cbdf}.mission-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mission-controls label{display:block;font:10px/1.8 var(--mono);color:#aaa5b7}.mission-controls input{width:100%;margin-top:6px}.mission-controls .full-field{grid-column:1/-1}.mission-control-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.mission-controls .burn-preview{font:10px/1.8 var(--mono);color:#c5b9d2;margin:10px 0 24px}.mission-coast{border-top:1px solid var(--line);padding-top:22px}.mission-coast>div{display:flex;gap:8px;align-items:flex-end}.mission-coast label{flex:1;min-width:0}.mission-coast button{flex-shrink:0}.mission-result{padding:20px 25px;margin:0;border:1px solid var(--line);border-top:0;font:12px/1.8 var(--mono);background:#241d2d}.mission-result.success{background:#163e2c;color:#d7f4df}.mission-result.error{background:#3e241f;color:#ffbea4}.mission-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:18px 0}.mission-tools{display:flex;gap:8px;flex-wrap:wrap}.mission-detail{border-top:1px solid var(--line);padding:17px 0}.mission-detail summary{font:11px var(--mono);cursor:pointer}.mission-detail p,.mission-detail li{font:11px/1.9 var(--mono);color:#c3bdcd}.mission-detail>div{padding-top:18px}.mission-detail table{border-collapse:collapse;width:100%;margin:10px 0 20px;font:11px/1.8 var(--mono)}.mission-detail th,.mission-detail td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}.mission-detail th{color:#aaa5b7;font-weight:400}.state-table td{overflow-wrap:anywhere}.mission-log{max-height:180px;overflow:auto;padding-left:24px}.mission-log li{margin:7px 0}.mission-reference{padding:20px;border:1px solid #614739;background:#251c19;margin:15px 0}.mission-reference h4{margin:0 0 12px;font:12px var(--mono)}.mission-reference p{font-size:12px}.mission-note{font:10px/1.8 var(--mono);color:#aaa5b7}.mission-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mission-state-label{color:#9f94ae;font:9px var(--mono);margin-bottom:8px}.school-fallback{padding:25px;border:1px solid var(--orange)}
@media(min-width:1600px){.lesson-copy p{font-size:15px}.instrument-side{padding:30px}.lesson-side h3{font-size:42px}#lesson-panel{padding:40px}}
@media(max-width:1100px){.school-wrap{padding:0 32px}.school-nav{grid-template-columns:repeat(4,1fr)}.school-nav button:nth-child(4){border-right:0}.school-nav button:nth-child(-n+4){border-bottom:1px solid var(--line)}.school-nav button{padding:14px;gap:5px}.school-nav .nav-number{font-size:17px}.learning-console{grid-template-columns:1fr 1fr}#lesson-panel{padding:28px 22px}.instrument-side{padding:22px 17px}.instrument-readout strong{font-size:17px}.mission-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,1fr)}.mission-controls{padding:20px}.mission-map-side{padding:15px}.instrument-transport button{font-size:9px!important;padding:10px!important}}
@media(max-width:780px){.school-wrap{padding:0 22px}.flight-school,.flight-deck{padding:55px 0}.school-heading,.deck-heading{display:block}.school-intro,.deck-heading>p{max-width:100%;margin-top:25px}.school-heading h2,.deck-heading h2{font-size:64px}.course-record{gap:12px;flex-wrap:wrap}.qualification-track i{width:18px}#save-status{flex-basis:100%;margin:0;text-align:left}.school-nav{margin-bottom:20px}.school-nav button{font-size:10px;padding:13px 9px}.learning-console{grid-template-columns:1fr}.instrument-side{position:relative;top:auto;grid-row:1;border-bottom:1px solid var(--line);padding:18px}.lesson-side{border-right:0}.instrument-side svg{max-height:300px}#lesson-panel{padding:28px 24px}.instrument-controls{margin:14px 0;gap:14px}.instrument-caption{min-height:0;margin-bottom:12px}.instrument-transport{padding-top:14px}.frame-legend{margin-top:14px;font-size:8px}.instrument-readouts{padding:12px 0}.instrument-readout strong{font-size:19px}.school-utilities{grid-template-columns:1fr;gap:15px}.practice-controls{padding:0 0 5px}.mission-layout{grid-template-columns:1fr}.mission-controls{border-left:0;border-top:1px solid var(--line)}.mission-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-header{padding:18px;align-items:flex-start;flex-direction:column;gap:10px}.mission-map{max-height:400px}.mission-map-side{padding:18px}.mission-detail th,.mission-detail td{padding:8px 5px;font-size:10px}.mission-plan-grid{grid-template-columns:1fr}.mission-result{padding:18px;font-size:11px}.lesson-side h3{font-size:34px}.instrument-top{font-size:8px}.mastery-explainer{font-size:9px}.calculator summary span{float:none;display:block;margin:7px 0 0 17px}.mission-note{font-size:9px}}
@media(max-width:380px){.school-wrap{padding:0 12px}.school-heading h2,.deck-heading h2{font-size:54px}.school-nav{grid-template-columns:repeat(2,1fr)}.school-nav button:nth-child(2n){border-right:0}.school-nav button:nth-child(-n+6){border-bottom:1px solid var(--line)}.instrument-controls{grid-template-columns:1fr}.instrument-lock{display:block}.instrument-lock button{margin-top:10px}#lesson-panel{padding:24px 18px}.answer-input-wrap>span{min-width:0}.given{padding:10px}.instrument-top{letter-spacing:0}.school-nav button{flex-direction:row;align-items:center;gap:12px}.school-nav small{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.flight-school *,.flight-deck *{scroll-behavior:auto!important;transition:none!important}}

.lesson-side a.academy-button{color:#27202d;text-decoration:none;display:inline-flex;align-items:center}.lesson-side a.academy-button:hover{background:#d8d1c9}

.instrument-readouts[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-field [aria-invalid=true]{border-color:#b03a1a!important;box-shadow:inset 3px 0 #b03a1a}

.instrument-settings>summary{display:none;cursor:pointer;font:11px/1.7 var(--mono);padding:12px 0;color:#f4f4ee}.instrument-settings>summary span{display:block;color:#aaa5b7;font-size:9px;margin-left:15px}.instrument-control input[type=range]{background:transparent;height:24px}.instrument-control input[type=range]::-webkit-slider-runnable-track{height:3px;background:#77707d}.instrument-control input[type=range]::-webkit-slider-thumb{margin-top:-10px}.instrument-control input[type=range]::-moz-range-track{height:3px;background:#77707d}
@media(max-width:780px){.instrument-settings>summary{display:list-item;list-style-position:inside;border-top:1px solid var(--line)}.instrument-settings:not([open]){margin-bottom:0}.instrument-settings[open]>summary{color:var(--orange)}}

.instrument-mode-note{font:8px/1.8 var(--mono);color:#aaa5b7;letter-spacing:.25px;margin:12px 0 0}

/* The same open-book sheet stays available while the learner enters answers. */
#formula-reference{position:sticky;top:12px;z-index:3;margin:24px 0;background:#e5e1d8;border:1px solid #aaa0a6;box-shadow:0 5px 12px #201d2414}
#formula-reference>summary{cursor:pointer;padding:13px 15px;font:12px/1.5 var(--mono);color:#25202a;min-height:44px}
#formula-reference>summary span{float:right;font-size:9px;color:#766775;letter-spacing:1px}
#formula-reference>p{margin:0;padding:0 15px 10px;font:11px/1.6 var(--mono);color:#635769}
.formula-jump{display:flex;align-items:center;gap:12px;padding:0 15px 12px;font:11px var(--mono)}
.flight-school .formula-jump select{flex:1;min-width:0;min-height:36px;padding:6px 10px;font-size:11px}
.formula-list{position:relative;max-height:min(24dvh,190px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#a89aa8 #eeece5;border-top:1px solid #bfb5b9;background:#f6f3ec;padding:0 15px}
.formula-list h4{margin:0;padding:16px 0 10px;font:11px/1.5 var(--mono);letter-spacing:1px;color:#766775}
.reference-equation{padding:10px 0 13px;border-top:1px solid #d7cfd0}
.reference-equation code{display:block;font:12px/1.8 var(--mono);overflow-wrap:anywhere;color:#25202a}
.reference-equation p{font:11px/1.7 var(--mono);color:#635769;margin:7px 0 0}
#answer-form input,#answer-form select{scroll-margin-top:360px}
@media(max-width:780px){#formula-reference{top:6px;margin:20px -8px}.formula-list{max-height:min(21dvh,160px)}#formula-reference>summary{padding:11px 12px}#formula-reference>summary span{font-size:8px;letter-spacing:0}.formula-jump{padding:0 12px 10px}.formula-list{padding:0 12px}#formula-reference>p{padding:0 12px 8px}}

/* A stale tab must not overwrite a newer lesson or flight record. */
.storage-conflict{position:fixed;z-index:1000;bottom:20px;left:50%;transform:translateX(-50%);width:min(740px,calc(100% - 32px));padding:20px 24px;background:#eeece5;color:#201d24;border:2px solid #ff6333;box-shadow:0 12px 50px #0009;display:flex;align-items:center;gap:24px}.storage-conflict[hidden]{display:none}.storage-conflict p{margin:0;font-size:13px;line-height:1.7}.storage-conflict strong{display:block}.storage-conflict button{flex-shrink:0;border:1px solid #ff6333;background:#ff6333;color:#140f12;padding:12px 15px;min-height:44px;font:11px/1.5 var(--mono)}.storage-conflict button:hover{background:#ff8d68}@media(max-width:600px){.storage-conflict{display:block;padding:16px}.storage-conflict button{margin-top:12px}}
