/* Manthan: one-topic-per-slide knowledge journal. Light and dark. Tokens first; colours come from site.css tokens. */
:root{
  --mb-bg:#FBFAF6; --mb-card:#FFFFFF; --mb-ink:var(--ink); --mb-mute:var(--grey-600); --mb-rule:#DDD8CB; --mb-accent:var(--navy);
  --mb-gold:#8A6B1F; --mb-ring:#CFC9B8; --mb-soft:#F2EFE6; --mb-peek-bg:#FFFFFF; --mb-shadow:0 30px 60px -30px rgba(10,15,44,.28);
  --mb-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --mb-bar:73px;
}
:root[data-theme="dark"]{
  --mb-bg:#0A0F2C; --mb-card:#101845; --mb-ink:var(--on-dark-1); --mb-mute:#A9B3D1; --mb-rule:#262E5A; --mb-accent:#9DB6F0;
  --mb-gold:#E2B857; --mb-ring:#222B5C; --mb-soft:#0F1640; --mb-peek-bg:#0F1640; --mb-shadow:0 30px 60px -30px rgba(0,0,0,.7);
}
body.mb-index,body.mb-post{background:var(--mb-bg);color:var(--mb-ink);font-family:var(--font-body)}
.mb-wrap{width:min(1120px,100% - 2*var(--gutter));margin-inline:auto}
html{scroll-padding-top:calc(var(--mb-bar) + 8px)}
body.mb-index{overflow-x:hidden}

/* bar */
.mb-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--gutter);background:var(--mb-bg);border-bottom:1px solid var(--mb-rule)}
.mb-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--mb-ink)}
.mb-mark{width:22px;height:22px;border-radius:50%;border:2px solid var(--mb-accent);position:relative;display:inline-block}
.mb-mark::after{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid var(--mb-gold)}
.mb-word{font:600 1.15rem/1 var(--font-display);letter-spacing:.04em}
.mb-nav{display:flex;align-items:center;gap:20px;font-size:var(--fs-small)}
.mb-nav a{color:var(--mb-mute);text-decoration:none;font-weight:500}
.mb-nav a:hover{color:var(--mb-ink);text-decoration:underline}
.mb-theme{border:1px solid var(--mb-rule);background:transparent;color:var(--mb-ink);border-radius:999px;padding:6px 14px;font-size:var(--fs-small);font-weight:500;cursor:pointer;min-height:36px}
.mb-theme:hover{border-color:var(--mb-accent)}
@media(max-width:640px){.mb-nav a{display:none}}

/* progress (post) */
.mb-progress{position:fixed;left:0;right:0;top:var(--mb-bar);height:3px;z-index:49;background:transparent}
.mb-progress i{display:block;height:100%;width:0;background:var(--mb-gold)}

/* rail (index) */
.mb-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:40}
.mb-rail ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mb-rail a{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;color:var(--mb-mute);font-size:.72rem;padding:5px 2px;min-height:24px}
.mb-rail-n{font:500 .72rem/1 var(--font-mono);order:2;width:20px;text-align:right}
.mb-rail-t{order:1;opacity:0;transform:translateX(6px);transition:opacity var(--t),transform var(--t);white-space:nowrap;background:var(--mb-card);padding:4px 10px;border-radius:999px;border:1px solid var(--mb-rule);color:var(--mb-ink)}
.mb-rail a:hover .mb-rail-t,.mb-rail a:focus-visible .mb-rail-t{opacity:1;transform:none}
.mb-rail a.on{color:var(--mb-ink)}
.mb-rail a.on .mb-rail-n{color:var(--mb-gold);font-weight:700}
@media(max-width:1100px){.mb-rail{display:none}}

/* intro */
.mb-intro{min-height:calc(78svh - var(--mb-bar));display:flex;align-items:center;padding-block:var(--s6)}
.mb-eyebrow{font:500 var(--fs-eyebrow)/1.2 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mb-gold);margin-bottom:var(--s3)}
.mb-intro h1{font:600 clamp(2.6rem,1.6rem + 5vw,6rem)/1.02 var(--font-display);letter-spacing:-.025em;max-width:14ch;color:var(--mb-ink)}
.mb-lede{margin-top:var(--s4);font-size:var(--fs-1);max-width:46ch;color:var(--mb-mute)}
.mb-hint{margin-top:var(--s5);font-size:var(--fs-small);color:var(--mb-mute)}
.mb-key{display:inline-block;min-width:26px;padding:2px 8px;border:1px solid var(--mb-rule);border-radius:6px;font:500 .8rem/1.5 var(--font-mono);text-align:center;color:var(--mb-ink);background:var(--mb-card)}

