:root { --forest:#244638; --forest-2:#173128; --sage:#c2efe9; --mint:#e3f8f3; --cream:#f8f4e9;--paper:#fcf8ee;--surface-muted:#e3f8f3;--surface-input:#fffaf0;--surface-header:rgba(248,244,233,.96); --ink:#1b2923; --muted:#637069; --line:#d9ded8; --coral:#d97858; --shadow:0 18px 50px rgba(31,55,44,.09); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; }
[hidden] { display:none!important; }
a { color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
button,select { font:inherit; }
.skip-link { position:fixed; left:1rem; top:-4rem; z-index:10; padding:.7rem 1rem; background:var(--forest); color:white; border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.site-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0 clamp(1rem,4vw,4rem); border-bottom:1px solid rgba(36,70,56,.13); background:var(--surface-header); position:sticky; top:0; z-index:5; backdrop-filter:blur(12px); }
.brand { display:flex; gap:.55rem; align-items:center; color:var(--forest); font-family:"Playfair Display",serif; font-size:25px; letter-spacing:-1px; text-decoration:none; font-weight:500; }
.brand img { width:34px; height:34px; flex:0 0 34px; object-fit:cover; border-radius:50%; border:1px solid rgba(36,70,56,.14); box-shadow:0 2px 10px rgba(24,53,42,.08); }
.brand span { color:inherit; font:inherit; letter-spacing:inherit; }
nav { display:flex; gap:.25rem; align-items:center; }
nav a { padding:.62rem .78rem; border-radius:999px; color:var(--muted); text-decoration:none; font-size:.9rem; font-weight:600; }
nav a[aria-current="page"] { color:var(--forest); background:var(--sage); }
main { width:min(1160px,calc(100% - 2rem)); margin:0 auto; padding:clamp(2.8rem,7vw,6.6rem) 0 4rem; }
.hero { display:grid; gap:2rem; align-items:end; }
.eyebrow { margin:0 0 .75rem; color:#527261; font:500 .73rem/1.2 "DM Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:760px; margin-bottom:1rem; color:var(--forest-2); font:600 clamp(2.8rem,9vw,6.1rem)/.95 "Playfair Display",serif; letter-spacing:-.045em; }
h1 em { color:var(--forest); font-weight:500; }
.lede { max-width:620px; color:var(--muted); font-size:clamp(1.02rem,2vw,1.22rem); line-height:1.65; }
.refresh-card { padding:1.25rem; border:1px solid var(--line); background:var(--paper); border-radius:18px; box-shadow:var(--shadow); }
.refresh-card span { color:#527261; font:500 .7rem "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }
.refresh-card strong { display:block; margin:.5rem 0; font-size:1rem; }
.refresh-card p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.5; }
.controls { margin:clamp(2.5rem,7vw,5rem) 0 1.8rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; align-items:end; }
.region-tabs { display:inline-flex; padding:.28rem; border:1px solid var(--line); border-radius:999px; background:var(--paper); }
.region-tabs button { border:0; border-radius:999px; padding:.72rem 1.15rem; color:var(--muted); background:transparent; cursor:pointer; font-weight:700; }
.region-tabs button[aria-selected="true"] { color:white; background:var(--forest); }
.select-wrap { display:grid; gap:.35rem; color:var(--muted); font-size:.76rem; font-weight:700; }
select { min-width:180px; padding:.72rem 2.4rem .72rem .85rem; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--paper); }
button:focus-visible,select:focus-visible,a:focus-visible { outline:3px solid rgba(217,120,88,.4); outline-offset:3px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.section-heading h2,.pause-card h2 { margin:0; font:600 clamp(1.8rem,4vw,2.6rem)/1.08 "Playfair Display",serif; }
#result-count { margin:0; color:var(--muted); font:500 .75rem "DM Mono",monospace; }
.update-grid { display:grid; gap:1rem; }
.update-card { display:grid; gap:1.15rem; padding:1.3rem; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 5px 18px rgba(31,55,44,.035); }
.update-card:hover { border-color:#b7c8ba; }
.card-meta { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; color:var(--muted); font:500 .7rem "DM Mono",monospace; }
.topic { padding:.32rem .55rem; border-radius:999px; color:var(--forest); background:var(--mint); }
.update-card h3 { margin:0 0 .55rem; color:var(--forest-2); font:600 1.35rem/1.18 "Playfair Display",serif; }
.update-card p { margin:0; color:var(--muted); line-height:1.6; }
.source-link { align-self:end; justify-self:start; text-decoration:none; font-weight:700; color:var(--forest); }
.source-link:hover { text-decoration:underline; text-underline-offset:4px; }
.empty-state { padding:2rem; text-align:center; border:1px dashed #b9c7bb; border-radius:18px; }
.empty-state p { color:var(--muted); margin:0; }
.feed-access-card { margin-top:1rem; padding:clamp(1.4rem,4vw,2.6rem); display:grid; gap:1.5rem; align-items:center; border:1px solid #afc3b3; border-radius:22px; color:white; background:var(--forest); box-shadow:var(--shadow); }
.feed-access-card .eyebrow { color:#bdd0c1; }
.feed-access-card h3 { margin:0; font:600 clamp(1.7rem,4vw,2.35rem)/1.08 "Playfair Display",serif; }
.feed-access-card p:not(.eyebrow) { max-width:680px; margin:.75rem 0 0; color:#d2dfd5; line-height:1.6; }
.feed-access-card>div:last-child { display:grid; gap:.7rem; justify-items:start; }
.feed-access-card a { color:white; font-size:.82rem; font-weight:700; text-underline-offset:4px; }
.feed-access-card .feed-access-primary { padding:.85rem 1.05rem; border-radius:10px; color:var(--forest); background:var(--surface-input); text-decoration:none; }
.pause-card { display:grid; gap:1.5rem; align-items:center; margin-top:3rem; padding:clamp(1.5rem,5vw,3.2rem); color:#fffaf0; background:linear-gradient(135deg,#173f30 0%,#244638 58%,#315e4d 100%) !important; border:1px solid rgba(255,250,240,.22); border-radius:24px; box-shadow:0 20px 48px rgba(23,63,48,.2); }
.pause-card .eyebrow { color:#cfe3d5; }
.pause-card h2 { color:#fffaf0; }
.pause-card p { margin:.7rem 0 0; color:#e5eee7; line-height:1.6; }
.pause-card a { justify-self:start; padding:.85rem 1.05rem; border-radius:10px; color:var(--forest); background:var(--surface-input); text-decoration:none; font-weight:700; }
.editorial-note { margin:1.5rem auto 0; max-width:760px; padding:1.15rem clamp(1rem,3vw,1.6rem); color:#435f4c; background:#f6dce5 !important; border:1px solid #d7aebc; border-radius:16px; font-size:.875rem; line-height:1.6; text-align:center; }
@media (min-width:760px) { .hero { grid-template-columns:minmax(0,1fr) 300px; } .update-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .update-card { min-height:265px; } .feed-access-card { grid-template-columns:1fr auto; } .pause-card { grid-template-columns:1fr auto; } }
@media (max-width:560px) { .site-header { align-items:flex-start; padding-top:.8rem; padding-bottom:.8rem; } nav { overflow:auto; } nav a { padding:.5rem .6rem; font-size:.78rem; white-space:nowrap; } .controls { align-items:stretch; } .region-tabs { width:100%; } .region-tabs button { flex:1; } .select-wrap,select { width:100%; } .section-heading { align-items:start; } .feed-access-card>div:last-child,.feed-access-primary { width:100%; } .feed-access-primary { text-align:center; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* A public extension of the student daily brief. */
.daily-brief-preview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(260px,1fr) minmax(230px,.8fr);gap:1rem;align-items:stretch;margin:0 0 clamp(2.5rem,6vw,4.5rem);padding:clamp(1.2rem,3vw,2rem);border:1px solid rgba(36,70,56,.15);border-radius:24px;background:linear-gradient(120deg,#edf6f1,#f8f1d4)}.daily-brief-preview>div{padding:1rem}.daily-brief-preview h2{margin:0;color:#173f30;font:500 clamp(1.8rem,3vw,2.8rem)/1.08 "Playfair Display",serif}.daily-brief-preview h3{margin:.25rem 0 .6rem;color:#173f30;font:500 1.5rem/1.12 "Playfair Display",serif}.daily-brief-preview p:not(.eyebrow){color:#557267;font-size:.9rem;line-height:1.55}.daily-brief-preview article,.daily-brief-preview aside{padding:1.25rem;border-radius:16px}.daily-brief-preview article{background:#eee9f6}.daily-brief-preview aside{background:#f7e1e8}.daily-brief-preview a{display:inline-flex;align-items:center;gap:.55rem;margin-top:.65rem;color:#244638;font-size:.78rem;font-weight:700;text-underline-offset:4px}.daily-brief-preview article div{display:flex;flex-wrap:wrap;gap:.8rem}.daily-brief-preview .brief-play{padding:.7rem .9rem;border-radius:999px;background:#244638;color:#fffaf0;text-decoration:none}@media(max-width:900px){.daily-brief-preview{grid-template-columns:1fr 1fr}.daily-brief-preview>div{grid-column:1/-1}}@media(max-width:560px){.daily-brief-preview{grid-template-columns:1fr;padding:1rem}.daily-brief-preview>div{grid-column:auto;padding:.5rem}.daily-brief-preview article,.daily-brief-preview aside{padding:1.1rem}}
