/* Lloyd's Lear 24XR hub (/lear) and the NASA observatory chapter (/lear/observatory).
   Shares the homepage tokens from /style.css: --ink, --navy, --paper, --muted, --line, --red, --copper, --green,
   --serif (Newsreader) and --sans (Manrope). Light readable surfaces for the text; one deep-navy panel for the diagram. */
.lear-page{background:var(--paper);color:var(--ink)}
.lear-page h2{font-family:var(--serif);font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.lear-page h2 em,.lear-page h1 em{color:#657a8b}
.lear-page h3{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.01em}
.lear-page .section{padding:70px 7%}
.lear-page .section-top{margin-bottom:34px}
.lear-page p{overflow-wrap:break-word}
.lear-page a.text-link{color:var(--ink)}
.lear-page .button{gap:26px}
.lear-page .button span{font-size:21px}
.lear-page .educational{font-size:10.5px;letter-spacing:.14em;font-weight:700;color:var(--copper);text-transform:uppercase}

/* ---------- hero ---------- */
.lear-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:56px 7% 60px;background:#fff;border-bottom:1px solid var(--line)}
.lear-hero .eyebrow{margin-bottom:22px}
.lear-hero h1{font-family:var(--serif);font-size:clamp(46px,6.2vw,92px);line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.lede{font-size:18px;line-height:1.65;color:#3a4a56;margin-top:22px;max-width:560px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin-top:30px}
.identity-strip{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:26px;font-size:13px;color:#3a4a56;align-items:baseline}
.identity-strip .reg{font-weight:800;letter-spacing:.08em;color:var(--ink)}
.poster{display:block;border:1px solid var(--line);background:linear-gradient(180deg,#fbfbfb,#f0f2f3);padding:14px 14px 0;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.poster:hover{transform:translateY(-3px);box-shadow:0 34px 60px -40px rgba(16,28,41,.45)}
.poster img{aspect-ratio:1600/1000;object-fit:cover;mix-blend-mode:multiply}
.poster-caption{display:flex;justify-content:space-between;gap:16px;padding:12px 0 14px;font-size:11px;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--line);margin-top:6px}
.poster-caption .tag{background:var(--navy);color:#fff;padding:3px 8px;font-size:10px;letter-spacing:.12em;font-weight:700;white-space:nowrap;align-self:start}
.figure-note{font-size:12px;line-height:1.7;color:#4f5e68;margin-top:12px;max-width:640px}

/* ---------- the three entries ---------- */
.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}
.entry{display:flex;flex-direction:column;gap:12px;padding:26px 26px 24px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:border-color .2s,transform .3s var(--ease)}
.entry:hover{border-color:var(--copper-accent);transform:translateY(-2px)}
.entry .entry-num{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--copper)}
.entry h3{font-size:clamp(24px,2.2vw,30px);margin-top:2px}
.entry p{font-size:14.5px;line-height:1.6;color:#3a4a56;flex:1}
.entry .deck-cta{padding-top:6px}
.entry:hover .deck-cta{color:var(--red)}

/* ---------- Meet N24SA: verified / reported / unverified ---------- */
.knowing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.knowing>div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--line);padding:22px 22px 24px}
.knowing>div.is-verified{border-top-color:var(--green)}
.knowing>div.is-reported{border-top-color:var(--copper-accent)}
.knowing>div.is-unverified{border-top-color:#8597a4}
.knowing h3{font-size:24px;margin:10px 0 12px}
.knowing p{font-size:14.5px;line-height:1.65;color:#2f3e4a}
.knowing p+p{margin-top:12px}
.knowing .small-note{margin-top:14px}
.chip{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;line-height:1.3;white-space:nowrap;vertical-align:middle}
.chip.verified{color:#1f5a47;background:#e4f1ea}
.chip.reported{color:#7a3d12;background:#f7e8dc}
.chip.unverified{color:#3a4a56;background:#e6ebee}
.not-said{margin-top:26px;padding:22px 24px;background:#eef2f5;border-left:3px solid var(--navy);max-width:900px}
.not-said p{font-size:14.5px;line-height:1.7;color:var(--ink)}
.not-said .lesson-actions{margin-top:16px;justify-content:flex-start;gap:26px;flex-wrap:wrap}

/* ---------- the sourced timeline ---------- */
.chronicle{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.chronicle>li{display:grid;grid-template-columns:190px 1fr;gap:16px 44px;padding:30px 0 32px;border-bottom:1px solid var(--line)}
.chronicle .when{font-family:var(--serif);font-size:30px;line-height:1.05;letter-spacing:-.02em}
.chronicle .when small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.09em;color:var(--muted);margin-top:8px;text-transform:uppercase;font-weight:600}
.chronicle h3{font-size:clamp(23px,2.2vw,29px);margin-bottom:12px}
.chronicle .chip{margin-left:10px}
.chronicle p{font-size:15.5px;line-height:1.75;color:#2f3e4a;max-width:760px}
.chronicle p+p{margin-top:10px}
.chronicle .sources{margin-top:14px;font-size:12.5px;line-height:1.8;color:#4f5e68;max-width:760px}
.chronicle .sources a{text-decoration:underline;text-underline-offset:3px}
.chronicle .sources a:hover{color:var(--red)}
.chronicle .text-link{margin-top:12px;font-size:13px}
.aside-note{margin:34px 0 0;padding:26px 30px;background:#fff;border:1px solid var(--line);max-width:760px;display:grid;gap:8px}
.aside-note strong{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.15}
.aside-note p{font-size:14.5px;line-height:1.7;color:#2f3e4a}

/* ---------- sources & provenance drawer ---------- */
.drawer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;max-width:1100px}
.drawer summary{cursor:pointer;padding:18px 0;font-size:15px;font-weight:650;display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary::after{content:'+';font-size:26px;font-weight:300;line-height:1;color:var(--red)}
.drawer[open] summary::after{content:'−'}
.drawer summary .count{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.04em}
.drawer .drawer-body{padding:4px 0 30px;display:grid;gap:22px}
.drawer .legend{font-size:13px;line-height:1.8;color:#3a4a56;max-width:820px}
.drawer .legend strong{font-weight:700;color:var(--ink)}
.drawer .correction{font-size:13px;color:#3a4a56}
.drawer .correction a{text-decoration:underline;text-underline-offset:3px;font-weight:600;color:var(--ink)}
.drawer .correction a:hover{color:var(--red)}
.claims{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.claims li{display:grid;grid-template-columns:110px 1fr;gap:8px 20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.7}
.claims li>.chip{align-self:start;justify-self:start}
.claims .claim{font-weight:650;color:var(--ink)}
.claims .about{color:#2f3e4a;margin-top:2px}
.claims .refs{color:#4f5e68;font-size:12.5px;margin-top:4px}
.claims .refs a{text-decoration:underline;text-underline-offset:3px}
.claims .refs a:hover{color:var(--red)}
.source-index{list-style:none;margin:0;padding:0;columns:2;column-gap:40px;font-size:12.5px;line-height:1.7;color:#2f3e4a}
.source-index li{break-inside:avoid;padding:6px 0;border-bottom:1px solid #eef1f3}
.source-index a{text-decoration:underline;text-underline-offset:3px;font-weight:600;color:var(--ink)}
.source-index a:hover{color:var(--red)}
.source-index .loc{display:block;color:#4f5e68}
.drawer h3{font-size:22px;margin-top:6px}

/* ---------- observatory: the atmosphere diagram (dark panel) ---------- */
.lab-panel{background:var(--navy);color:#eef2f5;padding:54px 7% 58px}
.lab-panel .eyebrow{color:#bdcbd8;margin-bottom:14px}
.lab-panel h2{color:#fff}
.lab-panel h2 em{color:#a4b8c8}
.lab-panel .lede{color:#d5dee6}
.lab-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(300px,1fr);gap:36px;align-items:start;margin-top:30px}
.obs-figure{margin:0;background:#0b1520;border:1px solid #2b3d4f}
.obs-figure svg{display:block;width:100%;height:auto;font-family:var(--sans)}
.obs-figure figcaption{padding:12px 16px 14px;font-size:12px;line-height:1.7;color:#c4d0da;border-top:1px solid #2b3d4f}
.obs-controls{display:grid;gap:18px;align-content:start}
.obs-controls label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#bdcbd8}
.obs-readout{font-family:var(--serif);font-size:40px;line-height:1;letter-spacing:-.02em;color:#fff;margin-top:6px}
.obs-readout small{display:block;font-family:var(--sans);font-size:13px;letter-spacing:0;color:#c4d0da;margin-top:8px;line-height:1.6}
.obs-slider{width:100%;height:44px;margin:0;background:transparent;accent-color:#e0a072;cursor:pointer}
.obs-slider:focus-visible{outline:3px solid #8fc4ea;outline-offset:4px}
.obs-help{font-size:12px;line-height:1.6;color:#c4d0da;margin-top:-8px}
.obs-presets{display:flex;flex-wrap:wrap;gap:8px}
.obs-presets button{min-height:44px;padding:9px 14px;border:1px solid #4a5d70;color:#eef2f5;font-size:13px;line-height:1.35;text-align:left;background:#132230}
.obs-presets button:hover{border-color:#e0a072;color:#fff}
.obs-presets button[aria-pressed=true]{background:#e0a072;color:#101c29;border-color:#e0a072;font-weight:700}
.obs-presets button:focus-visible{outline:3px solid #8fc4ea;outline-offset:3px}
.obs-vapor{display:grid;gap:8px;padding:16px 18px;background:#132230;border:1px solid #2b3d4f}
.obs-vapor .label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#bdcbd8}
.obs-vapor .track{height:14px;background:#0b1520;border:1px solid #2b3d4f;overflow:hidden}
.obs-vapor .fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8fc4ea,#c9def0);transition:width .35s var(--ease)}
.obs-vapor .word{font-family:var(--serif);font-size:24px;color:#fff;line-height:1.2}
.obs-vapor .word small{display:block;font-family:var(--sans);font-size:12px;color:#c4d0da;margin-top:4px}
.obs-layer-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.obs-layer-list li{display:flex;gap:10px;align-items:baseline;font-size:13px;line-height:1.5;color:#c4d0da}
.obs-layer-list li[aria-current=true]{color:#fff}
.obs-layer-list li[aria-current=true] strong{color:#e0a072}
.obs-layer-list strong{font-weight:700;color:#eef2f5;white-space:nowrap}
/* svg parts */
.obs-aircraft{transition:transform .35s var(--ease)}
.obs-beam{transition:transform .35s var(--ease)}
.obs-text{fill:#c4d0da;font-size:12px}
.obs-text.strong{fill:#fff;font-weight:700}
.obs-tick{stroke:#3d5065;stroke-width:1}
.obs-mark{stroke:#7fc8a9;stroke-width:1.2;stroke-dasharray:4 4}
.obs-mark-text{fill:#9fdcc0;font-size:11.5px;font-weight:600}

/* ---------- observatory: telescope facts + mount schematic ---------- */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin:0;padding:0;border-top:1px solid var(--line)}
.facts>div{padding:20px 0;border-bottom:1px solid var(--line)}
.facts dt{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--copper);margin-bottom:8px}
.facts dd{margin:0;font-size:15px;line-height:1.7;color:#2f3e4a}
.facts dd .loc{display:block;margin-top:6px;font-size:12px;color:#4f5e68}
.mount-figure{margin:34px 0 0;background:#fff;border:1px solid var(--line);padding:18px 18px 12px;max-width:640px}
.mount-figure svg{display:block;width:100%;height:auto;font-family:var(--sans)}
.mount-figure figcaption{font-size:12px;line-height:1.7;color:#4f5e68;margin-top:10px}
.mount-text{fill:#14212c;font-size:12px}
.mount-line{stroke:#14212c;stroke-width:1.4;fill:none}
.mount-thin{stroke:#60707a;stroke-width:1;fill:none}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;align-items:start}
.two-col p{font-size:16px;line-height:1.75;color:#2f3e4a}
.two-col p+p{margin-top:14px}
.two-col .sources{margin-top:14px;font-size:12.5px;line-height:1.8;color:#4f5e68}
.two-col .sources a{text-decoration:underline;text-underline-offset:3px}
.plain{padding:22px 26px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--navy);font-size:15px;line-height:1.7;color:var(--ink);max-width:820px}
.plain strong{font-weight:700}
.era{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:820px}
.era li{display:grid;grid-template-columns:150px 1fr;gap:6px 30px;padding:20px 0;border-bottom:1px solid var(--line)}
.era .when{font-family:var(--serif);font-size:24px;line-height:1.1;letter-spacing:-.01em}
.era p{font-size:15px;line-height:1.7;color:#2f3e4a}
.era .sources{font-size:12.5px;color:#4f5e68;margin-top:6px;line-height:1.7}
.era .sources a{text-decoration:underline;text-underline-offset:3px}

/* ---------- observatory: knowledge challenge ---------- */
.challenge{max-width:860px}
.challenge .question{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.challenge .question-num{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--copper);margin-bottom:8px}
.challenge .question-prompt{font-size:clamp(22px,2.1vw,27px);margin-bottom:16px}
.challenge .lesson-options{margin-top:0}
.challenge .lesson-option{min-height:54px}
.challenge .lesson-option[aria-pressed=true]:not(.correct):not(.incorrect){border-color:var(--navy)}
.challenge .evidence p{font-size:15px;line-height:1.8;margin-top:12px}
.challenge .evidence .lesson-source{margin-top:12px!important;font-size:13px!important;color:#3a4a56}
.challenge .evidence .lesson-source a{text-decoration:underline;text-underline-offset:3px;color:#3c617a}
.challenge .evidence blockquote{margin:12px 0 0;padding-left:16px;border-left:2px solid var(--copper-accent);font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink)}
.challenge .evidence .verdict{font-family:var(--serif);font-size:26px;line-height:1.15;color:var(--ink);margin-top:0}
.challenge-status{font-size:13px;color:var(--muted);margin-top:10px}
.challenge-done{margin-top:22px;padding:18px 22px;background:#e4f1ea;border-left:3px solid var(--green);font-size:14.5px;line-height:1.7;color:var(--ink);display:grid;gap:8px;justify-items:start}
.challenge-done .text-link{font-size:13px}
.challenge-complete{margin-top:34px;padding:30px 30px 26px;background:#fff;border:1px solid var(--line)}
.challenge-complete h3{font-size:clamp(28px,3vw,40px)}
.challenge-complete .completion-stats{margin:22px 0 18px}
.challenge-complete .completion-stats strong{font-size:54px}
.challenge-complete p{font-size:15px;line-height:1.75;color:#2f3e4a}
.share-line{display:block;width:100%;padding:12px 14px;border:1px solid #9dadb8;background:#f6f7f7;font:inherit;font-size:14px;color:var(--ink);margin-top:14px}
.challenge-complete .lesson-actions{margin-top:20px;justify-content:flex-start;gap:24px;flex-wrap:wrap}

/* ---------- responsive ---------- */
@media(max-width:1100px){.lear-hero{gap:36px;padding:44px 5% 48px}.lear-page .section{padding:60px 5%}.lab-panel{padding-inline:5%}.chronicle>li{grid-template-columns:150px 1fr;gap:12px 30px}.lab-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px}}
@media(max-width:800px){.lear-hero{grid-template-columns:1fr;padding:36px 6% 40px;gap:28px}.lear-hero h1{font-size:clamp(44px,11vw,64px)}.lede{font-size:16px}.lear-page .section{padding:48px 6%}.lab-panel{padding:44px 6% 48px}.entries,.knowing{grid-template-columns:1fr}.chronicle>li{grid-template-columns:1fr;gap:10px;padding:24px 0}.chronicle .when{font-size:26px}.chronicle .when small{display:inline;margin-left:10px}.lab-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.two-col{grid-template-columns:1fr;gap:26px}.claims li{grid-template-columns:1fr;gap:4px}.source-index{columns:1}.era li{grid-template-columns:1fr;gap:4px}.obs-readout{font-size:34px}.aside-note{padding:22px}.poster{padding:10px 10px 0}.poster-caption{flex-direction:column;gap:8px}.challenge-complete{padding:24px 20px}.drawer summary{font-size:14px}}
@media(max-width:480px){.lear-page h2{font-size:clamp(32px,9vw,40px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{justify-content:space-between}.identity-strip{font-size:12px}.chronicle .chip{margin-left:0;display:inline-block;margin-top:6px}.obs-presets button{flex:1 1 100%}.entry h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.poster,.poster:hover,.entry,.entry:hover{transition:none;transform:none}.obs-aircraft,.obs-beam,.obs-vapor .fill{transition:none}}
