/* Theme tokens shared with the India First News page */
:root {
  --topbar-h: 52px;
  --bg:#0b0c10; --card:#15171d; --ink:#e8eaed; --muted:#9aa0a6; --chip:#1f2129; --accent:#48a3ff;
  --border: color-mix(in oklab, currentColor 14%, transparent);
  --bgL:#ffffff; --inkL:#111; --mutedL:#555; --cardL:#f5f7fb; --chipL:#e9edf5;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans'; }
body.dark  { background:var(--bg);  color:var(--ink); }
body.light { background:var(--bgL); color:var(--inkL); }
body.light { --muted: var(--mutedL); --card: var(--cardL); --chip: var(--chipL); --ink: var(--inkL); }

.topbar {
  position:sticky; top:0; z-index:30; height:var(--topbar-h);
  display:flex; gap:10px; align-items:center; padding:10px 12px;
  backdrop-filter:saturate(180%) blur(8px);
  background: color-mix(in oklab, currentColor 8%, transparent);
  border-bottom:1px solid var(--border);
}
.brand { font-weight:800; letter-spacing:.2px; text-decoration:none; color:inherit; white-space:nowrap; }
.spacer { flex:1 1 auto; }
.topbar a.nav, .toggle {
  text-decoration:none; border:1px solid var(--border); padding:7px 12px; border-radius:999px;
  background:var(--chip); color:var(--ink); font-size:14px; white-space:nowrap;
}
.toggle { cursor:pointer; text-transform:lowercase; font:inherit; font-size:14px; }
.topbar a.nav.is-active { outline:2px solid var(--accent); outline-offset:-1px; }
@media (max-width: 420px) {
  .topbar { gap:6px; padding:10px 8px; }
  .topbar a.nav, .toggle { padding:6px 9px; font-size:13px; }
  .brand { font-size:14px; }
}

.wrap { max-width: 760px; margin:0 auto; padding: 20px 16px 60px; }
.wide { max-width: 1100px; }

h1, h2, h3 { line-height:1.2; }
h1 { font-size: 2rem; margin: .4em 0 .3em; }
h2 { font-size: 1.4rem; margin: 1.6em 0 .5em; }
a { color: var(--accent); }
.muted { color: var(--muted); }
.meta { color:var(--muted); font-size:14px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.chip { display:inline-block; font-size:12px; padding:4px 8px; border-radius:999px; background:var(--chip); color:var(--ink); text-decoration:none; }
.lede { font-size:1.1rem; color:var(--muted); margin: 0 0 1.5em; }

/* Listings */
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap:16px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:16px; display:flex; flex-direction:column; gap:8px; }
.card h3 { margin:0; font-size:18px; }
.card h3 a { color:inherit; text-decoration:none; }
.card h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.card p { margin:0; font-size:14px; color:var(--muted); }
.card .meta { margin-top:auto; font-size:12px; }
.list { list-style:none; padding:0; margin:0; }
.list li { padding:14px 0; border-bottom:1px solid var(--border); }
.list li:last-child { border-bottom:none; }
.list .t { font-size:18px; text-decoration:none; color:inherit; }
.list .t:hover { text-decoration:underline; text-underline-offset:3px; }
.list p { margin:6px 0 0; color:var(--muted); font-size:14px; }

/* Article body */
.article { font-size:17px; line-height:1.65; }
.article p { margin: 0 0 1.1em; }
.article img { max-width:100%; border-radius:12px; }
.article pre { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:12px 14px; overflow-x:auto; font-size:14px; }
.article code { background:var(--chip); padding:2px 5px; border-radius:6px; font-size:.92em; }
.article pre code { background:none; padding:0; }
.article blockquote { margin:1em 0; padding:.2em 1em; border-left:3px solid var(--accent); color:var(--muted); }
.article table { border-collapse:collapse; width:100%; display:block; overflow-x:auto; }
.article th, .article td { border:1px solid var(--border); padding:6px 10px; text-align:left; }
.article hr { border:none; border-top:1px solid var(--border); margin:2em 0; }

/* Series navigation */
.series-nav { display:flex; justify-content:space-between; gap:12px; margin:2.5em 0 0; padding-top:1.2em; border-top:1px solid var(--border); font-size:15px; }
.series-nav a { text-decoration:none; }
.series-nav a:hover { text-decoration:underline; }
.series-nav .next { text-align:right; margin-left:auto; }
.series-toc { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:12px 16px; margin: 0 0 1.5em; font-size:15px; }
.series-toc ol { margin:6px 0 0; padding-left:1.4em; }
.series-toc li { margin:4px 0; }
.series-toc .here { font-weight:700; }
footer { margin-top:60px; color:var(--muted); font-size:13px; text-align:center; }

/* Footnotes (python-markdown "extra") render as a trailing block; the Sources heading already separates them */
.footnote > hr { display:none; }
.footnote ol { padding-left:1.4em; font-size:14px; color:var(--muted); }
.footnote li p { margin:0 0 .4em; }
.footnote-ref, .footnote-backref { text-decoration:none; font-size:.8em; }
