:root{
  --bg:#ffffff; --ink:#16202a; --muted:#5b6b7a; --line:#e6ebf0;
  --accent:#0b6bcb; --accent-ink:#084e93; --card:#f7f9fb; --kicker:#c2410c;
  --maxw:760px;
}
@media (prefers-color-scheme: dark){
  :root{--bg:#0f1419;--ink:#e7edf3;--muted:#93a1af;--line:#232c36;
    --accent:#5aa2ee;--accent-ink:#8fc0f5;--card:#161c23;--kicker:#f0894a;}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:17px/1.65 Georgia,"Times New Roman",serif}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--muted)}
h1,h2,h3,.brand,.site-nav,.post-meta,.kicker,.pager,.tag-row{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}

/* header */
.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;
  background:var(--bg);z-index:5}
.head-inner{display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 20px;flex-wrap:wrap}
.brand{font-weight:800;font-size:20px;color:var(--ink);letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.site-nav{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}
.site-nav a{color:var(--muted)}

/* lede / section head */
.lede{padding:34px 0 10px;border-bottom:1px solid var(--line);margin-bottom:26px}
.lede h1{font-size:34px;line-height:1.15;margin:.15em 0 .1em;letter-spacing:-.02em}
.lede h1 a{color:var(--ink)}
.section-head h1{font-size:28px}
.kicker{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--kicker)}
.dek{font-size:19px;color:var(--muted);margin:.4em 0}

/* card grid */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:24px;margin:10px 0 30px}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:18px 20px}
.post-card h2{font-size:20px;line-height:1.25;margin:.35em 0 .25em}
.post-card h2 a{color:var(--ink)}
.post-card .dek{font-size:16px;margin:.3em 0}
.post-meta{font-size:13px;color:var(--muted);margin:.5em 0 0}

/* article */
.article{padding:30px 0 10px}
.article h1{font-size:36px;line-height:1.12;letter-spacing:-.02em;margin:.15em 0 .15em}
.article .byline{margin:.8em 0 1.6em;padding-bottom:1.2em;border-bottom:1px solid var(--line)}
.article-body{font-size:19px}
.article-body p{margin:1.1em 0}
.article-body h2{font-size:24px;margin:1.7em 0 .4em;letter-spacing:-.01em}
.article-body blockquote{margin:1.4em 0;padding:.4em 1.2em;border-left:3px solid var(--accent);
  color:var(--muted);font-style:italic}
.article-body a{color:var(--accent-ink);text-decoration:underline}

.sources{margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--line);
  font-family:system-ui,sans-serif;font-size:15px}
.sources h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5em}
.sources ul{margin:0;padding-left:1.2em}

.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:1.8em 0}
.tag{font-size:13px;background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:4px 12px;color:var(--muted)}
.tag:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}

.disclaimer{margin:2em 0 0;font-family:system-ui,sans-serif;font-size:13px;
  color:var(--muted);background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:12px 16px}

/* pager */
.pager{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:20px 0 40px;font-size:14px}

/* footer */
.site-foot{border-top:1px solid var(--line);margin-top:40px;padding:24px 0;
  font-family:system-ui,sans-serif;font-size:13px;color:var(--muted)}

@media(max-width:600px){
  .lede h1{font-size:27px}.article h1{font-size:28px}
  .article-body{font-size:18px}
}
