:root {
  color-scheme: dark light;
  --bg:#0a0f1e; --panel:#121a30; --ink:#e9eef8; --ink-2:#9aa6c0; --ink-3:#5d6a88;
  --line:#232f4d; --accent:#3987e5;
  --r-vernacular:#3987e5; --r-folk:#c98500; --r-tribal:#d55181; --r-borrowed:#5d6a88;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --indic:"Noto Sans Devanagari","Noto Sans Tamil","Noto Sans Telugu","Noto Sans Kannada",
    "Noto Sans Malayalam","Noto Sans Bengali","Noto Sans Gujarati","Noto Sans Oriya",
    "Noto Sans Gurmukhi","Noto Sans Sinhala","Noto Serif Tibetan","Noto Sans Ol Chiki",
    "Noto Sans Thaana","Noto Nastaliq Urdu",var(--sans);
}
@media (prefers-color-scheme: light) {
  :root {
    --bg:#fbfaf7; --panel:#fff; --ink:#1a2035; --ink-2:#4d5872; --ink-3:#79839c;
    --line:#e0e2ea; --accent:#1a5fb4;
    --r-vernacular:#1a5fb4; --r-folk:#8a5a00; --r-tribal:#a3305c; --r-borrowed:#79839c;
  }
}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;
  font-size:16px;-webkit-text-size-adjust:100%}
.wrap{max-width:52rem;margin:0 auto;padding:0 1.25rem 5rem}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
header.site{border-bottom:1px solid var(--line);margin-bottom:2rem}
header.site .wrap{padding-top:1rem;padding-bottom:1rem;display:flex;gap:1.25rem;
  align-items:baseline;flex-wrap:wrap;padding-bottom:.9rem}
header.site a.brand{font-family:var(--serif);font-size:1.05rem;color:var(--ink);
  text-decoration:none;font-weight:600}
header.site nav{display:flex;gap:1rem;font-size:.87rem}
header.site nav a{color:var(--ink-2);text-decoration:none}
header.site nav a:hover{color:var(--ink)}
h1{font-family:var(--serif);font-size:2rem;line-height:1.2;font-weight:600;
  margin:0 0 .35rem;text-wrap:balance}
h1 .nat{font-family:var(--indic)}
h2{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin:2.5rem 0 .75rem;
  padding-bottom:.3rem;border-bottom:1px solid var(--line)}
h3{font-size:1rem;font-weight:600;margin:1.5rem 0 .4rem}
p{margin:0 0 .9rem}
.lede{color:var(--ink-2);font-size:1.05rem;margin-bottom:1.5rem}
.sub{color:var(--ink-2);font-size:.95rem}
.nat{font-family:var(--indic)}
.muted{color:var(--ink-3)}
small{font-size:.82rem}
.crumb{font-size:.83rem;color:var(--ink-3);margin-bottom:.9rem}
.crumb a{color:var(--ink-3)}
.facts{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:.9rem 0 1.5rem;font-size:.83rem}
.fact{border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem;color:var(--ink-2);
  background:var(--panel)}
.fact b{color:var(--ink);font-weight:600}
.reg{display:inline-block;font-size:.72rem;letter-spacing:.03em;padding:.1rem .45rem;
  border-radius:3px;border:1px solid currentColor;white-space:nowrap;vertical-align:.05em}
.reg-vernacular{color:var(--r-vernacular)}
.reg-folk{color:var(--r-folk)}
.reg-tribal{color:var(--r-tribal)}
.reg-borrowed{color:var(--r-borrowed)}
.scroll{overflow-x:auto;margin:0 0 1.2rem}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);
  vertical-align:top}
th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);
  font-weight:600;white-space:nowrap}
tbody tr:hover{background:var(--panel)}
td .nat{font-size:1.08rem}
.name-cell{min-width:11rem}
.entry{border-left:2px solid var(--line);padding:0 0 .1rem 1rem;margin:0 0 1.6rem}
.entry .who{font-size:.85rem;color:var(--ink-3);margin-bottom:.3rem}
.shloka{font-family:var(--indic);font-size:1.06rem;line-height:1.85;margin:.5rem 0;
  color:var(--ink)}
.shloka.iast{font-family:var(--serif);font-style:italic}
.trans{color:var(--ink-2);margin:.5rem 0}
.cite{font-size:.83rem;color:var(--ink-3);margin-top:.45rem;word-break:break-word}
.cite a{color:var(--ink-3)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem 1rem;
  margin:0 0 1.5rem;padding:0;list-style:none}
.grid li{font-size:.93rem}
.grid .n{color:var(--ink-3);font-size:.82rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;
  padding:0;list-style:none;margin:0 0 1.5rem}
.card{border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem;background:var(--panel)}
.card a{text-decoration:none;font-weight:600}
.card .sub{font-size:.84rem;margin-top:.2rem}
footer.site{border-top:1px solid var(--line);margin-top:3rem;padding:1.5rem 0 3rem;
  color:var(--ink-3);font-size:.86rem}
footer.site a{color:var(--ink-3)}
@media (max-width:34rem){h1{font-size:1.55rem}.wrap{padding:0 1rem 3rem}}