/* slide */
.mb-slide{position:relative;min-height:100svh;display:flex;align-items:center;border-top:1px solid var(--mb-rule);overflow:hidden;scroll-snap-align:start;padding-block:calc(var(--mb-bar) + var(--s5)) var(--s5)}
.mb-slide.is-lead{background:var(--mb-soft)}
.mb-slide .motif{position:absolute;right:-8%;top:50%;width:min(80vw,820px);height:auto;transform:translateY(-50%);opacity:.9;pointer-events:none}
.m-ring{fill:none;stroke:var(--mb-ring);stroke-width:1}
.m-line{stroke:var(--mb-rule);stroke-width:1;stroke-dasharray:2 6}
.m-arc{fill:none;stroke:var(--mb-gold);stroke-width:2}
.m-dot{fill:var(--mb-gold)}
.mb-slide-in{position:relative;z-index:1;width:min(1120px,100% - 2*var(--gutter));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,80px);align-items:center}
.mb-slide-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 var(--fs-eyebrow)/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mb-mute);margin-bottom:var(--s3)}
.mb-num{color:var(--mb-gold);font-weight:700}
.mb-num i{font-style:normal;color:var(--mb-mute);font-weight:500}
.mb-slide h2{font:600 clamp(2rem,1.2rem + 3.6vw,4.4rem)/1.04 var(--font-display);letter-spacing:-.022em}
.mb-slide h2 a{color:var(--mb-ink);text-decoration:none;background:linear-gradient(var(--mb-gold),var(--mb-gold)) 0 100%/0 2px no-repeat;transition:background-size var(--t)}
.mb-slide h2 a:hover,.mb-slide h2 a:focus-visible{background-size:100% 2px}
.mb-slide-dek{margin-top:var(--s3);font-size:var(--fs-1);color:var(--mb-mute);max-width:44ch;line-height:1.55}
.mb-stats{list-style:none;margin:var(--s4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5)}
.mb-stats li{display:grid;gap:2px}
.mb-stats strong{font:600 clamp(1.7rem,1.3rem + 1.6vw,2.6rem)/1 var(--font-display);color:var(--mb-ink)}
.mb-stats span{font-size:var(--fs-small);color:var(--mb-mute)}
.mb-actions{margin-top:var(--s4);display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.mb-read{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:var(--mb-ink);color:var(--mb-bg);border-radius:999px;font-weight:600;text-decoration:none;min-height:44px}
:root[data-theme="dark"] .mb-read{background:var(--mb-ink);color:var(--navy-900)}
.mb-read:hover{text-decoration:underline}
.mb-peek-btn{background:transparent;border:1px solid var(--mb-rule);color:var(--mb-ink);padding:11px 18px;border-radius:999px;cursor:pointer;font-weight:500;min-height:44px;display:none}
.mb-peek-btn:hover{border-color:var(--mb-accent)}

/* the peek: first third of the note */
.mb-peek{position:relative;background:var(--mb-peek-bg);border:1px solid var(--mb-rule);border-radius:var(--r2);padding:var(--s4);box-shadow:var(--mb-shadow);max-height:min(62svh,560px);overflow:hidden;transition:opacity .35s,transform .35s,filter .35s}
.mb-peek-label{font:500 var(--fs-eyebrow)/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mb-gold);margin-bottom:var(--s2)}
.mb-peek-label span{color:var(--mb-mute)}
.mb-peek-text{font-family:var(--mb-serif);font-size:1.0625rem;line-height:1.7;color:var(--mb-ink);display:grid;gap:12px;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent);max-height:calc(min(62svh,560px) - 140px);overflow:hidden}
.mb-peek-more{margin-top:var(--s2);font-weight:600}
.mb-peek-more a{color:var(--mb-accent)}
/* closed state (JS present, hover-capable): text is there for readers and crawlers, shown blurred as a teaser */
.js .mb-slide .mb-peek{opacity:.55;filter:blur(5px);transform:translateY(8px);user-select:none}
.js .mb-slide .mb-peek a{pointer-events:none}
.js .mb-slide:hover .mb-peek,.js .mb-slide:focus-within .mb-peek,.js .mb-slide.open .mb-peek{opacity:1;filter:none;transform:none;user-select:auto}
.js .mb-slide:hover .mb-peek a,.js .mb-slide:focus-within .mb-peek a,.js .mb-slide.open .mb-peek a{pointer-events:auto}
@media(hover:none){.mb-peek-btn{display:inline-flex;align-items:center}}
@media(max-width:900px){
  .mb-slide-in{grid-template-columns:1fr}
  .mb-peek-btn{display:inline-flex;align-items:center}
  .js .mb-slide .mb-peek{display:none}
  .js .mb-slide.open .mb-peek,.js .mb-slide:hover .mb-peek{display:block}
  .mb-slide .motif{width:120vw;right:-40%;opacity:.55}
}
html:not(.js) .mb-peek{opacity:1;filter:none}

