
/* Layout: a survey-atlas — sticky top bar, full-bleed maps, wide index grids with hairline rules; prose in one 66ch column.
   Palette: cool survey paper and graphite ink; river blue for water and links; ochre for the Sikh Empire layer; brick for conflict. */
:root{
  --bg:#f4f5f2; --bg-2:#eaece8; --surface:#ffffff; --surface-2:#f8f9f7;
  --ink:#14171b; --ink-2:#343a42; --muted:#646b75; --faint:#9aa0a8;
  --line:#dcdfda; --line-2:#c4c9c2;
  --river:#1f6ea8; --river-soft:rgba(31,110,168,.10);
  --ochre:#b9821c; --ochre-fill:rgba(205,150,40,.34); --ochre-soft:rgba(205,150,40,.14);
  --brick:#b5452e; --raj:rgba(150,60,60,.16);
  --land:#e6e8e2; --land-pj:#dfe3d6; --relief:rgba(20,23,27,.07); --desert:rgba(170,120,50,.16); --sea:#eaece8;
  --c-guru:#b9821c; --c-bhagat:#a8457c; --c-sufi:#2b8a62; --c-companion:#2c6fae; --c-martyr:#b5452e; --c-leader:#4a5a8a; --c-ruler:#7a6648; --c-poet:#7d4fa3; --c-modern:#1f8a8a;
  --won:#2b8a62; --lost:#b5452e; --held:#a7801a; --massacre:#8e2f5f; --other:#5d6a86;
  --shadow:0 18px 40px -24px rgba(20,23,27,.35);
  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --ui:'Archivo','Helvetica Neue',Arial,sans-serif;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --gur:'Noto Sans Gurmukhi','Raavi','Nirmala UI',sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0e1114; --bg-2:#13171b; --surface:#171b20; --surface-2:#1c2127;
  --ink:#eceef0; --ink-2:#c9ced4; --muted:#8e959e; --faint:#636a73;
  --line:#262c33; --line-2:#363d46;
  --river:#5aa6e0; --river-soft:rgba(90,166,224,.12);
  --ochre:#e0a944; --ochre-fill:rgba(224,169,68,.30); --ochre-soft:rgba(224,169,68,.12);
  --brick:#e0705a; --raj:rgba(224,112,90,.14);
  --land:#1b2026; --land-pj:#222a2f; --relief:rgba(236,238,240,.06); --desert:rgba(224,169,68,.10); --sea:#13171b;
  --c-guru:#e0a944; --c-bhagat:#e083b6; --c-sufi:#5cc79a; --c-companion:#6fb0ec; --c-martyr:#e0705a; --c-leader:#9aa9dc; --c-ruler:#c9b08a; --c-poet:#b98ae0; --c-modern:#5cc7c7;
  --won:#5cc79a; --lost:#e0705a; --held:#e0c25a; --massacre:#d078a6; --other:#9aa9dc;
  --shadow:0 18px 40px -24px rgba(0,0,0,.8); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0e1114; --bg-2:#13171b; --surface:#171b20; --surface-2:#1c2127;
  --ink:#eceef0; --ink-2:#c9ced4; --muted:#8e959e; --faint:#636a73;
  --line:#262c33; --line-2:#363d46;
  --river:#5aa6e0; --river-soft:rgba(90,166,224,.12);
  --ochre:#e0a944; --ochre-fill:rgba(224,169,68,.30); --ochre-soft:rgba(224,169,68,.12);
  --brick:#e0705a; --raj:rgba(224,112,90,.14);
  --land:#1b2026; --land-pj:#222a2f; --relief:rgba(236,238,240,.06); --desert:rgba(224,169,68,.10); --sea:#13171b;
  --c-guru:#e0a944; --c-bhagat:#e083b6; --c-sufi:#5cc79a; --c-companion:#6fb0ec; --c-martyr:#e0705a; --c-leader:#9aa9dc; --c-ruler:#c9b08a; --c-poet:#b98ae0; --c-modern:#5cc7c7;
  --won:#5cc79a; --lost:#e0705a; --held:#e0c25a; --massacre:#d078a6; --other:#9aa9dc;
  --shadow:0 18px 40px -24px rgba(0,0,0,.8); color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--ui);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--bg)}
a{color:var(--river);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--river);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance;font-family:var(--display)}
h1{font-size:clamp(38px,6vw,76px);line-height:.95;font-weight:800;font-stretch:118%;letter-spacing:-.01em;text-transform:uppercase}
h2{font-size:clamp(22px,2.6vw,30px);line-height:1.1;font-weight:700;font-stretch:112%;letter-spacing:-.005em}
h3{font-size:18px;line-height:1.2;font-weight:700;font-stretch:105%}
p{margin:0}
.k{font:600 11px/1.3 var(--ui);font-stretch:118%;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.gur{font-family:var(--gur)}
.lead{font:400 21px/1.5 var(--serif);color:var(--ink-2);max-width:62ch}
.muted{color:var(--muted)}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}

/* ---------- top bar ---------- */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar-in{display:flex;align-items:center;gap:22px;height:60px}
.brand{display:flex;align-items:baseline;gap:10px;color:var(--ink);white-space:nowrap}
.brand:hover{text-decoration:none}
.brand b{font:800 18px/1 var(--display);font-stretch:125%;letter-spacing:.04em}
.brand span{font:500 12px var(--ui);color:var(--muted)}
.brand i{display:inline-block;width:18px;height:12px;align-self:center;margin-right:2px}
.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:0 0 auto;padding:7px 11px;border-radius:6px;color:var(--ink-2);font:600 14px var(--ui);font-stretch:105%}
.nav a:hover{background:var(--bg-2);text-decoration:none}
.nav a.on{color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.tools{display:flex;gap:8px;align-items:center}
.sbtn{display:flex;align-items:center;gap:8px;width:220px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:500 14px var(--ui);text-align:left}
.sbtn svg{width:15px;height:15px;flex:0 0 15px}
.sbtn span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbtn kbd{font:500 11px var(--mono);padding:0 5px;border:1px solid var(--line);border-radius:4px}
.ibtn{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}
.ibtn svg{width:17px;height:17px}
@media (max-width:1560px){.brand span{display:none}.nav a{padding:7px 8px;font-size:13.5px}.sbtn{width:170px}}
@media (max-width:980px){
  .bar-in{height:54px}
  .brand span{display:none}
  .tools{margin-left:auto}
  .sbtn{width:auto;min-width:0}.sbtn kbd,.sbtn span{display:none}
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
}

main{display:block;padding-bottom:80px}
.foot{border-top:1px solid var(--line);padding-block:26px;color:var(--muted);font:400 14px/1.6 var(--ui)}

/* ---------- page head ---------- */
.ph{display:grid;gap:14px;padding-block:44px 28px}
.ph .gl{font:400 17px var(--gur);color:var(--muted)}
.sec{margin-top:52px;display:grid;gap:18px;align-content:start}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tab{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--ink-2);font:600 13.5px var(--ui)}
.tab:hover{border-color:var(--ink-2)}
.tab.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.tab .sw{width:9px;height:9px;border-radius:2px}
.tab .c{font:500 11.5px var(--mono);opacity:.7}
.tab svg{width:12px;height:12px}
.tab.on svg path{fill:var(--bg)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border-radius:4px;font:600 11.5px/1.7 var(--ui);letter-spacing:.03em;white-space:nowrap;color:var(--bg)}
.pill.won{background:var(--won)}.pill.lost{background:var(--lost)}.pill.held{background:var(--held)}.pill.massacre{background:var(--massacre)}.pill.other{background:var(--other)}
.cat{display:inline-flex;align-items:center;gap:6px;font:600 11px/1.3 var(--ui);font-stretch:115%;letter-spacing:.12em;text-transform:uppercase;color:var(--cc,var(--muted))}
.cat::before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor}

/* ---------- monogram tiles ---------- */
.mg{display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:color-mix(in srgb,var(--cc) 14%,var(--surface));color:var(--cc);font:800 18px/1 var(--display);font-stretch:125%;letter-spacing:.02em;position:relative;overflow:hidden}
.mg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cc)}
.mg.s{width:30px;height:30px;font-size:11px;border-radius:6px}.mg.s::after{height:2px}
.mg.m{width:52px;height:52px}
.mg.l{width:112px;height:112px;font-size:40px;border-radius:12px}.mg.l::after{height:5px}

