:root{--school-orange:#ff6400}html{scroll-behavior:smooth}body{background:#111;color:#eee}body .school-header{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px;max-width:1440px;margin:0 auto;padding:0 46px;border-bottom:1px solid #33332f;box-sizing:border-box}body .school-brand{display:grid;grid-template-columns:25px 1fr;column-gap:11px;align-items:center;color:#eeeeea;text-decoration:none;font-size:15px;line-height:1.3;font-weight:600;letter-spacing:0}body .school-brand>span{grid-row:1/3;width:24px;height:24px;display:block;border-radius:50%;background:linear-gradient(110deg,#ff6400 50%,#ff64002b 50%)}body .school-brand small{font-size:11px;color:#a6a69e;font-weight:400;margin-top:4px}.school-header-links{display:flex;align-items:center;gap:18px;font-size:13px}.school-header-links>a{color:#b5b5ad;text-decoration:none}.school-header-links button{border:1px solid #77776b;border-radius:50%;width:32px;height:32px;min-width:32px;background:transparent;color:#eee;font:inherit;cursor:pointer}.school-nav{display:flex;gap:9px;max-width:1440px;margin:0 auto;padding:20px 46px 0;box-sizing:border-box}.school-nav a{display:flex;gap:11px;align-items:center;color:#adada5;text-decoration:none;font-size:14px;line-height:1.45;padding:13px 18px;border:1px solid #353530;border-radius:7px;background:#191918}.school-nav a span{font-size:11px;color:#929288}.school-nav a[aria-current=page]{border-color:#ff6400;color:#fff;background:#ff640012}.school-nav a[aria-current=page] span{color:#ff8738}.school-nav a:hover{border-color:#ff6400;color:#fff}.school-skip{position:fixed;top:-100px;left:15px;background:#ff6400;color:#111;padding:14px;z-index:100}.school-skip:focus{top:12px}.school-header a:focus-visible,.school-nav a:focus-visible,.school-promo a:focus-visible,.school-learning a:focus-visible{outline:2px solid #ff6400;outline-offset:4px}
.school-learning{margin:32px 0 28px;padding:26px 0;border-top:1px solid #33332f;max-width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#bdbdb5}.school-learning h2{font-size:25px;font-weight:500;letter-spacing:-.5px;line-height:1.35;margin:0 0 16px;color:#eee}.school-learning h3{font-size:18px;font-weight:500;line-height:1.5;margin:24px 0 10px;color:#e3e3dc}.school-learning p{font-size:15px;line-height:1.85;max-width:930px;margin:0 0 12px;color:#bdbdb5}.school-learning a{color:#ff914b;text-decoration:underline;text-underline-offset:3px}.school-promo{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr);gap:40px;background:#0b0b0b;border:1px solid #363632;border-radius:12px;padding:36px 38px;margin:0 0 12px;color:#eee}.school-promo>div{min-width:0}.school-promo .school-caption{font-size:11px;letter-spacing:1px;color:#aaa9a1;line-height:18px;margin:0;min-height:18px}.school-promo h2{font-size:36px;font-weight:500;letter-spacing:-1px;line-height:1.18;margin:20px 0 20px;color:#eee}.school-promo h2 em{font-family:Georgia,serif;font-weight:400;color:#ff6400}.school-promo p{font-size:15px;line-height:1.85;color:#c4c4bc;margin:0 0 16px}.school-promo .school-course{color:#ededdf}.school-promo .school-start{color:#ff8536;font-weight:500}.school-selected{border-left:1px solid #343430;padding-left:36px}.school-promo .school-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 18px;min-height:48px;border-radius:6px;background:#ff6400;color:#111;font-size:14px;font-weight:600;text-decoration:none;margin:10px 0 0}.school-promo .school-cta:hover{background:#ff8130}.school-cta>span{font-size:20px;line-height:1}.school-domain{display:block;color:#99998f;font-size:12px;margin-top:11px}.school-footer{display:flex;justify-content:space-between;gap:16px;border:0;margin:0;padding:24px 0 32px;max-width:none;font-size:12px;color:#aaa99f}.school-footer a{color:#ff914b;text-decoration:none}.school-footer a:hover{text-decoration:underline}
/* Keep the original light controls in the shared dark laboratory palette. */
.light-page{--paper:#111;--ink:#eeeeea;--muted:#aaa99f;--line:#343430;--accent:#ff6400;--accent-soft:#ff640014;--panel:#1b1b19;--green:#ff6400;color:#eee}.light-page .intro>p,.light-page .eyebrow,.light-page .control-caption{color:#adada2}.light-page .scene-observation,.light-page .light-theory,.light-page .theory-distinction,.light-page .glass-note{background:#1c1e19;border-color:#343a2e}.light-page .scene-observation p,.light-page .reflector-explanation,.light-page .reflector-hint,.light-page .orbit-help,.light-page .range-labels,.light-page .exposure-row p,.light-page .theory-intro,.light-page .term p,.light-page .theory-distinction p,.light-page .practice p,.light-page .light-theory summary small,.light-page .term-note{color:#b5b6a9}.light-page .term{background:#20211d;border-color:#3d4136}.light-page .term button,.light-page .theory-distinction button,.light-page .practice button{color:#ff9a55;border-color:#61644f}.light-page .preset{background:#22251e;border-color:#3c4133;color:#eee}.light-page .preset:hover{background:#2d3127}.light-page .preset[aria-pressed=true]{background:#ff640015;border-color:#ff6400}.light-page .preset small,.light-page .preset-number,.light-page .preset-arrow{color:#b3b9a5}.light-page #challenge-select{background:#24271f;color:#eee;border-color:#59624b}.light-page .practice button:hover{background:#303528}.light-page .control output,.light-page .position-name{color:#ffa366}.light-page dialog{background:#20211d;color:#eee}.light-page .help-note{background:#292d23;color:#bdc4ad}.light-page .theory-distinction .contrast-example{color:#b5bea7}.light-page .light-theory summary strong{color:#eee}.light-page .scene-column{background:#111}.light-page .reset-button,.light-page .softness-meter{color:#b5b7a9}
@media(max-width:1100px){body .school-header{padding:0 25px}.school-nav{padding-left:25px;padding-right:25px}.school-promo{padding:28px;gap:26px}.school-selected{padding-left:25px}.school-promo h2{font-size:30px}}@media(max-width:760px){body .school-header{height:73px;padding:0 18px;gap:12px}body .school-brand{font-size:12px;column-gap:8px;grid-template-columns:21px 1fr}body .school-brand>span{width:21px;height:21px}body .school-brand small{font-size:10px}.school-header-links{gap:9px;font-size:11px}.school-nav{padding:15px 18px 0;gap:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.school-nav a{padding:10px 7px;font-size:12px;gap:5px;flex-direction:column;align-items:flex-start;justify-content:center;min-height:67px}.school-nav a span{font-size:10px}.school-learning{padding-top:22px;margin-top:25px}.school-learning h2{font-size:22px}.school-learning h3{font-size:17px}.school-learning p{font-size:14px;line-height:1.8}.school-promo{grid-template-columns:1fr;padding:23px 19px;gap:26px}.school-promo h2{font-size:30px;margin:17px 0}.school-promo p{font-size:14px}.school-promo .school-caption{font-size:10px;letter-spacing:.6px}.school-selected{border-left:0;border-top:1px solid #343430;padding:25px 0 0}.school-selected h2 br{display:none}.school-promo .school-cta{display:flex;font-size:13px;min-height:48px}.school-footer{flex-direction:column;font-size:11px}.light-page main{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* One shared introductory overline across all three lessons. */
body .intro .eyebrow{display:block;font-family:inherit;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:1.4px;color:#aaa9a3;margin:0 0 12px;padding:0}body .intro h1{margin-top:0}@media(max-width:760px){body .intro .eyebrow{font-size:11px;letter-spacing:1.2px}}

/* A pinned scene must leave enough room to operate controls on short phones. */
@media(max-width:760px) and (max-height:600px){body .scene-column{position:static;top:auto}body .control{scroll-margin-top:20px}}

/* Supplemental lessons stay compact and readable on all three trainers. */
.school-questions details{border-top:1px solid #343430}.school-questions details:last-child{border-bottom:1px solid #343430}.school-questions summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:14px 0;font-size:16px;line-height:1.5;cursor:pointer;list-style:none}.school-questions summary::-webkit-details-marker{display:none}.school-questions summary::after{content:"+";color:#ff6400;font-size:24px;flex-shrink:0}.school-questions details[open]>summary::after{content:"−"}.school-questions summary:focus-visible{outline:2px solid #ff6400;outline-offset:4px}.school-questions .question-answer{padding:0 0 18px;max-width:920px}.school-questions .question-answer p{font-size:16px;line-height:1.8;margin:0}

@media(max-width:760px){.school-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

.school-beta{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ff640066;border-radius:5px;background:#ff640012;color:#ff8536;font-size:10px;font-weight:600;line-height:1;padding:5px 7px;letter-spacing:.06em;flex-shrink:0}body .school-footer-compact{margin-top:28px;padding:24px 0;border-top:1px solid #33332f;align-items:center}.school-footer-compact p{margin:0;font-size:13px;line-height:1.65;color:#bcbcb4}.school-footer-compact p span{color:#eee}.school-footer-links{display:flex;gap:20px;flex-wrap:wrap}.school-footer-links a{font-size:13px;min-height:44px;display:inline-flex;align-items:center}@media(max-width:600px){body .school-header-links{gap:9px}body .school-footer-compact{flex-direction:column;align-items:flex-start;gap:10px}.school-footer-links{gap:18px}}

.unified-faq .question-answer p+p{margin-top:12px}.unified-faq{margin-top:28px}

.school-brand-group{display:flex;align-items:center;gap:12px;min-width:0}body .school-header-links .school-header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;background:#ff6400;color:#111;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;line-height:1.3;text-align:center}body .school-header-links .school-header-cta:hover{background:#ff8130}@media(max-width:600px){body .school-header{height:auto;min-height:78px;flex-wrap:wrap;padding-top:14px!important;padding-bottom:14px!important;gap:12px}.school-brand-group{gap:9px}body .school-header-links .school-header-cta{font-size:12px;padding:10px 12px}}

body .school-brand{font-size:18px;line-height:1.3}body .school-brand small{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;margin-top:5px}body .school-brand small .school-beta{font-size:9px;padding:4px 6px;letter-spacing:.05em}@media(max-width:600px){body .school-brand{font-size:17px}body .school-brand small{font-size:13px}}

/* Portrait tablets: give the photograph the full row and place tools below it. */
@media (min-width:621px) and (max-width:1100px) and (orientation:portrait){
  body .lab,body .perspective-layout,body .workspace{grid-template-columns:minmax(0,1fr);gap:22px}
  body .scene-column,body .visual-column,body .viewer{position:static;height:auto;min-width:0;padding-top:0}
  body .controls,body .perspective-controls,body .workspace>aside{width:100%;min-width:0;height:auto;max-height:none;overflow:visible;box-sizing:border-box}
  body.light-page .lab{gap:0}
  body.light-page .viewport{height:clamp(430px,62vw,620px);min-height:0;max-height:none;flex:auto}
  body.light-page .controls{border-left:0;border-top:1px solid var(--line)}
  body.light-page .controls input,body.light-page .controls button,body.light-page .controls svg[tabindex]{scroll-margin-top:24px}
}

/* One invitation with both destinations, rather than two promo columns. */
.school-promo.school-promo--unified{display:block}
.school-promo--unified p{max-width:84ch}
.school-promo--unified .school-promo-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 24px}
.school-promo-actions>div{min-width:0}
@media(max-width:600px){.school-promo--unified .school-promo-actions{flex-direction:column;gap:12px}.school-promo-actions>div{width:100%}}