/* list */
.mb-end{padding-block:var(--s7);border-top:1px solid var(--mb-rule)}
.mb-end h2{font:600 var(--fs-4)/1.1 var(--font-display);margin-bottom:var(--s4)}
.mb-list{list-style:none;margin:0;padding:0;counter-reset:n}
.mb-list li{counter-increment:n;border-top:1px solid var(--mb-rule)}
.mb-list a{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:baseline;padding:18px 4px;text-decoration:none;color:var(--mb-ink)}
.mb-list a::before{content:counter(n,decimal-leading-zero);font:500 .8rem/1 var(--font-mono);color:var(--mb-gold)}
.mb-list strong{font:600 var(--fs-1)/1.3 var(--font-display)}
.mb-list span{font-size:var(--fs-small);color:var(--mb-mute)}
.mb-list a:hover strong{text-decoration:underline}
@media(max-width:640px){.mb-list a{grid-template-columns:36px 1fr}.mb-list span{grid-column:2}}

/* post */
.mb-phead{padding-block:var(--s6) var(--s5);border-bottom:1px solid var(--mb-rule);background:linear-gradient(var(--mb-soft),var(--mb-bg))}
.mb-crumb{font:500 var(--fs-eyebrow)/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mb-mute);margin-bottom:var(--s3)}
.mb-crumb a{color:var(--mb-gold);text-decoration:none}
.mb-phead h1{font:600 clamp(2.2rem,1.4rem + 3.8vw,4.6rem)/1.05 var(--font-display);letter-spacing:-.022em;max-width:20ch;color:var(--mb-ink)}
.mb-dek{margin-top:var(--s3);font-size:var(--fs-2);line-height:1.5;color:var(--mb-mute);max-width:52ch;font-family:var(--mb-serif)}
.mb-meta{margin-top:var(--s3);display:flex;flex-wrap:wrap;gap:6px 22px;font-size:var(--fs-small);color:var(--mb-mute)}
.mb-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);padding-block:var(--s5) var(--s7)}
@media(min-width:1100px){.mb-grid{grid-template-columns:200px minmax(0,720px);justify-content:space-between}}
.mb-toc{display:none}
@media(min-width:1100px){.mb-toc{display:block;position:sticky;top:calc(var(--mb-bar) + 24px);align-self:start;font-size:var(--fs-small)}}
.mb-toc p{font:500 var(--fs-eyebrow)/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mb-mute);margin-bottom:var(--s2)}
.mb-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--mb-rule);display:grid}
.mb-toc a{display:block;padding:6px 14px;color:var(--mb-mute);text-decoration:none;border-left:2px solid transparent;margin-left:-1px}
.mb-toc a:hover,.mb-toc a.on{color:var(--mb-ink);border-left-color:var(--mb-gold)}
.mb-article{font-family:var(--mb-serif);font-size:1.1875rem;line-height:1.75;color:var(--mb-ink)}
.mb-article h2{font:600 var(--fs-3)/1.15 var(--font-display);letter-spacing:-.015em;margin:var(--s6) 0 var(--s2)}
.mb-article p,.mb-article ul,.mb-article ol,.mb-article dl{margin:0 0 var(--s3)}
.mb-article ul,.mb-article ol{padding-left:1.3em}
.mb-article li{margin-bottom:.55em}
.mb-article li::marker{color:var(--mb-gold)}
.mb-article a{color:var(--mb-accent)}
.mb-take{background:var(--mb-card);border:1px solid var(--mb-rule);border-left:4px solid var(--mb-gold);border-radius:var(--r2);padding:var(--s3) var(--s4);box-shadow:var(--mb-shadow)}
.mb-article .mb-take h2{margin:0 0 var(--s2);font-size:var(--fs-1)}
.mb-take ul{margin:0}
.mb-formula{font:500 1.05rem/1.6 var(--font-mono);background:var(--mb-soft);border:1px solid var(--mb-rule);border-radius:var(--r1);padding:var(--s3);overflow-x:auto;color:var(--mb-ink)}
.mb-note{font:400 var(--fs-small)/1.6 var(--font-body);color:var(--mb-mute);border-left:2px solid var(--mb-rule);padding-left:var(--s2)}
.mb-tablewrap{overflow-x:auto;margin:var(--s3) 0;border:1px solid var(--mb-rule);border-radius:var(--r1);background:var(--mb-card)}
.mb-table{width:100%;border-collapse:collapse;font:400 .9rem/1.45 var(--font-body);min-width:480px}
.mb-table caption{caption-side:top;text-align:left;padding:12px 14px;font-weight:600;color:var(--mb-ink);border-bottom:1px solid var(--mb-rule)}
.mb-table th,.mb-table td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--mb-rule)}
.mb-table th{font:600 .75rem/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mb-mute);background:var(--mb-soft)}
.mb-table tr:last-child td{border-bottom:0}
.mb-table td.z{background:var(--fail-bg);color:var(--fail);font-weight:600}
.mb-table td.f{background:var(--pass-bg);color:var(--pass);font-weight:600}
.mb-fig{margin:var(--s3) 0}
.mb-chart{width:100%;height:auto}
.mb-chart text{font:500 13px var(--font-body);fill:var(--mb-ink)}
.mb-chart .c-val{font-weight:700}
.mb-chart .c-track{fill:var(--mb-soft);stroke:var(--mb-rule)}
.mb-chart .c-bar{fill:var(--mb-accent)}
.mb-chart .c-all{fill:var(--mb-gold)}
.mb-fig figcaption{font:400 var(--fs-small)/1.5 var(--font-body);color:var(--mb-mute);margin-top:8px}
.mb-slider{background:var(--mb-card);border:1px solid var(--mb-rule);border-radius:var(--r2);padding:var(--s3);font-family:var(--font-body);margin:var(--s3) 0}
.mb-slider label{font-weight:600}
.mb-slider input{width:100%;margin-top:var(--s2);accent-color:var(--mb-gold)}
.mb-slider-out{margin:var(--s2) 0 0;font-size:var(--fs-1)}
.mb-faq dt{font-weight:700;font-family:var(--font-display);margin-top:var(--s3)}
.mb-faq dd{margin:6px 0 0}
.mb-cite{font-family:var(--font-body);font-size:var(--fs-small);color:var(--mb-mute);background:var(--mb-soft);border-radius:var(--r1);padding:var(--s3);margin-top:var(--s6)}
.mb-article .mb-cite h2{font-size:var(--fs-0);margin:0 0 8px}
.mb-cite p{margin:0;word-break:break-word}
.mb-next{margin-top:var(--s6);font-family:var(--font-body)}
.mb-article .mb-next h2{margin-top:0}
.mb-next div{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
@media(max-width:640px){.mb-next div{grid-template-columns:1fr}}
.mb-next a{display:grid;gap:6px;padding:var(--s3);border:1px solid var(--mb-rule);border-radius:var(--r2);background:var(--mb-card);text-decoration:none;color:var(--mb-ink)}
.mb-next a:hover{border-color:var(--mb-gold)}
.mb-next span{font:500 var(--fs-eyebrow)/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mb-mute)}
.mb-next strong{font:600 var(--fs-1)/1.3 var(--font-display)}

