/* Reader pages: sections, stories, weather, search, and the section blocks injected into the homepage.
   The homepage keeps site.css for the player; every rule here that could collide with it is scoped to
   body.reader. The unscoped rules only style the injected blocks. Same tokens as the player. */
:root{--alert:#e8a04a;--max:1180px;--measure:68ch;--serif:Georgia,"Iowan Old Style","Palatino Linotype","Source Serif Pro",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body.reader{--bg:#0b1117;--panel:#121e28;--ink:#f2efe6;--muted:#a7b4b9;--accent:#79dac1;--line:#2b3941;--gold:#e6bc77;color-scheme:dark;margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans)}
body.reader *{box-sizing:border-box}
body.reader a{color:inherit;text-underline-offset:4px}body.reader a:hover{color:var(--accent)}
body.reader .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.reader .skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#07121e;padding:8px 12px;z-index:10}body.reader .skip:focus{left:8px}
body.reader .eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:800;color:var(--accent);margin:0 0 6px;text-transform:uppercase}
body.reader .small{font-size:13px;color:var(--muted)}

/* Chips and the alert strip appear on both the homepage blocks and the reader pages. */
.chip{display:inline-block;font-size:11px;letter-spacing:.6px;text-transform:uppercase;font-weight:700;padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);vertical-align:middle}
.chip.live{border-color:var(--accent);color:var(--accent)}.chip.updated{border-color:var(--gold);color:var(--gold)}.chip.withdrawn{border-color:var(--alert);color:var(--alert)}
.alert-strip{display:block;background:#2a1d0c;border-top:2px solid var(--alert);border-bottom:1px solid var(--line)}
.alert-strip a,.alert-strip.inline{display:block;max-width:var(--max);margin:0 auto;padding:10px 16px;color:#ffd9a3;text-decoration:none;font-size:14px}
.alert-strip.inline{margin:0 0 18px;border:1px solid var(--alert);border-left-width:4px;border-radius:6px}
.alert-strip strong{color:var(--alert);letter-spacing:1px;text-transform:uppercase;font-size:12px;margin-right:8px}

/* Homepage section grid (injected into the released player page, styled by its own tokens). */
.top-stories{margin-top:28px}
.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px 28px}
.section-block{border-top:2px solid var(--accent);padding-top:12px;min-width:0}
.section-block .meta{font-size:13px;color:var(--muted);margin:0}
.section-link{margin:0 0 10px;font:800 13px/1 var(--sans);letter-spacing:1.4px;text-transform:uppercase}
.section-link a{text-decoration:none;color:var(--accent)}
.lead-link{text-decoration:none;display:block;color:inherit}
.lead-link h4{font:600 22px/1.25 var(--serif);margin:0 0 6px}
.lead-link:hover h4{color:var(--accent)}
.lead-link .summary{margin:0 0 6px;color:var(--muted);font-size:15px;line-height:1.5}
.more{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}
.more li{padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4}
.more a{text-decoration:none;color:inherit}.more a:hover{color:var(--accent)}
.section-foot{margin:22px 0 0;font-size:14px;color:var(--muted)}

/* Masthead: brand, search, live link, then the section rail. */
body.reader .masthead{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}
body.reader .masthead-row{max-width:var(--max);margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:18px}
body.reader .brand{font-weight:900;letter-spacing:1.5px;text-decoration:none;white-space:nowrap;font-size:16px}
body.reader .brand span{color:var(--accent)}
body.reader .search-form{display:flex;flex:1;max-width:420px;min-width:0}
body.reader .search-form input{flex:1;min-width:0;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-right:0;border-radius:6px 0 0 6px;padding:9px 12px;font:inherit;font-size:15px}
body.reader .search-form button{background:var(--accent);color:#07121e;border:0;border-radius:0 6px 6px 0;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer;min-height:40px}
body.reader .search-form.large{max-width:640px;margin:18px 0 0}
body.reader .live-link{margin-left:auto;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:1px;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
body.reader .live-link i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff5d5d;margin-right:8px;box-shadow:0 0 0 3px rgba(255,93,93,.25)}
body.reader .sections-nav{max-width:var(--max);margin:0 auto;padding:0 8px;display:flex;overflow-x:auto;gap:2px;scrollbar-width:none}
body.reader .sections-nav::-webkit-scrollbar{display:none}
body.reader .sections-nav a{text-decoration:none;font-size:14px;font-weight:650;padding:10px 12px;white-space:nowrap;border-bottom:3px solid transparent;min-height:44px;display:inline-flex;align-items:center}
body.reader .sections-nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent)}

/* Page frame and headings. */
body.reader .page{max-width:var(--max);margin:0 auto;padding:22px 16px 48px}
body.reader .page-head{padding:10px 0 20px;border-bottom:1px solid var(--line);margin-bottom:22px}
body.reader h1{font:600 clamp(30px,4vw,48px)/1.12 var(--serif);margin:4px 0 10px;letter-spacing:-.3px}
body.reader h2{font-family:var(--serif);font-weight:600}
body.reader .dek{font-size:19px;line-height:1.5;color:var(--muted);max-width:var(--measure);margin:0 0 10px}
body.reader .empty,body.reader .notice{background:var(--panel);border-left:3px solid var(--gold);padding:14px 16px;border-radius:4px;max-width:var(--measure)}
body.reader .notice{border-left-color:var(--alert)}

