/* Loaded last on every page: explicit panel themes and mobile reading layout. */
:root{--dark-text:#f5f3ee;--dark-copy:#d3dce7;--dark-muted:#bfccdc;--dark-link:#ffb18c}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,aside,figure{min-width:0}
main h1,main h2,main h3,main p,main li,main dd,figcaption{overflow-wrap:anywhere}
.orange-text{color:#b83a19}

/* Dark panels must never inherit the ink or paragraph grey of the paper theme. */
:is(.ed-card,.ed-book,.ed-banner,.ed-inset,.ed-related,.ed-book-controls,.ar-hero,.ar-note,.ar-mission,.ar-system-map,.ar-system,.photo-dialog){color:var(--dark-text)}
.ed-related,.ar-hero,.ed-table{background:#141d2a;color:var(--dark-text)}
:is(.ed-card,.ed-book,.ed-banner,.ed-inset,.ed-related,.ed-book-controls,.ar-hero,.ar-note,.ar-mission,.ar-system-map,.ar-system,.photo-dialog) :is(p,li,dd){color:var(--dark-copy)}
:is(.ed-card,.ed-book,.ed-banner,.ed-inset,.ed-related,.ed-book-controls,.ar-hero,.ar-note,.ar-mission,.ar-system-map,.ar-system) :is(h1,h2,h3,label,summary){color:var(--dark-text)}
:is(.ed-card,.ed-book,.ed-banner,.ed-inset,.ed-related,.ed-book-controls,.ar-hero,.ar-note,.ar-mission,.ar-system-map,.ar-system) .orange-text{color:var(--dark-link)}
:is(.ed-banner,.ed-inset,.ed-related,.ar-hero,.ar-note,.ar-mission,.ar-system-map,.photo-dialog) a:not(.button){color:var(--dark-link);text-decoration:underline;text-underline-offset:3px}
.ed-card h3 a{color:var(--dark-text)}
.ed-book-copy .ed-author{color:#edc9ab}
.ed-book-copy .ed-book-level,.ed-tag,.ed-book-band span:last-child,.ar-date,.ar-hero figcaption,.ar-system-map figcaption{color:var(--dark-muted)}
.ed-book-group .ed-stamp{color:#4e5965}
.ed-stamp,.ed-card-meta{color:#536171}
:is(.ed-card,.ed-banner,.ar-hero,.discover-hero) :is(.ed-stamp,.ed-card-meta){color:var(--dark-muted)}
.ed-book-controls input::placeholder{color:#becbdd;opacity:1}
.ed-book-controls #book-count,.ed-book-controls #book-empty{color:var(--dark-copy)}
.ed-table th{color:#ffd0b4}.ed-table td{color:var(--dark-copy);background:#141d2a}
.cover-copy p,.side-story p,.special-hero p{color:#e0e4e9}
.cover-copy{background:linear-gradient(transparent,rgba(0,0,0,.98) 30%)}
:is(.hero,.uap-hero,.media-hero,.magazine-opening,.special-hero,.topics,.solar-launch) .orange-text{color:#ffad86}
.photo-dialog p{color:#d3dce7}

/* Button text stays readable, even within panels that set link colours. */
.button.primary,.ed-banner .button.primary,.cover-copy .button.primary,.ar-hero .button.primary,#solar-light{background:#ed5128;border-color:#ed5128;color:#111315}
.button.primary:hover,.ed-banner .button.primary:hover,.cover-copy .button.primary:hover,.ar-hero .button.primary:hover,#solar-light:hover{background:#111315;border-color:#9eaabc;color:#fff}
.dialog-close{background:#ed5128;color:#111315}
.mission-strip{color:#111315}
.table-scroll,.ed-table{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-scroll:focus-visible,.ed-table:focus-visible{outline:3px solid #b83a19;outline-offset:3px}
.nav-toggle{display:none;border:1px solid #a2a29c;background:#f7f6f2;color:#111315;padding:11px 16px;min-height:44px;font-weight:700}
.menu-search{display:none}

@media(max-width:900px){
 header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 5%;min-height:90px}
 .brand{width:85px}.nav-search{grid-column:3;font-size:14px;white-space:nowrap}
 header nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;font-size:15px;justify-content:start}
 header nav a:nth-child(n){display:block;padding:12px 14px;min-height:46px;border:1px solid #d4d4ce;line-height:1.35}
 .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center;grid-column:3;grid-row:1}
 .nav-ready .nav-search{display:none}.nav-ready header nav:not(.is-open){display:none}
 .nav-ready header nav.is-open{display:grid}
 .menu-search{display:block}
 .dossier-wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-inline:5%}
 .dossier-toc{position:static;max-height:none;overflow:visible;flex-wrap:wrap;font-size:15px}
 .dossier-toc a{min-height:44px;padding:9px 0;line-height:1.5;margin-top:0}
 .ed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 body{font-size:17px}.section{padding:38px 5%}
 h2{font-size:clamp(30px,8vw,40px);line-height:1.16}
 .article-top{padding:28px 5% 32px}
 .article-top h1,.discover-hero h1,.ar-hero h1,.media-hero h1,.uap-hero h1{font-size:clamp(36px,10vw,48px);line-height:1.12}
 .article-top .standfirst{font-size:18px;line-height:1.7}
 .article-meta{display:block;font-size:13px;line-height:1.7}
 .article-body{padding-inline:5%}.dossier-body{padding-inline:0}
 .article-body>p,.dossier-body p{font-size:18px;line-height:1.85}
 .dossier-body section h2,.article-body>h2{font-size:27px;line-height:1.3}
 .dossier-body li{font-size:17px;line-height:1.8}
 .dossier-toc{display:flex;flex-direction:column;gap:2px}
 .dossier-toc .eyebrow,.dossier-toc strong{width:100%}
 .dossier-figure{margin:24px 0}
 .dossier-figure figcaption,.ar-photo-grid figcaption,.ar-hero figcaption,.article-image figcaption,.media-hero figcaption{font-size:14px;line-height:1.75}
 .sources,.ed-inset,.ed-related{padding:20px}
 .article-body .sources li,.sources a,.dossier-body .sources p{font-size:16px;line-height:1.8}
 .article-body ul,.article-body ol{padding-left:23px}
 .article-glossary dd,.article-faq details p{font-size:17px}
 .ed-grid,.rubric-grid{grid-template-columns:minmax(0,1fr)}
 .ed-card p,.ed-book-copy p,.ar-system p{font-size:17px;line-height:1.8}
 .ed-card-meta,.ed-stamp,.ed-tag,.ed-book-level{font-size:14px;line-height:1.6}
 .ed-book-copy h3{font-size:24px;line-height:1.3}
 .ed-book-controls input,.search input,.tool-panel input,.tool-panel select,.topic-select select,.solar-lab select,.solar-bottom select{font-size:17px;min-height:46px;max-width:100%;min-width:0}
 .search{max-width:none}.search input{padding:12px 0}
 .filters button,.ed-filters button{font-size:14px;min-height:44px;padding:10px 13px}
 .catalog-tools{width:100%}.filters{gap:6px}
 .card p{font-size:17px;line-height:1.75}.card-meta{font-size:12px;flex-wrap:wrap}
 .card-meta>span:first-child{color:#b23817}.reading-time{font-size:14px}
 .result-count{font-size:14px;letter-spacing:0}
 .button{font-size:15px;min-height:46px;gap:15px;white-space:normal}
 .ar-mission summary{display:grid;grid-template-columns:45px minmax(0,1fr);gap:14px;align-items:start}
 .ar-status{grid-column:2;justify-self:start;font-size:13px}.ar-date{font-size:15px;line-height:1.6}
 .ar-system-map{margin-inline:0}.ar-system-map figcaption{font-size:14px}
 .ar-hero,.ar-teaser{grid-template-columns:minmax(0,1fr);gap:25px}
 .ar-hero img{min-height:0}.ar-teaser img{height:auto}
 .world-card{grid-template-columns:minmax(0,1fr)}
 .cover-copy p,.side-story p,.special-hero p{font-size:17px;line-height:1.8}
 .special-intro,.about p,.feature-copy p,.uap-guide p,.resource-grid p{font-size:17px;line-height:1.8}
 .principles p,.tool-note,.solar-small,.solar-detail p,.solar-time p,.solar-map-note{font-size:15px;line-height:1.8}
 .tool-panel,.solar-compare,.solar-challenge{padding:20px}
 .solar-lab{margin-inline:4%}.solar-toolbar{padding:18px;gap:15px}
 .solar-play-controls{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
 .solar-play-controls button,.solar-picker button,.solar-zoom button{min-height:44px;font-size:15px}
 .solar-map-meta{flex-direction:column;font-size:13px}
 .solar-map-meta>span:last-child{font-size:12px}
 .solar-comparison-selects{grid-template-columns:minmax(0,1fr);gap:10px}
 .solar-bottom select{width:100%}.solar-detail dl{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px 15px}
 .solar-detail dt{font-size:12px;letter-spacing:.02em}.solar-detail dd{font-size:15px}
 .ed-table table,.table-scroll table{font-size:16px}.ed-table td,.ed-table th{padding:12px;line-height:1.7}
 .ed-table{margin:22px 0}.table-scroll-hint{font-size:14px;color:#536171;margin:10px 0}
 :is(.ed-inset,.ar-system-map) .table-scroll-hint{color:#bfccdc}
 .media-copy p,.media-note p{font-size:17px}.media-copy .credit,.media-detail,.media-copy .media-detail,.media-links{font-size:14px;line-height:1.7}
 .topic-select{flex-wrap:wrap;font-size:16px}.topic-select select{width:100%;max-width:none}
 .media-jumps{gap:10px}.photo-dialog,#photo-modal{padding:14px}
 .photo-dialog p,#photo-info p,#photo-info .credit{font-size:15px;line-height:1.8}
 .photo-dialog button,.dialog-close{min-height:44px;font-size:16px}
 footer p,footer small,.footer-links{font-size:14px;line-height:1.7}.footer-links{flex-wrap:wrap}
}
@media(max-width:380px){
 .section{padding-inline:5%}header nav{grid-template-columns:minmax(0,1fr)}
 .side-story{grid-template-columns:minmax(0,1fr)}.side-story img{height:180px;min-height:0}
 .solar-zoom{flex-wrap:wrap}.ed-card,.ed-book-copy{padding:20px}
}