/* ---------- people grid ---------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0;border-top:1px solid var(--line)}
.prow{display:flex;gap:14px;align-items:flex-start;padding:16px 14px 16px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.prow:hover{text-decoration:none;background:linear-gradient(90deg,transparent,var(--surface-2))}
.prow:hover strong{color:var(--river)}
.prow .tx{min-width:0;display:grid;gap:3px}
.prow strong{font:700 17px/1.2 var(--display);font-stretch:105%}
.prow .ds{font:500 12.5px var(--mono);color:var(--muted)}
.prow .sm{font:400 15px/1.45 var(--serif);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:700px){.pgrid{column-gap:28px}}

/* ---------- war rows ---------- */
.wlist{display:grid;border-top:1px solid var(--line)}
.wrow{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.wrow:hover{text-decoration:none}
.wrow:hover strong{color:var(--river)}
.wrow .yr{font:500 22px/1 var(--mono);font-variant-numeric:tabular-nums}
.wrow .yr small{display:block;margin-top:5px;font:500 11px var(--ui);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wrow strong{font:700 18px/1.2 var(--display);font-stretch:105%}
.wrow .sd{display:block;margin-top:3px;font:400 14.5px/1.4 var(--serif);color:var(--muted)}
.wrow .sd i{font-style:normal;color:var(--faint);padding:0 5px;font-family:var(--ui);font-size:12px}
@media (max-width:640px){.wrow{grid-template-columns:62px minmax(0,1fr)}.wrow .yr{font-size:17px}.wrow .pill{grid-column:2;justify-self:start}}

/* ---------- maps ---------- */
.mapbox{position:relative;background:var(--sea);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mapbox svg.map{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.mapbox svg.map:active{cursor:grabbing}
.m-land{fill:var(--land)}
.m-pj{fill:var(--land-pj)}
.m-relief{fill:url(#hatch)}
.m-desert{fill:url(#dots)}
.m-country{fill:none;stroke:var(--faint);stroke-width:1.1;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}
.m-state{fill:none;stroke:var(--line-2);stroke-width:.6;vector-effect:non-scaling-stroke}
.m-river{fill:none;stroke:var(--river);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}
.m-rl{font:italic 400 15px var(--serif);fill:var(--river);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}
.m-doab{font:600 10px var(--ui);font-stretch:125%;letter-spacing:.3em;text-transform:uppercase;fill:var(--muted);opacity:.8;pointer-events:none}
.m-mt{font:600 10.5px var(--ui);font-stretch:125%;letter-spacing:.35em;fill:var(--faint);pointer-events:none}
.e-cell{fill:transparent;stroke:var(--ochre);stroke-opacity:.0;stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill .35s}
.e-cell.on{fill:var(--ochre-fill);stroke-opacity:.45}
.e-cell.lost{fill:var(--ochre-soft);stroke-opacity:.25}
.e-cell.raj{fill:var(--raj);stroke:var(--brick);stroke-opacity:.35}
.e-out{fill:none;stroke:var(--ochre);stroke-width:1.6;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;transition:opacity .3s}
.e-cis{fill:url(#cisHatch);stroke:var(--brick);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;transition:opacity .3s}
.e-lbl{font:700 10px var(--ui);font-stretch:118%;letter-spacing:.08em;text-transform:uppercase;fill:var(--ochre);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none;transition:opacity .3s}
.e-yr{font:500 9.5px var(--mono);fill:var(--muted);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}
.pin{cursor:pointer}
.pin .pd{stroke:var(--surface);stroke-width:1.3}
.pin .ph{fill:transparent}
.pin:hover .ph,.pin.sel .ph{fill:var(--river-soft);stroke:var(--river);stroke-width:1}
.pin text{font:600 11.5px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}
.pin text{transition:opacity .15s}
.pin text.hid,.map text.hid{opacity:0}
.pin:hover text.hid,.pin.sel text.hid{opacity:1}
.pin:hover{position:relative;z-index:2}
.jpath{fill:none;stroke:var(--brick);stroke-width:2.4;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;stroke-linecap:round}
.jstop{fill:var(--surface);stroke:var(--brick);stroke-width:2;vector-effect:non-scaling-stroke}
.jnum{font:700 10px var(--ui);fill:var(--brick);pointer-events:none}
.mzoom{position:absolute;right:12px;bottom:12px;display:grid;gap:4px}
.mzoom button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 16px var(--ui);box-shadow:var(--shadow)}
.mcard{position:absolute;right:12px;top:12px;width:340px;max-width:calc(100% - 24px);max-height:calc(100% - 80px);overflow:auto;padding:18px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);display:grid;gap:10px}
.mcard h3{font-size:22px;font-stretch:112%}
.mcard p{font:400 15.5px/1.5 var(--serif);color:var(--ink-2)}
.mcard .x{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:20px}
.mcard .x:hover{background:var(--bg-2)}
@media (max-width:700px){.mcard{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:55%}.mcard:not([hidden])~.mzoom{display:none}}
.mfilters{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding-block:12px}
.mfilters .tabs{gap:5px}
@media (max-width:700px){.mfilters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.mfilters .tabs{flex-wrap:nowrap}.mfilters .tab{flex:0 0 auto}}
.legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;font:500 13px var(--ui);color:var(--muted)}
.legend span{display:inline-flex;gap:7px;align-items:center}
.legend svg{width:14px;height:14px}

/* empire control */
.ectl{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:center;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);box-shadow:var(--shadow)}
.ectl .play{width:42px;height:42px;border-radius:50%;border:0;background:var(--ochre);color:#fff;display:grid;place-items:center}
.ectl .play svg{width:16px;height:16px}
.ectl .yr{font:500 34px/1 var(--mono);color:var(--ink);min-width:3.2ch}
.ectl .rng{display:grid;gap:6px;min-width:0}
.ectl .cap{font:600 13.5px var(--ui);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ectl input[type=range]{width:100%;accent-color:var(--ochre)}
.ectl .ticks{position:relative;height:12px}
.ectl .ticks span{position:absolute;top:0;transform:translateX(-50%);font:500 10px var(--mono);color:var(--faint)}

/* ---------- home ---------- */
.hero{position:relative;height:min(78vh,780px);min-height:520px;border-bottom:1px solid var(--line);background:var(--sea);overflow:hidden}
.hero .mapbox{position:absolute;inset:0;border:0;border-radius:0}
.hero-copy{position:absolute;left:0;right:0;bottom:0;pointer-events:none;padding-block:28px}
.hero-copy .wrap{display:grid;grid-template-columns:minmax(0,560px) minmax(0,460px);justify-content:space-between;align-items:end;gap:24px}
.hero-copy .t{pointer-events:auto;display:grid;gap:12px;padding:22px 24px;border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-copy .t h1{font-size:clamp(44px,7vw,92px)}
.hero-copy .t p{font:400 18px/1.45 var(--serif);color:var(--ink-2)}
.hero-copy .ectl{pointer-events:auto}
.hero-copy .links{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:8px;font:700 14px var(--ui);font-stretch:108%;background:var(--ink);color:var(--bg);border:1px solid var(--ink)}
.btn:hover{text-decoration:none;opacity:.88}
.btn.o{background:transparent;color:var(--ink);border-color:var(--line-2)}
@media (max-width:900px){
  .hero{height:auto;min-height:0;display:flex;flex-direction:column}
  .hero .mapbox{position:relative;height:56vh;min-height:360px}
  .hero-copy{position:static;padding-block:16px}
  .hero-copy .wrap{grid-template-columns:1fr}
  .hero-copy .t{box-shadow:none}
}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--line)}
.stat{padding:20px 18px 18px;border-right:1px solid var(--line);color:var(--ink)}
.stat:last-child{border-right:0}
.stat:hover{text-decoration:none;background:var(--surface-2)}
.stat b{display:block;font:500 34px/1 var(--mono)}
.stat span{font:600 12px var(--ui);font-stretch:112%;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat:nth-child(3n){border-right:0}.stat:nth-child(-n+3){border-bottom:1px solid var(--line)}}
.eras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.era-c{display:grid;gap:8px;align-content:start;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);min-height:170px}
.era-c:hover{text-decoration:none;background:var(--surface)}
.era-c .r{font:500 12.5px var(--mono);color:var(--river)}
.era-c p{font:400 15px/1.45 var(--serif);color:var(--muted)}
.era-c .n{margin-top:auto;font:600 12px var(--ui);color:var(--faint)}
@media (max-width:900px){.eras{grid-template-columns:repeat(2,minmax(0,1fr))}}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
@media (max-width:900px){.two{grid-template-columns:1fr;gap:20px}}

/* ---------- charts ---------- */
.chart{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 8px}
.chart svg{display:block;width:100%;height:auto}
.chart text{font-family:var(--ui);fill:var(--muted)}
.chart .row{cursor:pointer;outline:none}
.chart .hit{fill:transparent}
.chart .row:hover .hit,.chart .row:focus-visible .hit{fill:var(--river-soft)}
.chart .row:hover .rl{fill:var(--river)}
.tip{position:fixed;z-index:60;pointer-events:none;max-width:290px;padding:10px 12px;border-radius:8px;background:var(--ink);color:var(--bg);font:400 13.5px/1.45 var(--ui);box-shadow:var(--shadow)}
.tip b{display:block;font:700 14.5px/1.25 var(--display);margin-bottom:2px}

/* ---------- detail ---------- */
.dh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:end;padding-block:40px 28px;border-bottom:1px solid var(--ink)}
.dh h1{font-size:clamp(34px,5vw,64px)}
.dh .gl{font:400 20px var(--gur);color:var(--muted)}
.dh .lead{font-size:20px}
.back{display:inline-block;margin-top:22px;font:600 13px var(--ui)}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin:0;border-bottom:1px solid var(--line)}
.facts div{padding:14px 16px 14px 0;display:grid;gap:3px;align-content:start;min-width:0}
.facts dt{font:600 10.5px var(--ui);font-stretch:118%;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;font:500 15.5px/1.4 var(--ui)}
.life{position:relative;height:46px;margin-top:8px}
.life .ax{position:absolute;left:0;right:0;top:14px;height:1px;background:var(--line-2)}
.life .lf{position:absolute;top:10px;height:9px;border-radius:2px;background:var(--cc);opacity:.35}
.life .gs{position:absolute;top:8px;height:13px;border-radius:2px;background:var(--cc)}
.life .tk{position:absolute;top:26px;font:500 10.5px var(--mono);color:var(--faint);transform:translateX(-50%)}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;margin-top:32px;align-items:start}
.prose{display:grid;gap:18px;max-width:66ch}
.prose p{font:400 19.5px/1.65 var(--serif)}
.side{display:grid;gap:22px;position:sticky;top:90px}
.side h3{font-size:13px;font-stretch:118%;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.mini{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--line);background:var(--sea)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 13.5px var(--ui)}
.chip.t{padding-left:10px}
.chip:hover{border-color:var(--river);text-decoration:none;color:var(--river)}
.vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;padding-block:16px;border-bottom:1px solid var(--line)}
.vs .s{display:grid;gap:3px}
.vs .s b{font:700 18px/1.3 var(--display);font-stretch:105%}
.vs .x{font:500 14px var(--mono);color:var(--faint)}
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:28px}
@media (max-width:900px){.dh{grid-template-columns:1fr;gap:16px}.mg.l{width:76px;height:76px;font-size:28px}.cols{grid-template-columns:1fr;gap:32px}.side{position:static}.vs{grid-template-columns:1fr}}

/* ---------- gurus ---------- */
.line10{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.g10{display:grid;gap:8px;align-content:start;padding:14px 12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.g10:hover{text-decoration:none;background:var(--surface)}
.g10 .no{font:500 28px/1 var(--mono);color:var(--c-guru)}
.g10 b{font:700 15px/1.15 var(--display);font-stretch:105%}
.g10 small{font:500 11.5px var(--mono);color:var(--muted)}
@media (max-width:1100px){.line10{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.line10{grid-template-columns:repeat(2,minmax(0,1fr))}}
.quote{display:grid;gap:10px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quote .gq{font:400 24px/1.5 var(--gur)}
.quote .tr{font:italic 400 19px/1.5 var(--serif);color:var(--ink-2);max-width:70ch}

/* ---------- timeline ---------- */
.tlr{padding-block:6px 14px;border-bottom:1px solid var(--line)}
.tlr .chart{border:0;background:transparent;padding:0}

.tlr .eb{fill:var(--bg-2)}.tlr .eb.on{fill:var(--river-soft)}
.tlr .en{font:600 9.5px var(--ui);font-stretch:118%;letter-spacing:.08em;text-transform:uppercase;fill:var(--muted)}
.tlr .ey{font:500 9.5px var(--mono);fill:var(--faint)}
.chart.plain{border:0;padding:0;background:transparent}
.era{margin-top:40px;scroll-margin-top:190px}
.era-h{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.era-h .r{font:500 13px var(--mono);color:var(--river);padding-top:6px}
.era-h p{font:400 16px/1.5 var(--serif);color:var(--muted);margin-top:4px}
.evs{list-style:none;margin:0;padding:0}
.ev{display:grid;grid-template-columns:150px 240px minmax(0,1fr);gap:28px;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:200px;align-items:start}
.ev .d{font:600 15px/1.4 var(--mono);color:var(--ink);display:grid;gap:6px;border-top:3px solid var(--kc);padding-top:8px}
.ev .kn{font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--kc)}
.evpic{margin:0;border-radius:6px;overflow:hidden;background:var(--bg-2);display:flex;justify-content:center}
.evpic img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.evpic.none{aspect-ratio:4/3;align-items:center;background:color-mix(in srgb,var(--kc) 12%,var(--surface));border-bottom:4px solid var(--kc)}
.evpic.none span{font:800 34px/1 var(--display);font-stretch:120%;color:var(--kc)}
.ev .t{display:grid;gap:10px;min-width:0}
.ev .t h3{font:700 24px/1.2 var(--display);font-stretch:105%;margin:0}
.ev .t p{font:400 17px/1.6 var(--serif);color:var(--ink-2);margin:0;max-width:68ch}
.ev .t p.s1{color:var(--ink);font-size:18px}
.ev .t .lk{font:600 13px var(--ui)}
.ev.flash{background:var(--river-soft)}
@media (max-width:1000px){.ev{grid-template-columns:200px minmax(0,1fr);gap:18px}.ev .d{grid-column:1/-1;grid-template-columns:auto auto;justify-content:start;gap:12px;align-items:baseline}}
@media (max-width:640px){.era-h{grid-template-columns:1fr;gap:4px}.ev{grid-template-columns:1fr}.evpic img{max-height:240px}.ev .t h3{font-size:21px}}

/* ---------- places ---------- */
.plgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));column-gap:28px;border-top:1px solid var(--line)}
.pl{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.pl:hover{text-decoration:none}.pl:hover b{color:var(--river)}
.pl svg{width:14px;height:14px;margin-top:3px}
.pl b{font:700 15.5px/1.25 var(--display);font-stretch:105%}
.pl small{display:block;font:500 12.5px var(--ui);color:var(--muted)}

/* ---------- empire page ---------- */
.acq{display:grid;border-top:1px solid var(--line)}
.acq-r{display:grid;grid-template-columns:70px 180px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline;cursor:pointer}
.acq-r:hover{background:var(--surface-2)}
.acq-r .y{font:500 15px var(--mono);color:var(--ochre)}
.acq-r b{font:700 15px var(--display);font-stretch:105%}
.acq-r span{font:400 15px/1.45 var(--serif);color:var(--muted)}
@media (max-width:640px){.acq-r{grid-template-columns:52px minmax(0,1fr);gap:2px 12px}.acq-r .y{grid-row:1/3}.acq-r span:not(.y){grid-column:2}}
.rulers{width:100%;border-collapse:collapse;font:500 15px var(--ui)}
.rulers th{text-align:left;font:600 10.5px var(--ui);font-stretch:118%;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:8px 10px 8px 0;border-bottom:1px solid var(--ink)}
.rulers td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.rulers td.mono{white-space:nowrap}
.tablewrap{overflow-x:auto}

/* ---------- search ---------- */
.pal{position:fixed;inset:0;z-index:50;display:grid;align-items:start;justify-items:center;padding-top:calc(9vh + env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:rgba(10,12,14,.45)}
.pal-box{width:min(660px,100%);border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.pal-box input{width:100%;padding:16px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;font:500 18px var(--ui);outline:none}
.pal-res{max-height:min(62vh,540px);overflow-y:auto;padding:6px}
.pal-res a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;color:var(--ink)}
.pal-res a:hover,.pal-res a.on{background:var(--bg-2);text-decoration:none}
.pal-res .nm{min-width:0;flex:1}
.pal-res .nm b{display:block;font:700 15px/1.25 var(--display);font-stretch:105%}
.pal-res .nm small{display:block;font:400 13px/1.3 var(--ui);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-res .ty{font:600 10.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.pal-empty{padding:20px;color:var(--muted)}

/* ---------- figures, plates, numbers ---------- */
.fig{margin:22px 0 0;display:grid;gap:8px}
.plate{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:var(--sea)}
.fig figcaption{font:500 13px var(--ui);color:var(--muted)}
.src{font:400 13.5px/1.5 var(--ui);color:var(--muted);max-width:90ch}
.twoP{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tp{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tpn{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tpn b{display:block;font-size:26px;line-height:1.1;font-weight:500}
.tpn div>b:not(.mono){font:700 18px/1.4 var(--display)}
.tpn span{font:500 12px var(--ui);color:var(--muted)}
.relbar{display:flex;height:14px;border-radius:3px;overflow:hidden;gap:1px}
.relkey{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 13px var(--ui);color:var(--ink-2)}
.relkey i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
@media (max-width:800px){.twoP{grid-template-columns:1fr}.tpn{grid-template-columns:repeat(2,minmax(0,1fr))}}
.aeras{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:6px;background:var(--surface)}
.aeras button{display:grid;gap:2px;text-align:left;padding:10px 12px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink);min-width:0}
.aeras button:last-child{border-right:0}
.aeras button b{font:700 13.5px/1.2 var(--display);font-stretch:105%}
.aeras button span{font:500 11px var(--mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aeras button:hover{background:var(--bg-2)}
.aeras button.on{background:var(--ink);color:var(--bg)}.aeras button.on span{color:var(--bg);opacity:.75}
@media (max-width:1100px){.aeras{display:flex;overflow-x:auto;scrollbar-width:none}.aeras button{flex:0 0 auto;min-width:130px}}
#mcount{margin-left:auto}
.verse{margin:0;padding:22px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:8px}
.vg{font:400 clamp(20px,2.4vw,27px)/1.55 var(--gur);color:var(--ink);margin:0}
.ve{font:italic 400 clamp(17px,1.8vw,20px)/1.5 var(--serif);color:var(--ink-2);margin:0;max-width:70ch}
.verse cite{font:600 11px var(--ui);font-stretch:115%;letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--muted)}
.proph{display:grid;border-top:1px solid var(--ink)}
.pr{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.pr-m{display:grid;gap:6px;align-content:start}.pr-m .mono{font-size:26px;color:var(--ochre)}
.pr-b{display:grid;gap:12px;max-width:72ch}.pr-b h2{font-size:24px}
.pr-b>p:not(.vg):not(.ve){font:400 17.5px/1.65 var(--serif);margin:0}
.chron{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.ch{display:grid;gap:8px;align-content:start;padding-top:14px;border-top:3px solid var(--ochre)}
.ch .mono{color:var(--ochre);font-size:13px}.ch p{font:400 16px/1.6 var(--serif);margin:0;color:var(--ink-2)}
.retold{display:grid;gap:8px;margin-top:6px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.retold p{font-style:italic}
.prose-lg p{font-size:21px;line-height:1.7}
.prose-lg p:first-child::first-letter{float:left;font:800 74px/.82 var(--display);margin:6px 10px 0 0;color:var(--river)}
.rivgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.riv{display:grid;gap:8px;align-content:start;padding:16px 0;border-top:3px solid var(--river)}
.riv-h{display:flex;justify-content:space-between;align-items:baseline}.riv-h h3{font-size:24px;font-stretch:115%}
.riv-n{display:flex;gap:16px;flex-wrap:wrap;font:500 13.5px var(--ui)}.riv-n i{font-style:normal;color:var(--muted);margin-right:4px}
.riv p{font:400 16px/1.55 var(--serif);margin:0}.riv .lore{font-style:italic;color:var(--ink-2)}
.seasons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line)}
.seasons div{padding:16px 16px 16px 0;display:grid;gap:4px;align-content:start}
.seasons b{font:700 16px var(--display)}.seasons .mono{font-size:12px;color:var(--muted)}.seasons p{font:400 15px/1.5 var(--serif);margin:0}
.names a{display:grid;padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.names a:hover{text-decoration:none}.names a:hover b{color:var(--river)}
@media (max-width:800px){.pr{grid-template-columns:1fr;gap:8px}.seasons{grid-template-columns:1fr 1fr}}

.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:32px;margin:0;border-top:1px solid var(--line)}
.ideas div{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:4px;align-content:start}
.ideas dt{font:700 16px var(--display);font-stretch:108%}
.ideas dd{margin:0;font:400 16px/1.55 var(--serif);color:var(--ink-2)}
.cmp td{min-width:180px;font-size:14.5px;line-height:1.45}
.nsearch{width:100%;max-width:420px;padding:9px 12px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);font:500 14.5px var(--ui)}
.names{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));column-gap:20px;border-top:1px solid var(--line)}
.names span{display:grid;padding:7px 0;border-bottom:1px solid var(--line)}
.names b{font:600 14px/1.3 var(--ui)}
.names small{font:500 12px var(--mono);color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* =================== multi-page additions =================== */
.skip{position:absolute;top:-200px;inset-inline-start:16px}.skip:focus{top:16px;z-index:99;background:var(--surface);padding:8px 12px;border-radius:6px}
/* header: title bar + section strip + full index */
.bar-in{justify-content:space-between}
.strip{border-top:1px solid var(--line)}
.strip-in{display:flex;flex-wrap:wrap;gap:0 2px}
.strip-in::-webkit-scrollbar{display:none}
.strip a{flex:0 0 auto;padding:11px 12px 10px;color:var(--ink-2);font:600 14px var(--ui);font-stretch:105%;white-space:nowrap;border-bottom:2px solid transparent}
.strip a:hover{color:var(--ink);text-decoration:none;border-bottom-color:var(--line)}
.strip a.on{color:var(--ink);border-bottom-color:var(--river)}
.strip a:first-child{padding-left:0}
.allbtn{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:600 14px var(--ui)}
.allbtn svg{width:16px;height:16px}
body.open .allbtn{background:var(--surface);color:var(--ink)}
.idx{display:none;position:fixed;left:0;right:0;top:var(--hdr,104px);bottom:0;overflow:auto;overscroll-behavior:contain;background:var(--bg);z-index:35;border-top:1px solid var(--line)}
body.open .idx{display:block}
html:has(body.open){overflow:hidden}
.idx-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-block:28px 60px}
.idx-g h3{font:700 12px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--ink);margin-bottom:6px}
.idx-g a{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.idx-g a:hover{text-decoration:none;color:var(--river)}
.idx-g b{font:700 19px var(--display);font-stretch:110%}
.idx-g span{font:400 14px/1.4 var(--ui);color:var(--muted)}
@media (max-width:980px){.idx-in{grid-template-columns:1fr 1fr}.allbtn span{display:none}.allbtn{width:36px;padding:0;justify-content:center}.strip a{padding:10px 10px 9px;font-size:13.5px}}
@media (max-width:560px){.idx-in{grid-template-columns:1fr;gap:20px}}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font:600 12.5px var(--ui);color:var(--muted);padding-top:22px}
.crumbs a{color:var(--muted)}.crumbs span::before{content:"/";margin-right:6px;color:var(--faint)}
/* images */
.pic{position:relative;margin:0;background:var(--bg-2);border-radius:10px;overflow:hidden}
.pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.pic.contain img{object-fit:contain;background:var(--surface-2)}
.pic figcaption,.credit{font:400 12px/1.4 var(--ui);color:var(--muted);padding:8px 2px 0}
.credit a{color:var(--muted);text-decoration:underline}
.ent-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;padding-block:24px 30px;border-bottom:1px solid var(--ink)}
.ent-hero .pic{background:transparent;border-radius:6px;display:flex;justify-content:center}
.ent-hero .pic img{width:auto;max-width:100%;height:auto;max-height:min(78vh,760px);object-fit:contain;border-radius:6px;box-shadow:0 1px 0 var(--line),0 18px 40px -24px rgba(0,0,0,.45)}
.ent-hero.wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}

.ent-hero h1{font-size:clamp(34px,5vw,66px)}
.ent-hero .gl{font:400 21px var(--gur);color:var(--muted)}
.ent-hero .lead{font-size:20px}
.ent-hero .noimg{aspect-ratio:4/5;display:grid;place-items:center;background:color-mix(in srgb,var(--cc,var(--river)) 12%,var(--surface));color:var(--cc,var(--river));font:800 clamp(60px,9vw,120px)/1 var(--display);font-stretch:125%;border-radius:10px;border-bottom:6px solid var(--cc,var(--river))}
@media (max-width:900px){.ent-hero,.ent-hero.wide{grid-template-columns:1fr;gap:18px}.ent-hero .noimg{aspect-ratio:16/10}.ent-hero .pic img{max-height:62vh}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:26px 22px}
.card{display:grid;gap:8px;align-content:start;color:var(--ink)}
.card:hover{text-decoration:none}.card:hover b{color:var(--river)}
.card .pic,.card .tile{aspect-ratio:4/5}
.card.land .pic,.card.land .tile{aspect-ratio:4/3}
.card b{font:700 16.5px/1.2 var(--display);font-stretch:105%}
.card small{font:500 12.5px var(--mono);color:var(--muted)}
.card p{font:400 14.5px/1.45 var(--serif);color:var(--ink-2);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tile{display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--cc,var(--river)) 13%,var(--surface));color:var(--cc,var(--river));font:800 40px/1 var(--display);font-stretch:125%;border-bottom:4px solid var(--cc,var(--river))}
.cards.sm{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.cards.sm b{font-size:14.5px}
.masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:26px 22px}
.masonry .card .pic,.masonry .card .tile{aspect-ratio:4/5}
.infobox{display:grid;gap:0;border-top:3px solid var(--cc,var(--ink));margin:0}
.infobox div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.infobox dt{font:600 10.5px/1.6 var(--ui);font-stretch:118%;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.infobox dd{margin:0;font:500 15px/1.45 var(--ui)}
.article{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;margin-top:34px;align-items:start}
.article .side{position:sticky;top:84px}
@media (max-width:980px){.article{grid-template-columns:1fr;gap:30px}.article .side{position:static}}
.prose h2{margin-top:18px}
.mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:150px;gap:10px}
.mosaic a{position:relative;border-radius:10px;overflow:hidden;background:var(--bg-2);color:#fff}
.mosaic a img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mosaic a:hover img{transform:scale(1.04)}
.mosaic a span{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;font:700 12.5px/1.25 var(--ui);background:linear-gradient(transparent,rgba(0,0,0,.65))}
.mosaic a:nth-child(1){grid-column:span 2;grid-row:span 2}.mosaic a:nth-child(6){grid-column:span 2}
@media (max-width:800px){.mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:120px}}
.section-intro{font:400 21px/1.6 var(--serif);color:var(--ink-2);max-width:66ch}
.big-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.big-links a{display:grid;gap:6px;align-content:start;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);min-height:150px}
.big-links a:hover{text-decoration:none;background:var(--surface)}
.big-links b{font:800 20px/1.1 var(--display);font-stretch:118%;text-transform:uppercase}
.big-links span{font:400 15px/1.45 var(--serif);color:var(--muted)}
@media (max-width:900px){.big-links{grid-template-columns:1fr 1fr}}
.w-map{height:min(78vh,820px);min-height:440px}
noscript p{padding:20px;color:var(--muted)}
.ent-hero.sh{grid-template-columns:auto minmax(0,1fr)}
.ent-hero.sh .noimg{width:180px;aspect-ratio:4/5;font-size:30px;line-height:1.1;text-align:center}
@media (max-width:900px){.ent-hero.sh{grid-template-columns:auto minmax(0,1fr)}.ent-hero.sh .noimg{width:96px;font-size:17px;aspect-ratio:4/5}}

.subh{font:700 13px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:34px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
.tabs.jump{flex-wrap:wrap}

/* phone parallel timeline */
.lsm{display:grid;gap:14px;padding:4px 6px}
.lsm-l b{display:block;font:700 13px var(--ui);margin-bottom:4px}
.lsm-l p{display:flex;flex-wrap:wrap;gap:2px 10px;margin:6px 0 0;font:500 12.5px/1.45 var(--ui)}
.lsm-l p a,.lsm-l p i{font-style:normal;color:var(--ink)}
.lsm-l p span{font:500 11px var(--mono);color:var(--muted)}
.lsm-ax{position:relative;height:14px;font:500 10.5px var(--mono);color:var(--muted)}
.lsm-ax span{position:absolute;transform:translateX(-50%)}

/* timeline: folded extra text */
.evmore summary{cursor:pointer;font:600 13px var(--ui);color:var(--river);list-style:none}
.evmore summary::-webkit-details-marker{display:none}
.evmore[open] summary{display:none}
.evmore{display:grid;gap:10px}
.evmore p{margin:0 0 10px}

/* ---------- phones: more on each screen ---------- */
@media (max-width:640px){
  .ev{grid-template-columns:84px minmax(0,1fr);gap:4px 14px;padding:18px 0}
  .ev .d{grid-column:1/-1;border-top-width:2px;padding-top:6px;font-size:13px}
  .evpic{grid-column:1;align-self:start}
  .evpic img{max-height:110px;object-fit:cover;aspect-ratio:1}
  .evpic.none{aspect-ratio:1}.evpic.none span{font-size:15px}
  .ev .t{grid-column:2;gap:6px}
  .ev .t h3{font-size:17px}
  .ev .t p{font-size:15.5px;line-height:1.5}
  .ev .t p.s1{font-size:15.5px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .cards.sm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card .pic,.card .tile,.card.land .pic,.card.land .tile{aspect-ratio:1}
  .card b{font-size:14.5px}.card p{font-size:13.5px;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
  .masonry .card .pic,.masonry .card .tile{aspect-ratio:1}
  .ent-hero .pic img{max-height:44vh}
  .ent-hero{gap:14px;padding-block:14px 20px}
  .ent-hero h1{font-size:32px}
  .ent-hero .lead{font-size:17px}
  .ph{padding-block:26px 18px}
  .ph h1{font-size:40px}
  .sec{margin-top:34px}
  .tabs{gap:5px}.tab{padding:5px 10px;font-size:12.5px}
}

.cursec{display:none;font:600 13px var(--ui);color:var(--muted);margin-right:auto;padding-left:10px;border-left:1px solid var(--line-2)}
@media (max-width:760px){.strip{display:none}.cursec{display:block}.bar-in{gap:12px}}
.mfilters{flex-wrap:wrap!important;overflow:visible!important}.mfilters .tabs{flex-wrap:wrap!important}
@media (max-width:1100px){.aeras{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));overflow:visible}.aeras button{min-width:0!important;border-bottom:1px solid var(--line)}}

.big-cta{display:grid;gap:4px;margin-top:40px;padding:22px 24px;border:1px solid var(--ink);border-radius:12px;color:var(--ink);background:var(--surface)}
.big-cta:hover{text-decoration:none;background:var(--bg-2)}
.big-cta b{font:800 26px var(--display);font-stretch:115%}
.big-cta span:last-child{color:var(--muted);font:400 15px var(--ui)}

/* compact dated list (1984) */
.tl84{list-style:none;margin:0;padding:0;display:grid}
.tl84 li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.tl84 .d{font:600 13px/1.4 var(--mono);color:var(--kc);border-left:3px solid var(--kc);padding-left:8px}
.tl84 b{font:700 16px/1.3 var(--display);font-stretch:105%}
.tl84 p{margin:3px 0 0;font:400 15.5px/1.5 var(--serif);color:var(--ink-2)}
@media (max-width:640px){.tl84 li{grid-template-columns:1fr;gap:2px;padding:10px 0}.tl84 .d{border-left-width:2px}}

/* links inside running text */
a.xl{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--river) 55%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px}
a.xl:hover{color:var(--river);text-decoration-color:var(--river)}

/* Indus page */
.indus-hero{margin:4px 0 26px}.indus-hero img{width:100%;max-height:520px;object-fit:cover;border-radius:10px;display:block}
.phases{display:grid;gap:12px}
.ph-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:4px 18px;align-items:center}
.ph-l b{display:block;font:700 15px var(--display);font-stretch:105%}.ph-l span{font-size:12px;color:var(--muted)}
.ph-bar{position:relative;height:16px;background:var(--bg-2);border-radius:4px}
.ph-bar i{position:absolute;top:0;bottom:0;background:var(--river);border-radius:4px;min-width:4px}
.ph-row p{grid-column:2;margin:0;font:400 15px/1.45 var(--serif);color:var(--ink-2)}
.ph-ax{position:relative;height:16px;margin-left:248px;font:500 11px var(--mono);color:var(--muted)}
.ph-ax span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.sizes{display:grid;gap:8px;max-width:760px}
.sizes div{display:grid;grid-template-columns:120px minmax(0,1fr) 72px;gap:10px;align-items:center;font:600 14px var(--ui)}
.sizes i{display:block;height:14px;background:var(--river);border-radius:3px}
.sizes small{grid-column:2/-1;font:400 12px var(--ui);color:var(--muted);margin-top:-4px}
@media (max-width:640px){.ph-row{grid-template-columns:1fr}.ph-row p{grid-column:1}.ph-ax{margin-left:0}.sizes div{grid-template-columns:96px minmax(0,1fr) 62px}}

/* ethos band on the home page */
.ethos{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;margin:34px 0 10px;padding:30px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.ethos .motto{font:italic 400 30px/1.25 var(--serif);color:var(--ink);margin:8px 0 12px}
.ethos p{font:400 18px/1.55 var(--serif);color:var(--ink-2);margin:0 0 12px}
.ethos a{font:600 14px var(--ui)}
.ethos ol{margin:0;padding:0;list-style:none;counter-reset:e;display:grid;gap:10px}
.ethos li{counter-increment:e;display:flex;gap:12px;align-items:baseline;font:700 18px var(--display);font-stretch:108%}
.ethos li::before{content:counter(e,decimal-leading-zero);font:500 12px var(--mono);color:var(--river)}
@media (max-width:760px){.ethos{grid-template-columns:1fr;gap:16px}.ethos .motto{font-size:23px}}

@media (max-width:640px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat{padding:12px 10px 12px 0!important}
  .stat b{font-size:21px!important;word-break:break-word}
  .stat span{font-size:10.5px!important;letter-spacing:.05em!important;line-height:1.35!important}
  .lead,.ph .lead{font-size:17px!important;line-height:1.5!important}
  .eras-jump{display:none}
  select.era-select{display:block}
}
.era-select{display:none;width:100%;padding:9px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--ink);font:600 14px var(--ui);margin-bottom:6px}

/* ---------- home: rivers hero ---------- */
.rhero{position:relative;height:min(88vh,900px);min-height:560px;background:#05090f;overflow:hidden;color:#e9f1f8}
.rh-map{position:absolute;inset:0}
.rh-map svg{width:100%;height:100%;display:block}
.rh-word{position:absolute;right:-2vw;bottom:-6vh;font:600 min(30vw,420px)/1 var(--gur);color:#fff;opacity:.035;pointer-events:none;white-space:nowrap}
.rh-copy{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none}
.rh-copy .wrap{width:100%}
.rh-copy .wrap>*{pointer-events:auto;max-width:520px}
.rh-copy .k{color:#8fc3ea;letter-spacing:.14em}
.rh-copy h1{font-size:clamp(64px,10vw,150px);line-height:.9;color:#fff;margin:10px 0 14px;text-shadow:0 2px 30px rgba(0,0,0,.6)}
.rh-copy p{font:400 19px/1.55 var(--serif);color:#c9d9e6;margin:0 0 20px;text-shadow:0 1px 12px rgba(0,0,0,.8)}
.rh-copy .links{display:flex;flex-wrap:wrap;gap:8px}
.btn.lt{background:#fff;color:#0b1a2a;border-color:#fff}
.btn.ol{background:transparent;color:#e9f1f8;border:1px solid rgba(233,241,248,.45)}
.btn.ol:hover{border-color:#fff;text-decoration:none}
.rh-flow{stroke-dasharray:3 22;animation:rhflow 20s linear infinite}
@keyframes rhflow{to{stroke-dashoffset:-500}}
.rh-g1{font:600 19px var(--gur);fill:#d6ecff;paint-order:stroke;stroke:#05090f;stroke-width:4px}
.rh-e1{font:600 10px var(--ui);letter-spacing:.32em;fill:#7fb6e0}
.rh-doab{font:600 11px var(--ui);letter-spacing:.42em;fill:#5c87ad}
.rh-city text{font:500 12px var(--ui);fill:#f3e2c2;paint-order:stroke;stroke:#05090f;stroke-width:3px}
.rh-city:hover text{fill:#fff}
.rh-halo{fill:#ffcf7a;opacity:.18;animation:rhpulse 3.2s ease-in-out infinite}
@keyframes rhpulse{50%{opacity:.04;r:14px}}
.rh-down{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#cfe3f3;border:1px solid rgba(207,227,243,.35)}
.rh-down svg{width:20px;height:20px}
@media (max-width:760px){
  .rhero{height:92svh;min-height:600px}
  .rh-copy{align-items:flex-end;padding-bottom:70px;background:linear-gradient(transparent 45%,rgba(5,9,15,.92) 80%)}
  .rh-copy h1{font-size:64px}
  .rh-copy p{font-size:16px}
  .rh-word{font-size:46vw;bottom:auto;top:4vh;right:-4vw}
}
@media (prefers-reduced-motion:reduce){.rh-flow,.rh-halo{animation:none}}
.empbox{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.empbox .mapbox{height:min(70vh,620px);position:relative}
.empbox .ectl{position:absolute;right:16px;bottom:16px;max-width:460px;width:calc(100% - 32px)}
@media (max-width:760px){.empbox .mapbox{height:420px}.empbox .ectl{position:static;max-width:none;width:auto;border-radius:0}}

/* The Land: Indus feature */
.feat{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);color:var(--ink)}
.feat:hover{text-decoration:none;border-color:var(--ink-2)}
.feat img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}
.feat div{padding:26px;display:grid;gap:10px;align-content:center}
.feat b{font:800 34px/1 var(--display);font-stretch:112%}
.feat p{font:400 17px/1.5 var(--serif);color:var(--ink-2);margin:0}
.feat .go{font:600 14px var(--ui);color:var(--river)}
.mosaic.sm{margin-top:14px;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:120px}
.mosaic.sm a:nth-child(n){grid-column:auto;grid-row:auto}
@media (max-width:760px){.feat{grid-template-columns:1fr}.feat img{min-height:0;max-height:220px}.feat b{font-size:26px}.mosaic.sm{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:100px}}

/* dense people grid: many faces per screen */
.cards.dense{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:18px 14px}
.cards.dense .card{gap:4px}
.cards.dense .card b{font-size:13.5px;line-height:1.25}
.cards.dense .card small{font-size:11px}
.cards.dense .card p{display:none}
.cards.dense .card .pic,.cards.dense .card .tile{aspect-ratio:4/5}
.cards.dense .tile{font-size:26px}
@media (max-width:640px){.cards.dense{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px}.cards.dense .card b{font-size:12.5px}.cards.dense .card .pic,.cards.dense .card .tile{aspect-ratio:4/5}}

/* compact timeline rows */
.ev{grid-template-columns:118px 132px minmax(0,1fr);gap:18px;padding:16px 0}
.ev .d{font-size:13.5px;border-top-width:2px;padding-top:6px}
.evpic img{aspect-ratio:4/3;object-fit:cover;max-height:none;height:auto}
.evpic.none{aspect-ratio:4/3}.evpic.none span{font-size:18px}
.ev .t{gap:5px}
.ev .t h3{font-size:18.5px}
.ev .t p,.ev .t p.s1{font-size:16px;line-height:1.5;color:var(--ink-2)}
.ev .t .lk{font-size:12.5px}
.era-h{padding-block:22px 10px}
@media (max-width:1000px) and (min-width:641px){.ev{grid-template-columns:120px minmax(0,1fr)}.ev .d{grid-column:1/-1}}
@media (max-width:640px){.ev{grid-template-columns:72px minmax(0,1fr);gap:4px 12px;padding:12px 0}.evpic img{max-height:none;aspect-ratio:1}.ev .t h3{font-size:16px}.ev .t p,.ev .t p.s1{font-size:14.5px}}
/* back to top */
.totop{position:fixed;right:18px;bottom:18px;z-index:40;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);display:grid;place-items:center;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop svg{width:20px;height:20px}

/* Guru Nanak's udasis */
.udasis{margin-top:8px}
.ud-tabs{margin-bottom:12px}
.ud-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.ud-map{position:relative;min-width:0}
.ud-svg{display:block;width:100%;height:auto}
.ud-play{position:absolute;left:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);display:grid;place-items:center;box-shadow:var(--shadow)}
.ud-play svg{width:16px;height:16px}
.ud-stop{cursor:pointer}.ud-stop:hover circle{r:7}
.ud-side{border-left:1px solid var(--line);display:flex;flex-direction:column;max-height:620px;min-height:0}
.ud-head{padding:14px 16px;border-bottom:1px solid var(--line);display:grid;gap:4px}
.ud-head b{font:700 16px var(--display)}.ud-head p{margin:0;font:400 14.5px/1.45 var(--serif);color:var(--ink-2)}.ud-head .mono{font-size:12px;color:var(--muted)}
.ud-list{list-style:none;margin:0;padding:0;overflow:auto}
.ud-list li{padding:10px 16px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:10px;border-left:3px solid transparent}
.ud-list li:hover{background:var(--bg-2)}
.ud-list li.on{background:color-mix(in srgb,var(--jc) 14%,var(--surface));border-left-color:var(--jc)}
.ud-j{display:grid!important;gap:2px;border-left-color:var(--jc)!important}.ud-j b{font:700 14.5px var(--display)}.ud-j span{font:500 12px var(--ui);color:var(--muted)}
.ud-s .n{flex:0 0 22px;height:22px;border-radius:50%;background:var(--jc);color:#fff;font:700 11px var(--mono);display:grid;place-items:center}
.ud-s b{font:700 14px var(--ui)}.ud-s p{margin:2px 0 0;font:400 13.5px/1.4 var(--serif);color:var(--ink-2)}
@media (max-width:860px){.ud-wrap{grid-template-columns:1fr}.ud-side{border-left:0;border-top:1px solid var(--line);max-height:340px}}
.ud-lbl{font:600 11.5px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}


/* ---------- Punjab-wide organisation ---------- */
:root{--sh:"Noto Nastaliq Urdu",serif}
.brand .scripts i{font:400 13px/1 var(--sh);font-style:normal;width:auto;height:auto;display:inline;margin:0}
@media (min-width:1100px){.brand span.scripts{display:inline}}
.age{min-height:210px}.age img{height:0;min-height:100%;display:block}
@media (max-width:520px){.age{min-height:150px}}
.agestrip span{unicode-bidi:plaintext}
.rh-word.sh{right:auto;left:-2vw;top:-4vh;bottom:auto;font-family:var(--sh);font-size:min(22vw,300px);opacity:.03}
/* ages */
.ages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.age{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);color:var(--ink);min-height:190px}
.age:hover{text-decoration:none;border-color:var(--ink-2)}
.age img{width:100%;height:0;min-height:100%;object-fit:cover;object-position:50% 25%}
.age div{padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px;justify-content:flex-start}.age div .n{margin-top:auto;padding-top:4px}
.age b{font:800 22px/1.15 var(--display);font-stretch:108%}
.age p{margin:0;font:400 15px/1.45 var(--serif);color:var(--ink-2)}
.age .n{font:500 12px var(--mono);color:var(--muted)}
.age-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;align-items:start;margin-bottom:10px}
.age-hero .pic{margin:0;background:transparent}.age-hero .pic img{border-radius:10px;max-height:460px;object-fit:cover}
.agestrip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.agestrip a{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:var(--bg-2);color:#fff}
.agestrip img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .5s}
.agestrip a:hover img{transform:scale(1.05)}
.agestrip span{position:absolute;left:0;right:0;bottom:0;padding:30px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.75));font:700 13px/1.25 var(--ui)}
.agestrip i{display:block;font:500 11px var(--mono);font-style:normal;opacity:.8}
@media (max-width:900px){.ages{grid-template-columns:1fr}.age-hero{grid-template-columns:1fr;gap:16px}.agestrip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){.age{grid-template-columns:110px minmax(0,1fr);min-height:0}.age b{font-size:18px}.age p{font-size:14px}}
/* hubs */
.hubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:10px 0}
.hub{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);color:var(--ink)}
.hub:hover{text-decoration:none;border-color:var(--ink-2)}
.hub img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 25%}
.hub div{padding:14px 16px;display:grid;gap:4px;align-content:start}
.hub b{font:800 21px var(--display);font-stretch:108%}.hub p{margin:0;font:400 15px/1.45 var(--serif);color:var(--ink-2)}
@media (max-width:760px){.hubs{grid-template-columns:1fr}.hub{grid-template-columns:120px minmax(0,1fr);grid-template-rows:none}.hub img{height:100%;aspect-ratio:auto}.hub b{font-size:17px}.hub p{font-size:13.5px}}
/* struggles */
.chaps{display:grid;gap:0}
.chap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.chap img,.chap .noim{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 25%;border-radius:10px;background:var(--bg-2)}
.chap .y{font-size:14px;color:var(--brick)}
.chap h2{font-size:28px;margin:4px 0 8px}
.chap p{font:400 16.5px/1.6 var(--serif);color:var(--ink-2);margin:0 0 10px;max-width:70ch}
.chap .go{font:600 14px var(--ui)}
@media (max-width:640px){.chap{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:18px 0}.chap h2{font-size:20px}.chap p{font-size:15px}}

.cards.dense.faces{grid-template-columns:repeat(9,minmax(0,1fr))}
@media (max-width:1100px){.cards.dense.faces{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:640px){.cards.dense.faces{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:800px){.mosaic:not(.sm) a:nth-child(1){grid-column:span 3;grid-row:span 2}.mosaic:not(.sm) a:nth-child(6){grid-column:auto}.mosaic:not(.sm) a:nth-child(8){display:none}}
@media (max-width:640px){.agestrip{grid-template-columns:repeat(2,minmax(0,1fr))}.agestrip a{aspect-ratio:16/10}.agestrip span{font-size:13.5px}}
.cards.dense.gurus11{grid-template-columns:repeat(11,minmax(0,1fr));gap:14px 10px}.cards.dense.gurus11 .card b{font-size:12.5px}
@media (max-width:1100px){.cards.dense.gurus11{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (max-width:640px){.cards.dense.gurus11{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ---------- Punjabi script toggle ---------- */
.pa-s{font-family:var(--sh);unicode-bidi:isolate}
html:not([data-script="s"]) .pa-s{display:none}
html[data-script="s"] .pa-g:not(.pa-only){display:none}
html[data-script="en"] .pj,html[data-script="en"] .gl,html[data-script="en"] .gur,html[data-script="en"] .pa-g,html[data-script="en"] .pa-s,html[data-script="en"] .brand .scripts{display:none}
.ibtn.scr{font:600 15px/1 var(--gur);width:auto;min-width:36px;padding:0 9px}
.ibtn.scr.sm{font-family:var(--sh);font-size:16px}
.rh-s1{font-family:var(--sh)!important}
.rh-word.sh{right:-2vw;left:auto;top:auto;bottom:-6vh;font-size:min(30vw,420px);opacity:.05}
.gl .pa-s{font-size:1.15em}
/* ---------- lighter home ---------- */
.rhero{height:min(74vh,760px);min-height:520px}
.mosaic.flat{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:150px}
.mosaic.flat a:nth-child(n){grid-column:auto;grid-row:auto;display:block}
@media (max-width:900px){.mosaic.flat{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:96px;gap:6px}.mosaic.flat a span{font-size:11px;padding:16px 6px 5px}}
@media (max-width:760px){
  .rhero{height:68svh;min-height:470px}
  .rh-copy{padding-bottom:56px}.rh-copy h1{font-size:54px}.rh-copy p{font-size:15px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .agestrip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .agestrip a{aspect-ratio:auto;height:58px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
  .agestrip a img{height:58px;width:58px}
  .agestrip span{position:static;background:none;padding:0 8px;font-size:12px;line-height:1.2}
  .cards.dense.faces{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px}
  .cards.dense.faces .card:nth-child(n+13){display:none}
  .cards.dense.faces .card b{font-size:11.5px}.cards.dense.faces .card small{display:none}
}
/* maps don't trap scrolling on touch screens; two fingers move them */
@media (pointer:coarse){.mapbox svg.map{touch-action:pan-y}body[data-page="atlas"] .mapbox svg.map{touch-action:none}}
/* 1984 inside Struggles */
.more84{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-top:6px}
.more84>summary{cursor:pointer;padding:14px 18px;font:700 15px var(--ui);color:var(--brick);list-style:none}
.more84>summary::before{content:"+ ";}.more84[open]>summary::before{content:"− "}
.more84-in{padding:0 18px 18px}
.chap{scroll-margin-top:120px}
@media (min-width:1100px){.brand .scripts .pj{display:inline}html:not([data-script="s"]) .brand .scripts .pa-g,html[data-script="s"] .brand .scripts .pa-s{display:inline}}
/* traditions filter */
.trs{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:8px}
.trs-l{font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.trc{display:inline-flex;align-items:center;cursor:pointer;user-select:none}
.trc input{position:absolute;opacity:0;width:0;height:0}
.trc span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;border:1.5px solid var(--tc);font:600 12.5px var(--ui);color:var(--ink-2);background:transparent;transition:background .15s,color .15s}
.trc span::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--tc)}
.trc input:checked+span{background:var(--tc);color:#fff}
.trc input:checked+span::before{background:#fff}
.trc input:not(:checked)+span{opacity:.6}
.trc input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.trc i{font-style:normal;font-family:var(--mono);font-size:11px;opacity:.75}
.trs-all{font:600 12px var(--ui);padding:5px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}
.ev .kn b{font-weight:700}
.trdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tc);margin-right:6px;vertical-align:middle}
@media (max-width:640px){.trc span{padding:4px 8px;font-size:11.5px}}
.card[hidden],.pr[hidden],.ch[hidden],.sec[hidden]{display:none!important}
.card b .trdot,.ch h3 .trdot{margin-right:7px}
.pr{border-left:3px solid var(--tc);padding-left:16px}
.ch{border-top:3px solid var(--tc)}
.trtag{display:block;font:700 11px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--tc);margin-top:4px}
.ph + .trs{margin:0 0 18px}
.pr-m .mono{font-size:20px;line-height:1.25}
@media (max-width:640px){#tlk{display:none}.pr{padding-left:12px}.pr-m .mono{font-size:16px}}
/* people of the land */
.comms{display:grid;gap:0;margin-top:10px}
.comm{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.comm[hidden]{display:none}
.comm>img,.comm>.noim{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:10px;background:var(--bg-2);border-top:4px solid var(--tc)}
.comm h2{font-size:28px;margin:0}
.comm p{font:400 16.5px/1.6 var(--serif);color:var(--ink-2);max-width:72ch;margin:0 0 10px}
.trpills{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.trpill{font:700 11.5px var(--ui);padding:3px 9px;border-radius:99px;background:var(--tc);color:#fff}
.cfacts{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0 0 14px;max-width:72ch}
.cfacts dt{font:600 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cfacts dd{margin:2px 0 0;font:400 14.5px/1.45 var(--ui);color:var(--ink)}
@media (max-width:640px){.comm{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:20px 0}.comm h2{font-size:21px}.comm p{font-size:15px}.cfacts{grid-template-columns:1fr}}
.comm{grid-template-columns:128px minmax(0,1fr);gap:22px}
.comm>img,.comm>.noim{aspect-ratio:1/1;max-width:128px}
@media (max-width:640px){.comm{grid-template-columns:64px minmax(0,1fr);gap:12px}.comm>img,.comm>.noim{max-width:64px}}
@media (max-width:640px){.comms ~ .jump,.trs + .jump{display:none}}
.commap{margin:8px 0 26px}
.cm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cmc{font:600 12.5px var(--ui);padding:5px 11px;border-radius:99px;border:1.5px solid var(--tc);background:transparent;color:var(--ink-2);cursor:pointer}
.cmc.on{background:var(--tc);color:#fff}
.cm-go{font:600 12px var(--ui);padding:3px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--river);cursor:pointer;margin:6px 0 2px}
@media (max-width:640px){.cmc{font-size:11.5px;padding:4px 9px}}
/* category edge on people pictures */
.card.fc .pic,.card.fc .tile{border-bottom:4px solid var(--cc)}
.catlegend{margin:4px 0 14px}
.catlegend .sw{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
/* videos */
.ytv{margin:18px 0 26px;max-width:760px}
.yt-play,.ytv iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;overflow:hidden;background:#000;position:relative;padding:0;cursor:pointer}
.yt-play img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .2s}
.yt-play:hover img{opacity:1}
.yt-btn{position:absolute;left:50%;top:50%;width:68px;height:48px;transform:translate(-50%,-50%)}
.ytv figcaption{font:500 13px var(--ui);color:var(--muted);margin-top:8px}
.card .vid{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.7);color:#fff;font:700 11px var(--ui);padding:3px 7px;border-radius:99px}
.card .vid{z-index:2}
.yt-out{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.75);color:#fff;font:600 12px var(--ui);padding:4px 9px;border-radius:99px}
a.yt-play{color:#fff}
/* village layer */
.vil-btn{position:absolute;top:10px;right:10px;z-index:5;display:inline-flex;align-items:center;gap:7px;font:600 12.5px var(--ui);padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.vil-btn .dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--brick);background:#fff}
.vil-btn[aria-pressed="true"]{background:var(--brick);color:#fff;border-color:var(--brick)}
.vil-btn i{font-style:normal;font-family:var(--mono);font-size:11px;opacity:.75}
.vil text{font:600 11px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.vil{cursor:pointer}
.abroad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 36px}
.abroad h3{font:700 19px var(--display);margin:0 0 6px}
.abroad p{font:400 16px/1.55 var(--serif);color:var(--ink-2);margin:0 0 8px}
@media (max-width:760px){.abroad{grid-template-columns:1fr}}
/* labelled parts on long pages */
.part{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin:64px 0 6px;padding:22px 0 18px;border-top:3px solid var(--ink);scroll-margin-top:110px}
.part .pn{font:800 54px/1 var(--display);color:var(--brick);font-stretch:110%}
.part h2{font:800 34px/1.1 var(--display);margin:0;text-transform:uppercase;letter-spacing:.01em}
.part p{margin:4px 0 0;font:400 16px/1.45 var(--serif);color:var(--muted)}
.parts-nav{margin:18px 0 0}.parts-nav b{color:var(--brick);margin-right:3px}
@media (max-width:640px){.part{margin-top:44px;gap:12px}.part .pn{font-size:38px}.part h2{font-size:24px}}
.map-toggles{margin-bottom:10px}
.map-toggles .tab:not(.on),#mlayers .tab:not(.on),#mextra .tab:not(.on){opacity:.55}
.vdot{display:inline-block;width:9px;height:9px;border-radius:50%;border:2px solid var(--brick);background:#fff;margin-right:6px;vertical-align:-1px}
.dist{fill:transparent;stroke:#7a5c3e;stroke-width:.9;stroke-dasharray:3 2;vector-effect:non-scaling-stroke;pointer-events:all}
.dist.pk{stroke:#2f7a53}.dist.in{stroke:#9a5a1e}
.dist:hover{fill:rgba(180,120,60,.12);stroke-width:2;stroke-dasharray:none}
.ddot{display:inline-block;width:12px;height:9px;border:1.5px dashed #9a5a1e;margin-right:6px;vertical-align:-1px}
.poems{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--c-poet);border-radius:10px;background:var(--card,transparent)}
.poems h3{margin:0 0 4px}.poems p{margin:0 0 8px;font-size:14px;opacity:.8}.poems a{display:inline-block;margin:2px 12px 2px 0;font-weight:600}
aside .poems{margin-top:12px;padding:10px 12px}
.card.nat p,.cards .card.nat p{-webkit-line-clamp:unset;display:block;overflow:visible}
/* year wheel */
.yw{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:28px;align-items:start}
.yw-svg{width:100%;max-width:340px;display:block}
.yw-seg{cursor:pointer;outline:none}
.yw-seg path{fill:var(--sc);fill-opacity:.22;stroke:var(--bg);stroke-width:2;transition:fill-opacity .15s}
.yw-seg:hover path,.yw-seg:focus path{fill-opacity:.4}
.yw-seg.on path{fill-opacity:.85}
.yw-seg text{text-anchor:middle;pointer-events:none;fill:var(--ink)}
.yw-seg.on text{fill:#fff}
.yw-g{font:600 13px var(--gur)}.yw-g.pa-s{font-family:'Noto Nastaliq Urdu',serif;font-size:12px}
.yw-e{font:500 8.5px var(--ui);text-transform:uppercase;letter-spacing:.04em;fill:var(--muted)!important}
.yw-seg.on .yw-e{fill:rgba(255,255,255,.85)!important}
.yw-hub{fill:var(--surface);stroke:var(--line)}
.yw-c1{text-anchor:middle;font:600 14px var(--gur);fill:var(--ink)}.yw-c2{text-anchor:middle;font:500 9px var(--ui);fill:var(--muted);text-transform:uppercase;letter-spacing:.06em}
html[data-script="s"] .yw-seg .pa-g,html[data-script="en"] .yw-seg .yw-g{display:none}
html:not([data-script="s"]) .yw-seg .pa-s{display:none}
.yw-leg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font:500 12px var(--ui);color:var(--muted);text-transform:capitalize}
.yw-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;opacity:.85}
.yw-h{font:700 26px/1.2 var(--display);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.yw-h .pj{font-size:20px;font-weight:600;color:var(--muted)}
.yw-h .mono{flex-basis:100%;font-size:12px;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.yw-mood{font:italic 400 18px/1.45 var(--serif);color:var(--ink-2);margin:12px 0 14px}
.yw-dl{margin:0;display:grid;gap:8px}.yw-dl div{display:grid;grid-template-columns:110px 1fr;gap:10px;border-top:1px solid var(--line);padding-top:8px}
.yw-dl dt{font:600 11px var(--ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:3px}.yw-dl dd{margin:0;font:400 15px/1.45 var(--serif)}
/* village walk and bride */
.vw{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.vw-svg{width:100%;display:block;border-radius:10px;border:1px solid var(--line)}
.vw-bg{fill:var(--land)}.vw-f0{fill:rgba(120,165,60,.30)}.vw-f1{fill:rgba(205,170,40,.30)}.vw-f2{fill:rgba(110,140,70,.18)}
.vw-in{fill:var(--land)}.vw-road{fill:none;stroke:rgba(160,120,70,.55);stroke-width:7}
.vw-h{fill:rgba(160,115,70,.35);stroke:rgba(120,85,50,.45);stroke-width:.6}.vw-hav{fill:rgba(181,69,46,.35);stroke:rgba(150,60,40,.6)}
.vw-tree{fill:rgba(43,138,98,.55)}.vw-pond{fill:var(--river-soft);stroke:var(--river);stroke-width:1.2}.vw-well{fill:var(--surface);stroke:var(--ink-2);stroke-width:1.5}
.vw-spot{cursor:pointer;outline:none}.vw-spot circle{fill:var(--ink);stroke:var(--bg);stroke-width:2}.vw-spot text{fill:var(--bg);font:700 10px var(--ui);text-anchor:middle;pointer-events:none}
.vw-spot.on circle,.vw-spot:hover circle,.vw-spot:focus circle{fill:var(--brick)}
.vw-p b{font:700 19px var(--display)}.vw-p .pj{color:var(--muted);font-size:15px;margin-left:4px}.vw-p p{font:400 16px/1.5 var(--serif);margin:8px 0 0}
.vw-n{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--bg);font:700 11px var(--ui);margin-right:8px;vertical-align:2px;flex:none}
.vw-keys{display:flex;flex-direction:column;margin-top:16px;border-top:1px solid var(--line)}
.vw-keys button{all:unset;cursor:pointer;display:flex;align-items:center;padding:6px 2px;font:500 13.5px var(--ui);color:var(--ink-2);border-bottom:1px solid var(--line)}
.vw-keys button.on{color:var(--ink);font-weight:700}.vw-keys button.on .vw-n{background:var(--brick)}
.br{grid-template-columns:minmax(0,220px) minmax(0,1fr)}.br-svg{width:100%;max-width:220px;display:block}
.br-dup{fill:var(--ochre-soft);stroke:var(--ochre);stroke-width:1.2}.br-body{fill:rgba(181,69,46,.22);stroke:var(--brick);stroke-width:1.2}.br-leg{fill:rgba(181,69,46,.12);stroke:var(--brick);stroke-width:1}
.br-arm{stroke:var(--ink-2);stroke-width:7;stroke-linecap:round;fill:none;opacity:.35}.br-head{fill:var(--surface);stroke:var(--ink-2);stroke-width:1.2}.br-plait{fill:none;stroke:var(--ink);stroke-width:4;stroke-linecap:round}.br-foot{fill:var(--ochre)}
/* wedding steps */
.ws{list-style:none;margin:22px 0 0;padding:0;border-left:2px solid var(--line-2);margin-left:13px}
.ws li{display:flex;gap:14px;padding:0 0 18px;margin-left:-14px}
.ws-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--brick);color:#fff;display:grid;place-items:center;font:700 12px var(--ui)}
.ws b{font:700 17px var(--display)}.ws .pj{color:var(--muted);font-size:14px;margin-left:4px}.ws p{margin:4px 0 6px;font:400 16px/1.5 var(--serif)}
/* kin */
.kin-bar{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.kin-bar p{margin:0;max-width:72ch;font:400 16px/1.5 var(--serif);color:var(--ink-2)}
.kin-q{flex:none;all:unset;cursor:pointer;padding:7px 14px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 13px var(--ui)}
.kg h4{font:600 12px var(--ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px}.kg h4 .pj{text-transform:none;letter-spacing:0;margin-left:6px}
.kts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.kt{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.kt small{font:500 12px var(--ui);color:var(--muted)}.kt b{font:700 17px var(--display)}.kt-w{font-size:15px;color:var(--ink-2)}
.kin.quiz .kt{cursor:pointer}.kin.quiz .kt:not(.show) b,.kin.quiz .kt:not(.show) .kt-w{visibility:hidden}
.kin.quiz .kt:not(.show)::after{content:"tap to reveal";font:500 11px var(--ui);color:var(--faint);margin-top:-22px}
/* nani */
.nani{margin-top:36px;border:1px solid var(--line);border-radius:12px;padding:0 18px;background:var(--surface)}
.nani summary{cursor:pointer;padding:14px 0;font:400 15px var(--ui);color:var(--muted)}.nani summary b{font:700 18px var(--display);color:var(--ink);margin-right:8px}
.nani h4{font:700 16px var(--display);margin:10px 0 4px}.nani p{font:400 16px/1.55 var(--serif);margin:0 0 12px;max-width:72ch}
@media (max-width:760px){
 .yw,.vw{grid-template-columns:1fr;gap:16px}.yw-svg{max-width:300px;margin:0 auto}.yw-leg{justify-content:center}
 .br{grid-template-columns:120px minmax(0,1fr);gap:12px}.br .vw-keys{display:none}
 .vw-keys{flex-direction:row;flex-wrap:wrap;gap:6px;border:0}.vw-keys button{border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 4px;font-size:12.5px}
 .yw-dl div{grid-template-columns:92px 1fr}.kin-bar{flex-direction:column}.kts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.vw-path{fill:none;stroke:rgba(160,120,70,.5);stroke-width:3;stroke-dasharray:3 3}.vw-ch{stroke:var(--river);stroke-width:1.5;opacity:.7}
.vw-h{fill:rgba(170,125,75,.42);stroke:none}
@media (max-width:760px){.br{grid-template-columns:150px minmax(0,1fr)}.br-svg{max-width:150px}}
@media (max-width:420px){.tools{gap:5px}}
/* battles list */
.wtabs{position:sticky;top:56px;z-index:5;background:var(--bg);padding:8px 0;margin-top:18px}
.wtabs .tab i{font-style:normal;color:var(--faint);font-size:11px;margin-left:3px}
.wsearch{display:flex;align-items:center;gap:10px;margin:10px 0 4px}
.wsearch input{flex:1;min-width:0;font:400 15px var(--ui);padding:10px 14px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--ink)}
.wsearch-n{font:500 12px var(--ui);color:var(--muted);white-space:nowrap}
.wstrip{margin-top:10px}
.wr2s{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.wr2{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;align-items:flex-start}
.wr2:hover b{color:var(--river)}
.wr2 img,.wr2-y{flex:none;width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--bg-2)}
.wr2-y{display:grid;place-items:center;font:600 13px var(--mono);color:var(--muted)}
.wr2-t{min-width:0;display:flex;flex-direction:column;gap:1px}
.wr2 b{font:700 16px var(--display)}.wr2 small{font:400 12px var(--mono);color:var(--muted)}
.wr2 .sd,.wrow .sd{font:400 13.5px/1.35 var(--ui);color:var(--ink-2)}.wr2 .sd i,.wrow .sd i{color:var(--faint);font-style:normal;margin:0 3px}
.wr2 .rt,.wrow .rt{display:block;font:italic 400 14px/1.35 var(--serif);color:var(--muted)}
.wr2[hidden]{display:none}
/* rulers in order */
.rlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.rlist li{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:10px 0 10px 10px;border-bottom:1px solid var(--line);border-left:3px solid var(--tc)}
.rlist .yr{font:500 12px/1.5 var(--mono);color:var(--muted);padding-top:3px}
.rlist b{font:700 16px var(--display)}.rlist p{margin:2px 0 0;font:400 14.5px/1.45 var(--serif);color:var(--ink-2)}
details.fold>summary{cursor:pointer;font:600 15px var(--ui);padding:12px 16px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);list-style:none}
details.fold>summary::before{content:"+ ";color:var(--river)}details.fold[open]>summary::before{content:"− "}
details.fold[open]>summary{margin-bottom:18px}
@media (max-width:760px){.wr2s,.rlist{grid-template-columns:1fr}.wtabs{top:54px}.rlist li{grid-template-columns:86px 1fr}.wr2 img,.wr2-y{width:56px;height:56px}}
#wlist .sec{scroll-margin-top:118px}
.wera{border-top:1px solid var(--line-2)}.wera:last-child{border-bottom:1px solid var(--line-2)}
.wera>summary{list-style:none;cursor:pointer;padding:16px 0 14px 14px;border-left:4px solid var(--ec);margin:6px 0}
.wera>summary::-webkit-details-marker{display:none}
.wera-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.wera-h b{font:700 21px/1.25 var(--display)}.wera-c{font:500 12px var(--mono);color:var(--muted);white-space:nowrap}
.wera-h b::after{content:" +";color:var(--river);font-weight:500}.wera[open] .wera-h b::after{content:" −"}
.wera-p{display:block;margin-top:4px;font:400 14.5px/1.4 var(--serif);color:var(--muted)}
.wera[open]>summary{margin-bottom:4px}.wera[open] .wera-p{display:none}.wera .wr2s{padding-bottom:18px}
.wera[hidden]{display:none}.wr2{scroll-margin-top:90px}
@media (max-width:520px){.cursec{display:none!important}.cursec{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wera-h b{font-size:18px}}
@media (max-width:760px){.hubs{gap:8px}.hub{grid-template-columns:72px minmax(0,1fr)}.hub img{height:72px;align-self:center;margin:8px 0 8px 8px;border-radius:8px;width:64px}.hub div{padding:10px 12px}.hub b{font-size:16px}}
.rlist{display:block;column-count:2;column-gap:28px}.rlist li{break-inside:avoid}
@media (max-width:760px){.rlist{column-count:1}}
.sx{display:none!important}
.fz>summary{margin:4px 0}.fz-in{padding:4px 0 22px}.fz-in>.section-intro:first-child{margin-top:0}
details.prd>summary{list-style:none;cursor:pointer}details.prd>summary::-webkit-details-marker{display:none}
details.prd>summary h2::after{content:" +";color:var(--river);font-weight:500}details.prd[open]>summary h2::after{content:" −"}
details.prd{display:grid;grid-template-columns:1fr}details.prd .pr-b{padding-top:6px}
/* photo hero */
.rhero.photo{background:#1a1d16}
.rh-slides{position:absolute;inset:0}
.rh-slides figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.8s ease}
.rh-slides figure.on{opacity:1}
.rh-slides img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 9s linear}
.rh-slides figure.on img{transform:scale(1.1)}
.rh-slides figcaption{position:absolute;right:14px;bottom:12px;max-width:min(60vw,520px);text-align:right;font:400 11.5px/1.4 var(--ui);color:rgba(255,255,255,.78);text-shadow:0 1px 6px rgba(0,0,0,.8);z-index:2}
.rh-slides figcaption a{color:inherit;text-decoration:underline}
.rh-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,8,.72) 0%,rgba(8,10,8,.45) 42%,rgba(8,10,8,.08) 75%),linear-gradient(0deg,rgba(8,10,8,.55) 0%,rgba(8,10,8,0) 30%);pointer-events:none}
.rhero.photo .rh-copy .k{color:#f1d58a}
.rhero.photo .rh-copy p{color:#eef0e6}
@media (max-width:760px){.rh-shade{background:linear-gradient(0deg,rgba(8,10,8,.82) 0%,rgba(8,10,8,.55) 50%,rgba(8,10,8,.25) 100%)}.rh-slides figcaption{left:14px;right:14px;max-width:none;text-align:left;bottom:66px}}
@media (prefers-reduced-motion:reduce){.rh-slides img,.rh-slides figure{transition:none}}
@media (max-width:760px){.rh-slides figcaption{top:10px;bottom:auto;font-size:10.5px;color:rgba(255,255,255,.7)}}
/* logo */
.brand .logo{width:34px;height:28px;align-self:center;margin-right:2px;color:var(--ink)}
.brand .logo path[opacity]{stroke:var(--muted)}
/* manifesto band */
.mband{background:#14171b;color:#e9e4d6;border-bottom:1px solid rgba(233,194,106,.25)}
:root[data-theme="dark"] .mband{background:#0a0c0e}
.mband-in{display:flex;align-items:center;gap:18px;padding-top:9px;padding-bottom:9px}
.mband p{margin:0;flex:1;min-width:0;font:italic 400 15px/1.45 var(--serif);color:#e9e4d6}
.mband a{flex:none;font:600 12.5px var(--ui);color:#e8c26a;white-space:nowrap}
@media (max-width:760px){.mband-in{flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px;padding-bottom:8px}.mband p{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brand .logo{width:28px;height:24px}}
/* manifesto page */
.mf{max-width:760px}
.mf-head{padding:48px 0 18px;text-align:center}
.mf-logo{width:120px;height:100px;color:var(--ochre);display:block;margin:0 auto 18px}
.mf-head h1{font:800 clamp(34px,6vw,58px)/1.05 var(--display);margin:10px 0 14px}
.mf-head .lead{font:italic 400 21px/1.5 var(--serif);color:var(--ink-2);margin:0 auto;max-width:620px}
.mf-part{padding:34px 0 6px;border-top:1px solid var(--line);margin-top:30px}
.mf-n{font:600 13px var(--mono);color:var(--ochre);letter-spacing:.1em}
.mf-part h2{font:700 30px/1.15 var(--display);margin:6px 0 16px}
.mf-part p{font:400 20px/1.7 var(--serif);color:var(--ink);margin:0 0 18px}
.mf-close{text-align:center;font:600 20px/1.6 var(--gur);color:var(--ochre);margin:48px 0 70px}
/* language menu */
.langm{position:relative}
.langm>summary{list-style:none;cursor:pointer;font:700 13px var(--ui);min-width:38px;display:grid;place-items:center}
.langm>summary::-webkit-details-marker{display:none}
.langm-box{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:50;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:grid;min-width:140px}
.langm-box a{padding:8px 12px;border-radius:7px;color:var(--ink);font:600 15px var(--ui)}
.langm-box a[lang="pa"]{font-family:'Noto Sans Gurmukhi',var(--ui)}.langm-box a[lang="pnb"]{font-family:'Noto Naskh Arabic',var(--ui);text-align:right}
.langm-box a:hover{background:var(--bg-2);text-decoration:none}.langm-box a[aria-current]{background:var(--river-soft);color:var(--river)}
/* Punjabi editions */
html[lang="pa"]{--serif:'Noto Serif Gurmukhi','Newsreader',Georgia,serif;--ui:'Noto Sans Gurmukhi','Archivo',sans-serif;--display:'Noto Sans Gurmukhi','Archivo',sans-serif}
html[lang="pnb"]{--serif:'Noto Naskh Arabic','Newsreader',serif;--ui:'Noto Naskh Arabic','Archivo',sans-serif;--display:'Noto Naskh Arabic','Archivo',sans-serif;--mono:'Noto Naskh Arabic','IBM Plex Mono',monospace}
html[lang="pa"] body,html[lang="pnb"] body{line-height:1.7}
html[lang="pa"] *,html[lang="pnb"] *{text-transform:none!important}
html[lang="pnb"] *{letter-spacing:0!important}
html[lang="pa"] .k,html[lang="pa"] .eyebrow{letter-spacing:.02em}
html[lang="pa"] h1,html[lang="pnb"] h1{line-height:1.25}
html[lang="pnb"] h1,html[lang="pnb"] h2,html[lang="pnb"] h3{line-height:1.5}
html[dir="rtl"] svg,html[dir="rtl"] .chart,html[dir="rtl"] .mapbox,html[dir="rtl"] .mono,html[dir="rtl"] .num{direction:ltr}
html[dir="rtl"] .chart text,html[dir="rtl"] .mapbox text{direction:rtl;unicode-bidi:plaintext}

html:not([lang="en"]){font-synthesis:none}
/* words explained in place */
dfn.gw{font-style:inherit;cursor:help;text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,var(--ochre) 80%,transparent);text-decoration-thickness:2px;text-underline-offset:4px;border-radius:3px;-webkit-tap-highlight-color:transparent}
dfn.gw:hover,dfn.gw[aria-describedby]{background:var(--ochre-soft)}
dfn.gw:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}
.gpop{position:fixed;z-index:70;padding:11px 14px 12px;border-radius:10px;background:var(--surface);color:var(--ink-2);border:1px solid var(--line-2);box-shadow:0 16px 40px -18px rgba(20,23,27,.45);font:400 14.5px/1.5 var(--ui);text-align:start}
.gpop b{display:block;font:700 15px/1.3 var(--display);color:var(--ink);margin-bottom:3px}
.gpop a{display:block;width:fit-content;margin-top:7px;font-weight:600;color:var(--river);text-decoration:none}
.gpop a:hover{text-decoration:underline}
.gpop.prev{border-color:var(--line);font-size:13.5px}
[data-script] .gpop b{font-family:var(--gur),var(--display)}
html[lang=pnb] .gpop{font-family:var(--sh),var(--ui);line-height:2}
.glos{columns:2 340px;column-gap:36px;margin:14px 0 0}
.glos>div{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line)}
.glos dt{font:700 15.5px/1.3 var(--display);color:var(--ink)}
.glos dd{margin:2px 0 0;font:400 14.5px/1.5 var(--ui);color:var(--ink-2)}
.glos dd a{color:var(--river);font-weight:700;text-decoration:none}
/* overview pages: a few highlights per section, then the way to the rest */
.hubsec{margin-top:44px}
.hubsec .sec-h h2 a{color:inherit}
.hubsec .sec-h h2 a:hover{color:var(--river);text-decoration:none}
.hub-intro{margin:-4px 0 4px;font:400 17px/1.55 var(--serif);color:var(--ink-2);max-width:70ch}
.seeall{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:9px 16px;border-radius:999px;border:1px solid var(--ink);color:var(--ink);font:600 14px var(--ui);background:var(--surface)}
.seeall:hover{background:var(--ink);color:var(--bg);text-decoration:none}
.sibs{margin:4px 0 8px}
.sibs .tab.on{pointer-events:none}
.hubs.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.chapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(370px,1fr));gap:18px;margin-top:10px}
.chapc{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);align-items:start}
.chapc:hover{text-decoration:none;border-color:var(--ink-2)}
.chapc img,.chapc .noim{width:112px;aspect-ratio:1/1;object-fit:cover;object-position:50% 25%;border-radius:8px;background:var(--bg-2)}
.chapc div{display:grid;gap:3px}
.chapc .y{font-size:12.5px;color:var(--brick)}
.chapc b{font:800 18px/1.2 var(--display);font-stretch:106%}
.chapc p{margin:0;font:400 14.5px/1.45 var(--serif);color:var(--ink-2)}
.commgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:14px}
.commc{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-top:3px solid var(--tc);border-radius:12px;background:var(--surface);color:var(--ink);align-items:start}
.commc:hover{text-decoration:none;border-color:var(--ink-2);border-top-color:var(--tc)}
.commc[hidden]{display:none}
.commc img,.commc .noim{width:96px;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:8px;background:var(--bg-2)}
.commc div{display:grid;gap:3px}
.commc b{font:800 18px/1.2 var(--display)}
.commc small{font:500 12px/1.35 var(--ui);color:var(--muted)}
.commc p{margin:2px 0 0;font:400 14px/1.45 var(--serif);color:var(--ink-2)}
.comm.one{border-bottom:0;padding-top:8px}
@media (max-width:900px){.hubs.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .hubcards.cards.dense>:nth-child(n+5){display:none}
  .hub-intro{font-size:15.5px}
  .chapgrid,.commgrid{grid-template-columns:1fr;gap:12px}
  .chapc{grid-template-columns:84px minmax(0,1fr);padding:10px}
  .chapc img,.chapc .noim{width:84px}
  .commc{grid-template-columns:72px minmax(0,1fr)}
  .commc img,.commc .noim{width:72px}
  .hubs.four{grid-template-columns:1fr}
}
.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-top:22px}
.ctile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);align-items:center}
.ctile:hover{text-decoration:none;border-color:var(--ink-2)}
.ct-th{display:grid;grid-template-columns:repeat(2,48px);grid-auto-rows:48px;gap:4px}
.ct-th img{width:48px;height:48px;object-fit:cover;object-position:50% 25%;border-radius:6px;background:var(--bg-2)}
.ct-th img:only-child{grid-column:span 2;grid-row:span 2;width:100px;height:100px}
.ctile.round .ct-th img{border-radius:50%}
.ct-tx{display:grid;gap:2px;align-content:center}
.ct-tx b{font:800 18px/1.2 var(--display);font-stretch:106%}
.ct-n{font:500 12px var(--mono);color:var(--muted)}
.ct-tx p{margin:3px 0 0;font:400 14.5px/1.45 var(--serif);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:640px){.ctiles{grid-template-columns:1fr;gap:10px}.ct-th{grid-template-columns:repeat(2,40px);grid-auto-rows:40px}.ct-th img{width:40px;height:40px}.ct-th img:only-child{width:84px;height:84px}.ct-tx p{font-size:14px;-webkit-line-clamp:2}}
.cmps{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:20px}
.cmpr{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface)}
.cmpr h3{margin:0 0 8px;font:800 18px var(--display)}
.cmpr dl{margin:0;display:grid;gap:8px}
.cmpr dt{font:700 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cmpr dd{margin:1px 0 0;font:400 15px/1.45 var(--serif);color:var(--ink-2)}
@media (max-width:640px){.commc p{display:none}.commc{align-items:center}}
.fame-note{margin:14px 0 0;font:500 12.5px var(--ui);color:var(--muted);letter-spacing:.02em}
.agegrp{margin-top:34px}
.agegrp-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid var(--line-2)}
.agegrp-h h2{margin:0;font:800 21px var(--display);font-stretch:106%}
.agegrp-h h2 a{color:inherit}
.agegrp-h .mono{font-size:12.5px;color:var(--muted)}
.agegrp .cards,.agegrp .masonry{margin-top:0}

/* ---------- age buttons (timeline, wars) ---------- */
.agegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 14px}
.agegrid a{position:relative;display:grid;gap:3px;align-content:start;padding:12px 12px 12px 16px;border-radius:12px;background:color-mix(in srgb,var(--ac) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--ac) 28%,var(--line));color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .15s,box-shadow .15s}
.agegrid a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ac)}
.agegrid a:hover{transform:translateY(-2px);box-shadow:0 8px 20px -12px var(--ac);text-decoration:none}
.agegrid .ag-n{font:800 22px/1 var(--display);color:var(--ac)}
.agegrid b{font:700 15px/1.2 var(--display)}
.agegrid small{font:500 11.5px var(--mono);color:var(--muted)}
.wgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.agegrid,.wgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.agegrid a{padding:10px 10px 10px 14px}.agegrid b{font-size:14px}.agegrid .ag-n{font-size:19px}}
.tlf{margin:0 0 6px}
.tlf-b{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 13.5px var(--ui);cursor:pointer}
.tlf-b.on{border-color:var(--river);color:var(--river)}
.tlf-b i{font-style:normal;color:var(--muted);font-weight:500}
.tlf-p{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tlf-p .trs{margin-top:10px}

/* ---------- timeline: ages as chapters, events on a spine ---------- */
.tl2{max-width:860px}
.age2{margin-top:44px;scroll-margin-top:70px}
.age2-h{position:relative;border-radius:16px;overflow:hidden;background:var(--ac);color:#fff;min-height:190px;display:flex;align-items:flex-end}
.age2-h img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.age2-h::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 25%,transparent) 0%,color-mix(in srgb,var(--ac) 60%,#000) 100%)}
.age2-hc{position:relative;z-index:1;padding:22px 22px 20px;display:grid;gap:6px;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.age2-n{font:700 11.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;opacity:.92}
.age2-h h2{font:800 clamp(26px,5vw,40px)/1.05 var(--display);font-stretch:110%;margin:0;color:#fff}
.age2-r{font:500 13px var(--mono);opacity:.92}
.age2-h p{font:400 16px/1.45 var(--serif);margin:2px 0 0;max-width:60ch}
.spine{list-style:none;margin:6px 0 0;padding:0 0 0 28px;position:relative}
.spine::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:linear-gradient(var(--ac),color-mix(in srgb,var(--ac) 25%,transparent))}
.ev2{position:relative;padding:16px 0 2px;scroll-margin-top:120px}
.ev2[hidden],.spine .gap[hidden]{display:none}
.ev2-dot{position:absolute;left:-25px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--kc);box-shadow:0 0 0 3px var(--bg),0 0 0 4px color-mix(in srgb,var(--kc) 50%,transparent)}
.ev2-c{display:grid;gap:6px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);align-content:start}
.ev2.th .ev2-c{grid-template-columns:minmax(0,1fr) 76px;column-gap:14px}
.ev2.th .ev2-c>*{grid-column:1}
.ev2.th .ev2-c>.ev2-th{grid-column:2;grid-row:1/span 3}
.ev2-th{width:76px;height:76px;border-radius:10px;object-fit:cover;background:var(--bg-2)}
.ev2-d{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}
.ev2-y{font:700 14px var(--mono);color:var(--kc)}
.ev2-tr{font:600 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase}
.ev2 h3{font:700 19px/1.25 var(--display);margin:0}
.ev2-s{font:400 16px/1.55 var(--serif);color:var(--ink-2);margin:0}
.ev2-more{justify-self:start;border:1px solid color-mix(in srgb,var(--river) 35%,var(--line));border-radius:999px;background:none;padding:5px 12px;margin-top:2px;font:600 12.5px var(--ui);color:var(--river);cursor:pointer}
.ev2-x p{font:400 16px/1.6 var(--serif);margin:4px 0 8px;color:var(--ink-2)}
.ev2-l{font:600 13px var(--ui)}
.ev2.big .ev2-c{padding:0 0 16px;overflow:hidden;border-color:color-mix(in srgb,var(--kc) 35%,var(--line))}
.ev2.big .ev2-c>*:not(.ev2-pic){margin-inline:18px}
.ev2-pic{margin:0 0 6px;height:210px;background:var(--bg-2)}
.ev2-pic img{width:100%;height:100%;object-fit:cover;display:block}
.ev2.big h3{font-size:24px}
.ev2.big .ev2-s{font-size:17px}
.ev2.flash .ev2-c{box-shadow:0 0 0 3px var(--river)}
.spine .gap{position:relative;padding:16px 0 0;font:italic 400 14px var(--serif);color:var(--muted)}
.spine .gap::before{content:"";position:absolute;left:-23px;top:21px;width:10px;height:10px;border-radius:50%;border:2px dashed var(--ac);background:var(--bg)}
.nextage{display:grid;gap:3px;margin:24px 0 0 28px;padding:16px 18px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--ac) 60%,var(--line));color:var(--ink);text-decoration:none;background:color-mix(in srgb,var(--ac) 7%,transparent)}
.nextage span{font:700 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ac)}
.nextage b{font:700 19px/1.2 var(--display)}
.nextage small{font:400 14.5px/1.4 var(--serif);color:var(--muted)}
.nextage:hover{text-decoration:none;background:color-mix(in srgb,var(--ac) 14%,transparent)}
@media (max-width:640px){.age2{margin-top:34px}.age2-h{min-height:170px;border-radius:12px}.age2-hc{padding:16px}.age2-h p{font-size:15px}.spine{padding-left:22px}.spine::before{left:6px}.ev2-dot{left:-21px;width:12px;height:12px}.spine .gap::before{left:-20px}.ev2-c{padding:12px 13px}.ev2.big .ev2-c>*:not(.ev2-pic){margin-inline:13px}.ev2-pic{height:170px}.ev2 h3{font-size:17px}.ev2.big h3{font-size:20px}.ev2-s,.ev2.big .ev2-s{font-size:15.5px}.ev2.th .ev2-c{grid-template-columns:minmax(0,1fr) 64px}.ev2-th{width:64px;height:64px}.nextage{margin-left:22px}}

/* ---------- wars: ages always open ---------- */
.wage{margin-top:34px;scroll-margin-top:70px}
.wage-h{padding:12px 0 10px 14px;border-left:5px solid var(--ec);margin-bottom:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--ec) 9%,transparent),transparent 70%);border-radius:0 10px 10px 0}
.wage-c{font:600 11.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ec)}
.wage-h h2{font:800 23px/1.15 var(--display);margin:2px 0 0}
.wage.sx,.wr2.sx{display:none}
.wage .nextage{margin-left:0}

/* ---------- floating chapter pill with a sheet of buttons ---------- */
.chp{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translate(-50%,160%);z-index:40;transition:transform .25s ease;width:min(560px,calc(100vw - 24px))}
.chp.show{transform:translate(-50%,0)}
.chp-b{position:relative;width:100%;display:flex;align-items:center;gap:10px;padding:11px 16px 13px;border-radius:999px;border:1px solid var(--line-2);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px -12px rgba(0,0,0,.35);color:var(--ink);cursor:pointer;overflow:hidden;text-align:left}
.chp-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--ac) 18%,transparent)}
.chp-bar i{display:block;height:100%;width:0;background:var(--ac);transition:width .15s}
.chp-n{flex:none;font:700 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--ac);padding:3px 8px;border-radius:999px}
.chp-t{flex:1;min-width:0;font:700 14px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chp-y{flex:none;font:700 14px var(--mono);color:var(--ac)}
.chp-y:empty{display:none}
.chp-g{flex:none;color:var(--muted)}
.chp-sheet{margin-bottom:10px;padding:14px;border-radius:18px;border:1px solid var(--line-2);background:var(--surface);box-shadow:0 18px 50px -14px rgba(0,0,0,.45);max-height:min(70vh,560px);overflow:auto}
.chp-sheet[hidden]{display:none}
.chp-sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.chp-sh b{font:700 12px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chp-x{border:0;background:var(--bg-2);border-radius:999px;width:32px;height:32px;cursor:pointer;color:var(--ink)}
.chp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chp-grid a{display:grid;gap:2px;align-content:start;padding:10px 12px;border-radius:12px;border-left:4px solid var(--ac);background:color-mix(in srgb,var(--ac) 9%,var(--surface));color:var(--ink);text-decoration:none}
.chp-grid a span{font:700 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ac)}
.chp-grid a b{font:700 14px/1.2 var(--display)}
.chp-grid a small{font:500 11px var(--mono);color:var(--muted)}

/* ---------- reading progress, back to top, reveal ---------- */
.rprog{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none;opacity:0;transition:opacity .2s}
.rprog.on{opacity:1}
.rprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--river),var(--ochre))}
.totop{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);box-shadow:0 8px 24px -10px rgba(0,0,0,.4);display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .2s,transform .2s}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.rv{opacity:0;transform:translateY(18px)}
.rv.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}
@media print{.chp,.rprog,.totop{display:none}.rv{opacity:1;transform:none}}