/* Section and search lists. */
body.reader .story-list{list-style:none;margin:0;padding:0}
body.reader .story-row{border-bottom:1px solid var(--line);padding:18px 0}
body.reader .story-row a{text-decoration:none;display:block}
body.reader .story-row h2{font-size:24px;line-height:1.25;margin:0 0 6px}
body.reader .story-row.first h2{font-size:34px}
body.reader .story-row .summary{margin:0 0 8px;color:var(--ink);max-width:var(--measure);line-height:1.5}
body.reader .story-row .meta{font-size:13px;color:var(--muted);margin:0}
body.reader .story-row a:hover h2{color:var(--accent)}
body.reader .pager{display:flex;gap:18px;align-items:center;padding:18px 0;font-weight:650}
body.reader .plain-list{list-style:none;padding:0;margin:0}
body.reader .plain-list li{padding:8px 0;border-bottom:1px solid var(--line)}

/* Story page. */
body.reader .story-head{padding:6px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}
body.reader .story-head .eyebrow a{text-decoration:none}
body.reader .byline{display:flex;flex-wrap:wrap;gap:12px 36px;align-items:flex-start;font-size:14px;color:var(--muted)}
body.reader .byline p{margin:0;max-width:var(--measure)}
body.reader .times{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0}
body.reader .times div{display:flex;gap:6px}
body.reader .times dt{font-weight:700}
body.reader .times dd{margin:0}
body.reader .story-video{margin:0 0 22px}
body.reader .story-video video{width:100%;max-width:960px;aspect-ratio:16/9;background:#000;border-radius:6px;display:block}
body.reader .story-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:28px 44px;align-items:start}
body.reader .transcript p{max-width:var(--measure);font-size:19px;line-height:1.7;margin:0 0 16px}
body.reader .transcript .speaker{font:800 12px/1 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin:22px 0 8px}
body.reader .transcript .stage{font-style:italic;color:var(--muted);font-size:15px}
body.reader .transcript .refs a{font-size:12px;vertical-align:super;text-decoration:none;color:var(--accent);margin-left:2px}
body.reader .evidence{background:var(--panel);border-top:2px solid var(--accent);padding:16px 18px;border-radius:0 0 6px 6px;position:sticky;top:110px}
body.reader .evidence h2{margin:0 0 10px}
body.reader .evidence h2+h2,body.reader .evidence ol+h2,body.reader .evidence p+h2{margin-top:18px}
body.reader .sources,body.reader .footnotes,body.reader .accounts{margin:0;padding-left:20px}
body.reader .sources li{margin:0 0 12px}
body.reader .sources a{font-weight:650;overflow-wrap:anywhere}
body.reader .sources .meta{font-size:12px;color:var(--muted);margin:2px 0}
body.reader .footnotes li,body.reader .accounts li{font-size:14px;margin:0 0 6px}
body.reader .about-report,body.reader .history,body.reader .related{margin:30px 0 0;padding-top:18px;border-top:1px solid var(--line)}
body.reader .about-report ul,body.reader .history ol,body.reader .related ul{max-width:var(--measure);padding-left:20px;line-height:1.55}
body.reader .about-report li{margin:0 0 8px;font-size:15px;color:var(--muted)}
body.reader .related li{margin:0 0 8px}
body.reader .related a{text-decoration:none}body.reader .related a:hover{color:var(--accent)}

/* Prose pages, alerts, corrections, cast. */
body.reader .prose{max-width:var(--measure)}
body.reader .prose h2{font-size:24px;margin:28px 0 8px}
body.reader .prose p,body.reader .prose li{font-size:18px;line-height:1.65}
body.reader .prose code{font-size:15px;background:var(--panel);padding:2px 6px;border-radius:4px}
body.reader .alerts{list-style:none;margin:0;padding:0}
body.reader .alerts li a{display:flex;gap:14px;align-items:baseline;padding:14px 16px;margin:0 0 10px;background:#2a1d0c;border-left:4px solid var(--alert);border-radius:4px;text-decoration:none;color:#ffd9a3;min-height:44px}
body.reader .alerts li strong{color:var(--alert);min-width:180px}
body.reader .corrections{list-style:none;margin:0;padding:0}
body.reader .corrections li{padding:16px 0;border-bottom:1px solid var(--line)}
body.reader .corrections li>a{font:600 22px/1.3 var(--serif);text-decoration:none;display:block;margin:6px 0}
body.reader .corrections ol{padding-left:20px}
body.reader .cast-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}
body.reader .character{background:var(--panel);padding:14px;border-radius:6px;text-align:center}
body.reader .character img{width:100%;height:auto;max-width:160px;border-radius:6px}
body.reader .character h2{font-size:18px;margin:10px 0 4px}
body.reader .character p{margin:0;font-size:13px;color:var(--muted)}

/* Footer. */
body.reader .site-footer{border-top:1px solid var(--line);margin-top:30px;padding:26px 16px 36px}
body.reader .footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}
body.reader .site-footer ul{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
body.reader .site-footer p{margin:6px 0 0}
body.reader .site-footer>.small{max-width:var(--max);margin:16px auto 0}

@media(max-width:860px){body.reader .story-body{grid-template-columns:1fr}body.reader .evidence{position:static}body.reader .footer-grid{grid-template-columns:1fr}}
@media(max-width:720px){body.reader{font-size:16px}body.reader .masthead-row{gap:10px;padding:10px 12px}body.reader .search-form{max-width:none}body.reader .live-link{display:none}body.reader .page{padding:16px 16px 36px}body.reader .story-row.first h2{font-size:27px}body.reader .story-row h2{font-size:21px}body.reader .transcript p{font-size:17px}body.reader .dek{font-size:17px}}
@media(prefers-reduced-motion:reduce){body.reader{scroll-behavior:auto}}
