.academy{--panel:#fff;--soft:#e8eedf;padding-top:70px;padding-bottom:80px}.academy-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:end}.academy-intro p{max-width:560px}.academy h2{font-size:clamp(35px,5vw,64px)}.academy-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.academy input,.academy select{font:inherit;padding:13px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink)}.academy input[type=search]{flex:1;min-width:200px}.academy-layout{display:grid;grid-template-columns:310px 1fr;gap:35px;align-items:start}.article-list{display:grid;gap:8px;max-height:760px;overflow:auto}.article-list button{padding:17px;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:5px;cursor:pointer}.article-list button[aria-pressed=true]{background:var(--lime);color:#16261d}.article-list small{display:block;font-size:10px;letter-spacing:1px;margin-bottom:6px}.article-list b{font-size:15px}.reader{background:var(--panel);padding:35px;border:1px solid var(--line);border-radius:7px;min-width:0}.reader h2{font-size:35px}.reader h3{margin-top:30px;font-size:22px}.reader p,.reader li{font-size:15px;line-height:1.85}.reader a{text-decoration:underline;overflow-wrap:anywhere}.reader .article-sources{border-top:1px solid var(--line);margin-top:30px;font-size:12px}.reader table{width:100%;font-size:13px;border-collapse:collapse}.reader td,.reader th{padding:8px;border-bottom:1px solid var(--line);text-align:left}.reader .read-toggle{padding:9px 15px;background:var(--soft);border:1px solid var(--line);border-radius:4px;color:var(--ink);cursor:pointer}.learning-count{font-size:12px;color:var(--muted)}.theme-switch{background:var(--ink);color:var(--bg);padding:9px 12px;border:0;border-radius:30px;cursor:pointer;font-size:12px}.weather-lab{background:#0e222b;color:#e8f0e9;padding:70px 0}.weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.weather-lab p{color:#c2d0cc}.weather-lab label{display:block;margin-top:20px}.weather-lab input{width:100%;accent-color:#ddf397}.sky-diagram{width:100%;background:linear-gradient(#0a1728,#275666);border-radius:12px}.sky-caption{font-size:12px}.sky-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.sky-links a{padding:10px;border:1px solid #657e7b;border-radius:5px;font-size:12px}.photo-story{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.photo-story figure{margin:0}.photo-story img{width:100%;height:245px;object-fit:cover;border-radius:7px}.photo-story figcaption{font-size:11px;color:var(--muted);padding:8px 0}.photo-story a{text-decoration:underline}.dark{--bg:#111e25;--ink:#e7eee8;--muted:#afc0b8;--line:#3e514d}.dark .academy{--panel:#1b2e34;--soft:#2c423d}.dark .ticker,.dark .station-section,.dark .guest{background:#21332f}.dark .receiver{background:#263a34;border-color:#46594b}.dark .receiver p,.dark .receiver small,.dark .receiver dt,.dark .community p,.dark .station-inner p,.dark .note{color:#b8c9bf}.dark .tool:hover{background:#2a4037}.dark .hero h1 em{color:#ddf397}.dark .filters button{color:#e7eee8}.dark .filters button.active{background:#ddf397;color:#18251c}.dark .station-art{background:#0e2024}.empty-result{padding:20px}.academy-headline{color:#5b7b3e;font:11px Consolas;letter-spacing:2px}.dark .academy-headline{color:#ddf397}@media(max-width:800px){.academy-intro,.academy-layout,.weather-grid{grid-template-columns:1fr}.article-list{max-height:300px;grid-template-columns:1fr 1fr}.reader{padding:22px}.photo-story{grid-template-columns:1fr}.photo-story img{height:260px}}@media(max-width:420px){.article-list{grid-template-columns:1fr}.reader h2{font-size:28px}}@media print{header,.article-list,.academy-toolbar,.theme-switch,.weather-lab,footer{display:none}.academy-layout{display:block}.reader{border:0}}
.photo-story{grid-template-columns:repeat(2,1fr)}.photo-story img{height:320px}.photo-story figure:last-child img{object-fit:contain;background:#071018}.reader:focus{outline:2px solid #789658}header{flex-wrap:wrap}header nav{flex-wrap:wrap}@media(max-width:700px){.photo-story{grid-template-columns:1fr}.photo-story img{height:260px}header nav{gap:12px}.theme-switch{margin-left:auto}}