/* ---------- who ruled: cards ---------- */
.frkey{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.rc-from{display:inline-block;font:600 11.5px var(--ui);padding:3px 9px;border-radius:999px;justify-self:start}
.rc-from.in{background:color-mix(in srgb,#2f9a63 16%,transparent);color:color-mix(in srgb,#2f9a63 75%,var(--ink))}
.rc-from.mix{background:color-mix(in srgb,#c49a2a 20%,transparent);color:color-mix(in srgb,#b9821c 75%,var(--ink))}
.rc-from.out{background:var(--bg-2);color:var(--muted)}
.rcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.rcard{display:grid;gap:8px;align-content:start;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--tc)}
.rc-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.rc-h b{font:700 17px/1.2 var(--display)}
.rc-y{font:500 12px var(--mono);color:var(--muted);white-space:nowrap}
.rc-ax{position:relative;height:24px}
.rc-ax::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;border-radius:4px;background:var(--bg-2)}
.rc-ax i{position:absolute;top:0;height:8px;border-radius:4px;background:var(--tc)}
.rc-ax span{position:absolute;top:11px;font:500 9.5px var(--mono);color:var(--faint);transform:translateX(-50%);white-space:nowrap}
.rc-ax span:first-of-type{transform:none}
.rc-m{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rc-len{font:600 12px var(--mono);color:var(--ink-2)}
.rc-cap{font:400 14px/1.4 var(--ui);margin:0;color:var(--ink-2)}
.rc-cap span{font-weight:700;color:var(--muted);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}
.rc-s{font:400 15px/1.5 var(--serif);margin:0;color:var(--ink-2)}
.rlist .yr small{display:block;font:500 11px var(--mono);color:var(--faint);margin-top:3px}
.rlist .rc-from{margin:4px 0 2px}
.rlist div>.rc-from{display:table}
/* who were they */
.pp-idx{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 18px}
.pp-idx a{padding:5px 11px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 13px var(--ui);text-decoration:none}
.pp-idx a:hover{border-color:var(--river);color:var(--river)}
.pplist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ppc{padding:16px 18px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--ac);scroll-margin-top:90px}
.ppc-h{display:grid;gap:3px;margin-bottom:6px}
.ppc-w{font:600 12px var(--mono);color:var(--ac)}
.ppc h2{font:800 21px/1.15 var(--display);margin:0}
.ppc-f{font:400 13.5px var(--ui);color:var(--muted)}.ppc-f b{font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-right:3px}
.ppc p{font:400 16px/1.55 var(--serif);margin:0;color:var(--ink-2)}
.ppc:target{box-shadow:0 0 0 3px var(--river-soft)}
@media (max-width:760px){.pplist{grid-template-columns:1fr}.ppc p{font-size:15.5px}}
.tlf-p #tlk{display:flex;flex-wrap:wrap}
/* chronicles & prophecy: cards with the words visible */
.pr2s{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.pr2{display:grid;gap:8px;padding:16px 18px 18px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--tc);scroll-margin-top:90px}
.pr2-m{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.pr2-d{font:700 13.5px var(--mono);color:var(--tc)}
.pr2-t{font:700 10.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--tc)}
.pr2 h2{font:800 21px/1.2 var(--display);margin:0}
.pr2-w{font:600 11.5px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pr2-q{display:grid;gap:6px;padding:10px 0 2px 14px;border-left:2px solid color-mix(in srgb,var(--tc) 45%,var(--line))}
.pr2-q .vg{font-size:17px;line-height:1.6}
.pr2-q .ve{font-size:16.5px}
.pr2-x{display:grid;gap:10px}.pr2-x p{font:400 16px/1.6 var(--serif);margin:0;color:var(--ink-2)}
.xmore{justify-self:start;border:1px solid color-mix(in srgb,var(--river) 35%,var(--line));border-radius:999px;background:none;padding:5px 12px;font:600 12.5px var(--ui);color:var(--river);cursor:pointer}
.ch .xmore{margin-top:4px}
.prd.sx,.ch.sx{display:none}
@media (max-width:800px){.pr2s{grid-template-columns:1fr}.pr2 h2{font-size:19px}}
/* doab map */
.doabmap{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:8px;overflow:hidden}
.dm-svg{display:block;width:100%;height:auto}
.dm-d{opacity:.62;cursor:pointer;transition:opacity .2s}
.dm-r{fill:none;stroke:var(--river);stroke-linecap:round;stroke-linejoin:round}
.dm-rl{font:italic 600 11px var(--serif);fill:var(--river);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.dm-c{fill:var(--ink)}
.dm-cl{font:600 10px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.dm-dl{font:800 12.5px var(--display);letter-spacing:.08em;fill:var(--ink);paint-order:stroke;stroke:color-mix(in srgb,var(--surface) 80%,transparent);stroke-width:4px;pointer-events:none;transition:opacity .2s}
.dm-ui{padding:8px 6px 4px}
.dm-btns{display:flex;flex-wrap:wrap;gap:6px}
.dm-btns button{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg);color:var(--ink);font:600 13px var(--ui);cursor:pointer}
.dm-btns button i{width:10px;height:10px;border-radius:3px;background:var(--dc)}
.dm-btns button.on{border-color:var(--dc);box-shadow:0 0 0 2px color-mix(in srgb,var(--dc) 35%,transparent)}
.dm-info{margin-top:10px;min-height:64px}
.dm-info b{font:800 18px var(--display);margin-right:8px}
.dm-ab{font:500 12.5px var(--mono);color:var(--muted)}
.dm-info p{font:400 15.5px/1.5 var(--serif);margin:6px 0 0;color:var(--ink-2)}
.dm-info .dm-nm{font-style:italic;color:var(--muted);font-size:14.5px}
.dm-hint{color:var(--muted)!important}
.dm-mode{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:3px;margin-bottom:10px;background:var(--bg)}
.dm-mode button{border:0;background:none;padding:6px 14px;border-radius:999px;font:700 13px var(--ui);color:var(--muted);cursor:pointer}
.dm-mode button.on{background:var(--ink);color:var(--bg)}
/* extracts and galleries */
.exs{display:grid;gap:14px}
.exv{padding:16px 18px;border:0;border-left:4px solid var(--c-poet);background:var(--surface);border-radius:0 12px 12px 0}
.exv .vg{font-size:clamp(18px,2.2vw,22px)}
.exv .vg.sm{font-family:var(--sh);font-size:clamp(18px,2.2vw,22px);line-height:2}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.gal-i{margin:0;display:grid;gap:5px;align-content:start}
.gal-i a{display:block;border-radius:10px;overflow:hidden;background:var(--bg-2);aspect-ratio:4/5}
.gal-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gal-i a:hover img{transform:scale(1.04)}
.gal-i figcaption{font:500 12.5px/1.35 var(--ui);color:var(--ink-2)}
.gal-i figcaption span{display:block;font-size:11px;color:var(--faint);margin-top:2px}
@media (max-width:640px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- explanatory figures ---------- */
.pm-pj{font:800 15px var(--ui);font-stretch:118%;letter-spacing:.14em;fill:var(--ochre);paint-order:stroke;stroke:var(--land);stroke-width:4px;pointer-events:none}
.pm-reg{font:600 10.5px var(--ui);letter-spacing:.16em;fill:var(--faint);pointer-events:none}
.pm-r{transition:opacity .25s}
.pm-wrap .ud-side{height:0;min-height:100%;max-height:none}
@media (max-width:860px){.pm-wrap .ud-side{height:auto;min-height:0;max-height:340px}}
.pm-wrap .ud-s .n{background:var(--jc);flex:0 0 12px;height:12px;margin-top:4px}
.pm-wrap .ud-play.on{background:var(--brick)}
.pm-more{font:600 13px var(--ui);color:var(--river);text-decoration:none;margin-top:4px}
.pm-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font:500 12.5px var(--ui);color:var(--ink-2);align-items:center}
.pm-key span{display:inline-flex;align-items:center;gap:7px}.pm-key svg{width:30px;height:10px}.pm-key svg[viewBox="0 0 14 14"]{width:12px;height:12px}
.pm-key .muted{color:var(--muted);flex-basis:100%}
.pm-tabs .tab .c{font-weight:500;opacity:.7;font-size:12px}
.ppc .pm-btn{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--ui);color:var(--ink-2);background:transparent;border:1px solid var(--line-2);border-radius:999px;padding:4px 11px;cursor:pointer}
.ppc .pm-btn:hover{border-color:var(--ac);color:var(--ink)}
.ppc .pm-btn svg{width:12px;height:12px}

.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.split.one{grid-template-columns:minmax(0,560px)}
.sp{margin:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}
.sp.hl{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.sp svg{display:block;width:100%;height:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sp-h{padding:12px 14px;display:grid;gap:2px}.sp-h .mono{font-size:12px;color:var(--muted)}.sp-h b{font:700 16.5px var(--display)}
.sp-key{display:flex;flex-wrap:wrap;gap:4px 14px;padding:10px 14px 0;font:500 12.5px var(--ui);color:var(--ink-2)}
.sp-key span{display:inline-flex;align-items:center;gap:6px}
.sp-key .sw{display:inline-block;width:12px;height:12px;border-radius:3px;flex:0 0 12px}
.sp-key .sw.hatch{background:repeating-linear-gradient(45deg,var(--a) 0 3px,var(--b) 3px 6px)}
.sp p{margin:0;padding:8px 14px 14px;font:400 14.5px/1.5 var(--serif);color:var(--ink-2)}
.sp-c{font:600 11px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px}
.sp-rl{font:700 11px var(--ui);fill:var(--brick);paint-order:stroke;stroke:var(--land);stroke-width:3px;letter-spacing:.02em}
@media (max-width:760px){.split{grid-template-columns:1fr}}

.iw{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.iw-map svg{display:block;width:100%;height:auto}
.iw-side{border-left:1px solid var(--line);padding:18px;display:grid;gap:14px;align-content:start}
.iw-b{border-left:4px solid var(--c);padding:2px 0 2px 12px;display:grid;gap:3px}
.iw-b .k{font:700 11.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.iw-b b{font:700 17px var(--display)}.iw-b p{margin:0;font:400 14.5px/1.5 var(--serif);color:var(--ink-2)}
.iw-bar{display:flex;height:30px;border-radius:7px;overflow:hidden}
.iw-bar span{display:grid;place-items:center;color:#fff;font:700 12.5px var(--mono)}
.iw-small{margin:-6px 0 0;font:400 13px/1.55 var(--ui);color:var(--muted)}.iw-small b{color:var(--ink);font-family:var(--mono);font-weight:500;margin-right:4px}
.iw-rl{font:italic 600 13px var(--serif);paint-order:stroke;stroke:var(--land);stroke-width:3.5px}
.iw-d{font:600 11px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px}
.iw-ct{font:700 12px var(--ui);letter-spacing:.2em;fill:var(--faint)}
@media (max-width:860px){.iw{grid-template-columns:1fr}.iw-side{border-left:0;border-top:1px solid var(--line)}}

.stree{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.stree svg{display:block;width:100%;height:auto}
.st-n rect{fill:var(--surface-2);stroke:var(--c);stroke-width:1.6}
.st-n.big rect{fill:color-mix(in srgb,var(--c) 16%,var(--surface));stroke-width:2.4}
.st-n .t{font:700 15px var(--display);fill:var(--ink)}.st-n.big .t{font-size:18px}
.st-n .d{font:500 11.5px var(--ui);fill:var(--muted)}
.st-e{fill:none;stroke-width:1.8}
.st-h{font:700 12px var(--ui);letter-spacing:.1em;text-transform:uppercase}
.st-note{font:italic 400 12.5px var(--serif);fill:var(--muted)}
.st-w{font-size:40px;fill:var(--ink)}

.ga{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.ga-l{padding:10px 8px 4px}.ga-l svg{display:block;width:100%;height:auto}
.ga-ax{font:500 11px var(--mono);fill:var(--muted)}
.ga-n{font:600 12px var(--ui);fill:var(--ink)}.ga-c{font:400 11px var(--ui);fill:var(--muted)}
.ga-r{cursor:pointer;transition:opacity .2s}.ga-r.off{opacity:.3}.ga-r.on .ga-n{fill:var(--river)}.ga-r.on > rect:first-child{fill:var(--bg-2)}
.ga-m{border-left:1px solid var(--line);display:flex;flex-direction:column}
.ga-map svg{display:block;width:100%;height:auto;border-bottom:1px solid var(--line)}
.ga-map g{transition:opacity .2s}
.ga-pl{font:600 10.5px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}
.ga-key{display:flex;flex-wrap:wrap;gap:4px 14px;padding:12px 14px 0;font:500 12.5px var(--ui);color:var(--ink-2)}
.ga-key span{display:inline-flex;align-items:center;gap:6px}.ga-key i{width:12px;height:12px;border-radius:50%}
.ga-note{margin:0;padding:8px 14px 14px;font:400 14px/1.5 var(--serif);color:var(--ink-2)}
@media (max-width:700px){.ga-c{display:none}}
@media (max-width:860px){.ga{grid-template-columns:1fr}.ga-m{border-left:0;border-top:1px solid var(--line)}}

.mst .mt{font:700 17px var(--display);fill:var(--ink)}
.mst .md{font:400 12.5px/1.3 var(--ui);color:var(--ink-2);text-align:center}
.mst .mn{font:italic 400 14px var(--serif);fill:var(--muted)}
.mst.n{display:none}.mst .mnn{font:italic 400 14px/1.45 var(--serif);color:var(--muted);text-align:center}
@media (max-width:640px){.mst.w{display:none}.mst.n{display:block}.mst .mt{font-size:18px}.mst .md{font-size:13px}}

.gh-ax{position:relative;height:66px;margin:4px 0 16px}
.gh-ax .ln{position:absolute;left:0;right:0;top:38px;height:2px;background:var(--line-2)}
.gh-ax .tk{position:absolute;top:46px;transform:translateX(-50%);font:500 11px var(--mono);color:var(--faint)}
.gh-ax .mk{position:absolute;top:8px;transform:translateX(-50%);font:700 12.5px var(--mono);color:var(--brick);padding:2px 7px;border:1.5px solid var(--brick);border-radius:999px;background:var(--surface)}
.gh-ax .mk::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:10px;background:var(--brick);transform:translateX(-50%)}
.gh-ax .mk.on{background:var(--brick);color:#fff}
.gh-ax .gap{position:absolute;top:14px;text-align:center;font:italic 400 12px var(--serif);color:var(--muted)}
.gh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ghc{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:10px}
.ghc.on{border-color:var(--brick);box-shadow:0 0 0 1px var(--brick)}
.gh-h{display:grid;gap:2px}.gh-h .mono{font-size:12px;color:var(--muted)}.gh-h h3{font:700 18px var(--display);margin:0}.gh-h .gur{font:400 15px var(--gur);color:var(--ink-2)}.gh-h i{font:italic 400 14px var(--serif);color:var(--muted)}
.ghc dl{margin:0;display:grid;gap:7px}.ghc dt{font:700 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ghc dd{margin:1px 0 0;font:400 14px/1.45 var(--serif);color:var(--ink)}
.gh-a{margin-top:auto;font:600 13px var(--ui);color:var(--river);text-decoration:none}
@media (max-width:860px){.gh{grid-template-columns:1fr}}

/* generic figure maps and static plans */
.fm{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.fm-map svg{display:block;width:100%;height:auto}
.fm-key{display:flex;flex-wrap:wrap;gap:4px 16px;padding:10px 14px;border-top:1px solid var(--line);font:500 12.5px var(--ui);color:var(--ink-2)}
.fm-key span{display:inline-flex;align-items:center;gap:6px}.fm-key i{width:12px;height:12px;border-radius:3px}.fm-key svg{width:26px;height:10px}
.fm-ctl{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}
.fm-ctl .play{width:38px;height:38px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);display:grid;place-items:center;flex:0 0 38px}.fm-ctl .play svg{width:14px;height:14px}
.fm-ctl input{flex:1;accent-color:var(--ochre)}.fm-ctl b{font-size:15px;min-width:44px}
.fm-l{font:600 11.5px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}
.fm-l.big{font-size:13px;font-weight:700}.fm-l .s,.fm-al .s{font-weight:400;font-size:10.5px;fill:var(--ink-2)}
.fm-al{font:700 11.5px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--land);stroke-width:3px;pointer-events:none}
.fm-pl{font:italic 600 12.5px var(--serif);paint-order:stroke;stroke:var(--land);stroke-width:3.5px}
.fm-note{font:italic 400 12.5px var(--serif);fill:var(--muted);paint-order:stroke;stroke:var(--land);stroke-width:3px}
.fm-rl{font:italic 500 12px var(--serif);fill:var(--river);paint-order:stroke;stroke:var(--land);stroke-width:3px}
.fm-num{font:700 11px var(--mono);fill:#fff;pointer-events:none}
.fm-box{font:400 12.5px/1.45 var(--ui);color:var(--ink-2);background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.fm-box b{color:var(--ink)}
@media (max-width:600px){.fm-box{font-size:11px;padding:6px 8px}}
.as-l{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.as-l li{display:flex;gap:10px}.as-l .n{flex:0 0 22px;height:22px;border-radius:50%;background:var(--c);color:#fff;font:700 11px var(--mono);display:grid;place-items:center}
.as-l a{color:inherit;text-decoration:none}.as-l b{font:700 14px var(--ui)}.as-l .mono{font-size:11.5px;color:var(--muted)}.as-l p{margin:2px 0 0;font:400 13.5px/1.4 var(--serif);color:var(--ink-2)}
@media (max-width:700px){.as-l{grid-template-columns:1fr}}
.jb-l,.hp-l,.mj-l{font:700 13px var(--ui);fill:var(--ink)}.jb-s,.hp-s,.mj-s{font:400 11.5px var(--ui);fill:var(--ink-2)}.hp-r{fill:var(--brick)}
.hp-w{font:italic 400 14px var(--serif);fill:var(--river)}.mj-h{font:700 12px var(--ui);letter-spacing:.14em;fill:var(--muted)}
.jb-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 0}.jb-f dt{font:700 10.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.jb-f dd{margin:2px 0 0;font:400 14.5px/1.45 var(--serif)}
@media (max-width:700px){.jb-f{grid-template-columns:1fr}}
.gt-n text{font:600 12.5px var(--ui);fill:var(--ink);letter-spacing:0;text-transform:none}.gt-n.gk-g text,.gt-n.gk-e text{font-weight:700}
.gt-e{font:italic 400 11px var(--serif);fill:var(--muted)}
.gtw a .gt-n rect{transition:stroke-width .15s}.gtw a:hover .gt-n rect{stroke-width:2.6}
.ct{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px}
.ct-h{display:grid;gap:2px;margin-bottom:10px}.ct-h b{font:700 18px var(--display)}.ct-h span{font:400 14.5px/1.45 var(--serif);color:var(--ink-2)}
.ct-bar{display:flex;height:26px;border-radius:7px;overflow:hidden;margin-bottom:14px}.ct-bar span{display:grid;place-items:center;color:#fff;font:600 11.5px var(--ui);white-space:nowrap;overflow:hidden}
.ct-gs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ct-g h3{font:700 11.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.ct-g ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ct-g li{border-left:4px solid var(--c);padding:2px 0 2px 10px;display:grid}
.ct-g li b{font:700 14px var(--ui)}.ct-g li b a{color:inherit}.ct-g li span{font:400 13.5px/1.35 var(--serif);color:var(--ink-2)}.ct-g li i{font:normal 600 11px var(--ui);color:var(--c)}
@media (max-width:800px){.ct-gs{grid-template-columns:1fr}}
.dl-k{font:700 11px var(--ui);letter-spacing:.14em;fill:var(--muted)}.dl-b{font:700 13px var(--ui)}
.dl-n{font:700 13px var(--ui);fill:#fff}.dl-w{font:400 11.5px/1.3 var(--ui);color:var(--ink-2);text-align:center}
.dl-e{font:italic 400 12.5px var(--serif);fill:var(--muted)}.dl-c text{font:400 12.5px var(--ui);fill:var(--ink-2)}.dl-c .dl-cb{font-weight:700;fill:var(--ink)}

.cal-m,.cal-y{font:500 11.5px var(--mono);fill:var(--muted)}.cal-n{font:700 13px var(--ui)}.cal-h{font:italic 400 12px var(--serif);fill:var(--muted)}
.cal-t{margin-top:14px}

.jb text,.hp text,.mj text{paint-order:stroke;stroke:color-mix(in srgb,var(--surface) 80%,transparent);stroke-width:3px}
.sfig-hint{display:none}
@media (max-width:640px){.sfig{overflow-x:auto;-webkit-overflow-scrolling:touch}.sfig svg{min-width:720px}.sfig-hint{display:block;margin:6px 0 0;font:500 12px var(--ui);color:var(--muted)}}
.fm-box2{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;font-size:13px}

.hy-l,.sg-l,.ck-l,.kp-l{font:700 13px var(--ui);fill:var(--ink)}.hy-s,.sg-s,.ck-s,.kp-s{font:400 11.5px var(--ui);fill:var(--ink-2)}
.hy text,.sg text,.ck text,.kp text{paint-order:stroke;stroke:color-mix(in srgb,var(--surface) 80%,transparent);stroke-width:3px}
.hy-n{font:800 15px var(--mono);fill:#3b74c4}.hy-r{font:700 12px var(--ui);letter-spacing:.14em;fill:var(--river)}
.kp-c{font:700 12px var(--ui);letter-spacing:.2em;fill:var(--muted)}
.gg-a{font:500 11px var(--mono);fill:var(--muted)}.gg-t{font:600 11px var(--ui);fill:#fff;pointer-events:none}
.gg-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 14px;font:400 13px var(--ui)}.gg-l span{display:flex;justify-content:space-between;border-bottom:1px dotted var(--line-2);padding:3px 0}.gg-l span b{font-weight:600}
.akw{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px}
.ak-r{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:8px}.ak-d{grid-template-columns:repeat(6,minmax(0,1fr))}
.ak{border:1px solid var(--line);border-radius:10px;padding:8px 6px;display:grid;justify-items:center;gap:1px;background:var(--surface-2)}
.ak .g{font:400 34px/1.2 var(--gur);color:var(--ink)}.ak .n{font:600 12px var(--ui);color:var(--ink-2)}.ak .r{font:500 11.5px var(--mono);color:var(--muted)}.ak .s{font:400 20px/1.8 var(--sh);color:#1f8a8a}
.ak-r:first-child .ak{background:color-mix(in srgb,#c28a1e 12%,var(--surface))}
@media (max-width:560px){.ak .g{font-size:26px}.ak .s{font-size:16px}.ak .n{font-size:10.5px}.ak-r{gap:5px}.ak-d{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wt-r{font:700 12px var(--mono);fill:var(--ink)}.wt-g{font:400 10.5px var(--ui);fill:var(--muted)}.wt-k{font:700 11px var(--ui);letter-spacing:.12em}
.dg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px;font:400 13.5px var(--ui)}.dg span{display:flex;justify-content:space-between;border-bottom:1px dotted var(--line-2);padding:3px 0}.dg b{font-weight:600}
.fig-num{font:800 12px var(--mono);fill:#fff;stroke:none!important}
.fm-tabs{padding:10px 12px;border-bottom:1px solid var(--line)}.fm-tabs .tab .c{font-weight:500;opacity:.7;font-size:12px}
.fm-phn{margin:0;padding:10px 14px;border-top:1px solid var(--line);font:400 14.5px/1.5 var(--serif);color:var(--ink-2)}
.sf-o{font:700 12px var(--ui);letter-spacing:.14em}.sf-n{font:700 12.5px var(--ui);fill:var(--ink)}.sf-d{font:400 10.5px var(--ui);fill:var(--muted)}.sf-e{font:italic 400 11px var(--serif);fill:var(--muted)}
.sf a:hover rect{stroke-width:3}
.nn-h{font:500 11px var(--mono);fill:var(--muted)}.nn-k{font:700 11px var(--ui);fill:#fff}.nn-c{font:700 22px var(--display);fill:var(--ink)}.nn-s{font:italic 400 12.5px var(--serif);fill:var(--muted)}.nn-t{font:700 14px var(--ui);fill:var(--ink)}.nn-i{font:400 14px var(--serif);fill:var(--ink-2)}
.gd-l,.lg-l{font:700 13px var(--ui);fill:var(--ink)}.gd-s,.lg-s{font:400 11.5px var(--ui);fill:var(--ink-2)}.gd-h,.lg-c{font:700 11.5px var(--ui);letter-spacing:.12em;fill:var(--muted)}.lg-g{font:700 12.5px var(--ui);fill:#7a5a2a}
.ins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ins-c{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none}
.ins-c:hover{border-color:var(--ink-2)}.ins-p{color:var(--ochre);display:block}.ins-p svg{width:100%;height:84px}.ins-c b{font:700 15px var(--display)}.ins-c span:last-child{font:400 13.5px/1.4 var(--serif);color:var(--ink-2)}
@media (max-width:760px){.ins{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gt-n{font:700 12.5px var(--ui);fill:var(--ink)}.gt-s{font:400 11px var(--ui);fill:var(--ink-2)}.gt-k{font:500 10.5px var(--mono);fill:var(--muted)}
.tp{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px 16px;display:grid;gap:10px}
.tp-r{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;font:400 14px/1.4 var(--serif);color:var(--ink)}
.tp-h b{font:700 15px var(--display)}.tp-k{font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tp-b{position:relative;display:flex;flex-wrap:wrap;gap:0;background:var(--bg-2);border-radius:6px;overflow:hidden;min-height:22px}.tp-b span{height:22px}.tp-b em{flex-basis:100%;font:normal 500 12.5px var(--ui);color:var(--ink-2);padding:4px 2px 0;background:var(--surface)}
@media (max-width:640px){.tp-r{grid-template-columns:1fr;gap:4px}.tp-h{display:none}.tp-r>div:nth-child(2)::before{content:"Pakistan: ";font:700 12px var(--ui);color:#1f8a8a}.tp-r>div:nth-child(3)::before{content:"India: ";font:700 12px var(--ui);color:#d0782a}}
.gr-h{font:700 13.5px var(--ui);fill:var(--ink)}.gr-y{font:400 11.5px var(--ui);fill:var(--ink-2)}.gr-v{font:600 11px var(--mono);fill:var(--ink)}
.rf-n{font:600 13px var(--ui);fill:var(--ink)}.rf-y{font:500 11px var(--mono);fill:var(--muted)}

/* keep the page width steady between short and long pages */
html{overflow-y:scroll;scrollbar-gutter:stable}
html,body{overflow-x:clip}
.tabs{max-width:100%}.tab{max-width:100%}

.mhs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.mh h3{font:700 15px var(--display);margin:0 0 6px}.mh h3 span{font:500 12px var(--ui);color:var(--muted);margin-left:6px}
@media (max-width:760px){.mhs{grid-template-columns:1fr}}
.mus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mu{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none}.mu:hover{border-color:var(--ink-2);text-decoration:none}
.mu-c{font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ochre)}.mu b{font:700 16px var(--display)}.mu p{margin:0;font:400 14px/1.45 var(--serif);color:var(--ink-2)}
@media (max-width:860px){.mus{grid-template-columns:1fr 1fr}}@media (max-width:560px){.mus{grid-template-columns:1fr}}

.fixline{margin-top:36px;padding-top:14px;border-top:1px solid var(--line);font:500 13px var(--ui)}.fixline a{color:var(--muted)}.fixline a:hover{color:var(--ink)}
.cf{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cf label{display:grid;gap:4px;font:600 12.5px var(--ui);color:var(--ink-2)}.cf label.w{grid-column:1/-1}
.cf input,.cf select,.cf textarea{font:400 15px var(--ui);padding:9px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--ink)}
.cf button{justify-self:start}@media (max-width:640px){.cf{grid-template-columns:1fr}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}


.ocs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.oc{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere;align-content:start;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none}.oc:hover{border-color:var(--ink-2);text-decoration:none}
.oc img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--bg-2);border-radius:6px}.oc b{font:600 13px/1.3 var(--ui)}.oc span{font:400 12px/1.35 var(--ui);color:var(--muted)}.oc em{font:normal 600 11px var(--ui);color:var(--ochre)}

/* From the world's museums: gallery tiles with four pictures */
.mo-t .mo-pics{display:grid;grid-template-columns:1fr 1fr;gap:3px;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--bg-2);margin-bottom:8px}
.mo-t .mo-pics img{width:100%;height:100%;object-fit:cover;display:block}

@media (max-width:520px){.ocs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.mo-out{margin-top:30px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.mo-out h3{margin:0 0 8px;font:700 16px var(--ui)}.mo-out p{margin:6px 0;font:400 14px/1.6 var(--ui)}.mo-more{margin:12px 0 0}

/* museum explorer */
.mx-cta{display:flex;align-items:center;gap:14px;margin:18px 0 6px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none;max-width:640px}
.mx-cta:hover{border-color:var(--ink-2);text-decoration:none}.mx-cta-i{font-size:26px;color:var(--ochre);line-height:1}.mx-cta b{display:block;font:700 16px var(--ui)}.mx-cta small{display:block;font:400 13px/1.4 var(--ui);color:var(--muted)}.mx-cta>span:last-child{margin-left:auto;font-size:18px}
.mx{margin-top:18px}
.mx-bar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}
.mx-bar input,.mx-bar select,.mx-webbar input{min-width:0;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:400 15px var(--ui)}
.mx-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 10px}
.mx-tabs{margin:0}.mx-tabs .tab{cursor:pointer;border:0;font:inherit}
.mx-act{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mx-n{font:500 13px var(--mono);color:var(--muted);margin-right:4px}
.mx-x{cursor:pointer;border:1px solid var(--line);background:var(--surface);font:500 13px var(--ui)}
.mx-map{position:relative;height:560px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--sea)}.mx-map svg{width:100%;height:100%;display:block}
.mx-pin{cursor:pointer}.mx-pin circle{fill:var(--ochre);fill-opacity:.55;stroke:var(--ochre);stroke-width:1.5}.mx-pin.on circle{fill:var(--brick);stroke:var(--brick);fill-opacity:.75}
.mx-pin:hover circle,.mx-pin:focus circle{fill-opacity:.85}.mx-pn{font:600 11px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3px;pointer-events:none}
.mx-note{margin:8px 0 18px}.mx-h{font:800 21px var(--display);margin:26px 0 12px}
.mx-time{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mx-era rect{cursor:pointer}.mx-era .b0{fill:var(--bg-2);opacity:.5}.mx-era .b1{fill:transparent}.mx-era.on rect{fill:var(--ochre);opacity:.14}
.mx-era text{font:600 11px var(--ui);fill:var(--muted);pointer-events:none}.mx-bin{fill:var(--river);cursor:pointer}.mx-bin:hover{fill:var(--ink-2)}.mx-bin.on{fill:var(--brick)}
.mx-tick{font:400 11px var(--mono);fill:var(--muted)}
.mx-webbar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:10px}.mx-webbar label{display:flex;gap:8px;align-items:center;font:500 14px var(--ui);flex:1 1 280px;max-width:460px}
.mx-web{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mx-lk line{stroke:var(--line-2,var(--line))}.mx-nd{cursor:pointer}.mx-nd.c circle{fill:var(--brick)}.mx-nd.c .lb{font:800 14px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px}
.mx-nd.e circle{fill:var(--ochre);opacity:.85}.mx-nd.e .lb{font:600 11.5px var(--ui);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.mx-nd.o .ring{fill:var(--bg-2);stroke:var(--line);stroke-width:1.5}.mx-nd:hover circle,.mx-nd:focus circle{stroke:var(--ink);stroke-width:2}
@media (max-width:720px){.mx-bar{grid-template-columns:1fr 1fr}.mx-bar .mx-q{grid-column:1/-1}.mx-map{height:400px}}
