:root{
  --desk:#D6DAD7;--paper:#EFF1EE;--ink:#1A2321;--ink-2:#4E5A57;--ink-3:#6B7673;
  --rule:#B6C0BC;--rule-soft:#CFD6D2;--accent:#A02B22;--soft:#F4E5E2;--ok:#2F5D50;--ok-soft:#DCE9E4;
  --serif:"Newsreader",Georgia,serif;--sans:"Public Sans",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:light dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --desk:#0F1413;--paper:#191F1E;--ink:#E4E9E6;--ink-2:#A7B2AE;--ink-3:#8A958F;
  --rule:#343F3C;--rule-soft:#293230;--accent:#E4756A;--soft:#392522;--ok:#8CC5B3;--ok-soft:#1F2F2B}}
:root[data-theme="dark"]{
  --desk:#0F1413;--paper:#191F1E;--ink:#E4E9E6;--ink-2:#A7B2AE;--ink-3:#8A958F;
  --rule:#343F3C;--rule-soft:#293230;--accent:#E4756A;--soft:#392522;--ok:#8CC5B3;--ok-soft:#1F2F2B}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--desk);color:var(--ink);font:17px/1.65 var(--serif);
  -webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
a{color:inherit;text-underline-offset:.18em}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-10000px;top:.5rem;padding:.5rem .8rem;background:var(--paper);z-index:3}
.skip-link:focus{left:.5rem}
.masthead,main,.foot{width:min(42rem,100% - 2rem);margin-inline:auto}
.masthead{padding:2rem 0 1.2rem;border-bottom:1px solid var(--rule)}
.back{font:500 .78rem var(--sans);color:var(--ink-2);text-decoration:none}
.kicker,.label{font:500 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:1.6rem 0 0}
h1{font:400 clamp(2rem,7vw,2.9rem)/1.08 var(--serif);letter-spacing:-.025em;margin:.5rem 0 0}
h1 a{text-decoration:none}
h1 em{font-style:italic}
.byline{font:400 .85rem/1.5 var(--sans);color:var(--ink-2);margin:1rem 0 0}
main{padding:1.5rem 0 2rem}
.draft-banner{background:var(--soft);border:1px solid var(--accent);border-radius:2px;padding:.7rem 1rem;
  font:500 .8rem/1.5 var(--sans);margin:0 0 1.4rem}
.issue-meta{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font:500 .72rem var(--mono);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-3);margin:0}
.issue-label{font:400 clamp(1.5rem,5vw,1.9rem)/1.2 var(--serif);margin:.4rem 0 0;letter-spacing:-.015em}
.intro{color:var(--ink-2);font-size:1.08rem;margin:.9rem 0 0}
.tools{margin:1.8rem 0 .5rem;padding:1rem 0;border-block:1px solid var(--rule-soft)}
.search input{width:100%;font:400 .95rem var(--sans);padding:.6rem .8rem;border:1px solid var(--rule);
  border-radius:2px;background:var(--paper);color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.tag{font:500 .72rem var(--sans);padding:.3rem .65rem;border:1px solid var(--rule);border-radius:99px;
  background:transparent;color:var(--ink-2);cursor:pointer}
.tag[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.count{font:400 .78rem var(--sans);color:var(--ink-3);margin:.7rem 0 0}
.card{background:var(--paper);border:1px solid var(--rule-soft);border-radius:2px;padding:1.4rem 1.3rem;
  margin:1.2rem 0;box-shadow:0 1px 2px rgba(26,35,33,.06)}
.card h3{font:500 1.45rem/1.22 var(--serif);letter-spacing:-.015em;margin:.5rem 0 0}
.dek{color:var(--ink-2);margin:.6rem 0 0;font-size:1.02rem}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1.2rem 0;padding:.9rem 0;
  border-block:1px solid var(--rule-soft)}
.stat b{display:block;font:500 1.25rem/1.1 var(--serif)}
.stat span{display:block;font:400 .72rem/1.35 var(--sans);color:var(--ink-2);margin-top:.25rem}
.card p{margin:.9rem 0 0}
.interpretation-title{font:600 .8rem/1.5 var(--sans);margin:1.3rem 0 0;color:var(--ink)}
.callout{border-left:3px solid var(--accent);background:var(--soft);padding:.7rem 1rem;margin:1.1rem 0 0;border-radius:0 2px 2px 0}
.callout .label{margin:0 0 .3rem}
.callout p{margin:0;font-size:.97rem}
.sources{margin:1.1rem 0 0;padding:0;list-style:none;font:400 .82rem/1.5 var(--sans)}
.sources li{margin:.25rem 0}
.verif{font:400 .8rem/1.5 var(--sans);color:var(--ink-2);margin:1rem 0 0}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .2rem}
.chip{font:500 .65rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;
  border:1px solid var(--rule);border-radius:2px;color:var(--ink-2)}
.chip.adv{border-color:var(--accent);color:var(--accent)}
.badge{display:inline-block;font:600 .66rem var(--sans);letter-spacing:.04em;padding:.15rem .55rem;border-radius:99px}
.badge.editor{background:var(--ok-soft);color:var(--ok)}
.badge.summary{background:transparent;border:1px solid var(--rule);color:var(--ink-2)}
h3.sec{font:500 .75rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  margin:2.4rem 0 .4rem;padding-top:1rem;border-top:1px solid var(--rule)}
.also{padding:1rem 0;border-bottom:1px solid var(--rule-soft)}
.also h4{font:500 1.05rem/1.3 var(--serif);margin:.4rem 0 0}
.also p{margin:.4rem 0 0;font-size:.95rem;color:var(--ink-2)}
.also .why{font-style:italic}
.notes{padding-left:1.1rem;font-size:.97rem}
.notes li{margin:.4rem 0}
.archive{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule)}
.archive h2{font:500 .75rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .6rem}
.archive ul{list-style:none;margin:0;padding:0}
.archive li{padding:.55rem 0;border-bottom:1px solid var(--rule-soft);font-size:.97rem}
.archive li small{font:400 .75rem var(--mono);color:var(--ink-3);margin-right:.6rem}
.archive li[aria-current] a{color:var(--accent)}
.empty{color:var(--ink-2);padding:1.5rem 0}
.monitor-status{padding:0 0 1.6rem;margin-bottom:1.6rem;border-bottom:1px solid var(--rule)}
.monitor-status .label{margin-top:0}
.monitor-status p{margin:.5rem 0}
.method{border-block:1px solid var(--rule);padding:1rem 0;margin-top:2rem;font:400 .87rem/1.7 var(--sans)}
.method summary{cursor:pointer;font-weight:600}
.foot{padding:1.4rem 0 3rem;border-top:1px solid var(--rule);font:400 .75rem/1.7 var(--mono);color:var(--ink-3)}
.foot p{margin:.2rem 0}
@media (max-width:380px){.stats{grid-template-columns:1fr}.card{padding:1.1rem .95rem}}
.card h4.sub{font:500 .75rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:1.4rem 0 0}
.reading-intro{font-size:.97rem;color:var(--ink-2);margin:0 0 .6rem}
.also .src{font:400 .8rem/1.5 var(--sans);color:var(--ink-3)}
.archive li small{display:block;margin:0 0 .15rem}