/* footer: the standard site footer; only the fine print is Manthan's */
.mb-foot-fine{font-size:var(--fs-small);color:var(--text-muted);margin-top:var(--s2)}
.mb-foot-fine a{color:var(--link)}

/* entrance + motion */
.js .mb-slide .mb-slide-main>*{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.js .mb-slide.in .mb-slide-main>*{opacity:1;transform:none}
.js .mb-slide.in .mb-slide-main>*:nth-child(2){transition-delay:.06s}.js .mb-slide.in .mb-slide-main>*:nth-child(3){transition-delay:.12s}.js .mb-slide.in .mb-slide-main>*:nth-child(4){transition-delay:.18s}.js .mb-slide.in .mb-slide-main>*:nth-child(5){transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .mb-slide .mb-slide-main>*,.mb-peek,.mb-rail-t{transition:none!important}
  .js .mb-slide .mb-slide-main>*{opacity:1;transform:none}
}
@media(min-width:901px) and (min-height:640px){html:has(body.mb-index){scroll-snap-type:y proximity}}
@media print{.mb-bar,.mb-rail,.mb-progress,.mb-peek-btn{display:none}.mb-slide{min-height:0;break-inside:avoid}.js .mb-slide .mb-peek{filter:none;opacity:1;display:block}}

/* book promo */
.mb-book{margin-top:var(--s6);padding:var(--s4);border:1px solid var(--mb-rule);border-left:4px solid var(--mb-gold);border-radius:var(--r2);background:var(--mb-card);font-family:var(--font-body);box-shadow:var(--mb-shadow)}
.mb-article .mb-book h2{margin:4px 0 var(--s1);font-size:var(--fs-2)}
.mb-book p{margin:0 0 8px;font-size:var(--fs-0)}
.mb-book-k{font:500 var(--fs-eyebrow)/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mb-gold)}
.mb-book-a{font-weight:600}
.mb-bookband{padding-block:var(--s5) 0}
/* the stacked logo has dark lettering: give it a light plate in dark reading */
:root[data-theme="dark"] .site-footer .footer-grid>div:first-child a{display:inline-block;background:#fff;padding:12px 14px;border-radius:var(--r1)}
