/* The 2014 Line — site styles. Palette taken from the book cover: ledger paper, ink, the red line. */
:root{
  --paper:#f3ece0; --paper-line:#e2d8c6; --ink:#1f2329;
  --bg:#0f1216; --bg2:#151920; --card:#1a1f27; --card2:#212733; --edge:#2b3240;
  --text:#eef0f3; --muted:#9aa3b2; --dim:#6b7484;
  --line:#ff3b30; --line-glow:rgba(255,59,48,.55);
  --b:#5cc8ff; --a:#b8ff3c; --n:#c9b8ff;
  --hue:5; --acc:hsl(var(--hue) 95% 62%); --acc-soft:hsl(var(--hue) 90% 60% / .14);
  --display:"Archivo Black",Impact,"Arial Black",sans-serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --r:18px; --top:64px;
}
body,[style*="--hue"]{--acc:hsl(var(--hue) 95% 62%);--acc-soft:hsl(var(--hue) 90% 60% / .14)}
*{box-sizing:border-box}
html{scroll-padding-top:120px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
@media(min-width:700px){.wrap{padding:0 28px}}
.eyebrow{font:700 12px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin:0 0 10px}
.hint{color:var(--muted);margin:-8px 0 28px;max-width:70ch}
.lede{font:400 clamp(18px,2.2vw,22px)/1.55 var(--serif);color:#d9dde4;max-width:62ch}
.tag{display:block;font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-bottom:8px}
strong{color:#fff}
::selection{background:var(--line);color:#fff}

/* progress + top bar */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--b),var(--line),var(--a));box-shadow:0 0 12px var(--line-glow)}
.topbar{position:sticky;top:0;z-index:50;height:var(--top);display:flex;align-items:center;gap:16px;padding:0 16px;
  background:rgba(15,18,22,.97);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:baseline;gap:6px;text-decoration:none;font-family:var(--display);letter-spacing:.06em;white-space:nowrap}
.brand span{font-size:12px;color:var(--muted)}
.brand b{font-size:22px;font-weight:400;background:linear-gradient(180deg,var(--paper) 0 50%,var(--a) 50% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.brand b::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:var(--line)}
.mainnav{display:none;margin-left:auto;gap:2px}
.mainnav a{text-decoration:none;font-weight:600;font-size:14px;color:#c4cad4;padding:8px 11px;border-radius:999px;transition:.2s}
.mainnav a:hover,.mainnav a.on{color:#fff;background:rgba(255,255,255,.08)}
.menu-btn{margin-left:auto;width:44px;height:44px;border:1px solid var(--edge);border-radius:12px;background:var(--card);display:grid;place-content:center;gap:5px}
.menu-btn i{display:block;width:20px;height:2px;background:#fff;transition:.25s}
.menu-btn[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(min-width:1100px){.mainnav{display:flex}.menu-btn{margin-left:8px}}
.drawer{position:fixed;inset:var(--top) 0 0 0;z-index:49;background:rgba(10,12,15,.97);overflow:auto;animation:fadeIn .25s}
.drawer-in{max-width:1180px;margin:0 auto;padding:24px 16px 60px}
.drawer-sectors{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:28px}
.drawer-sectors a,.foot-sectors a{display:flex;gap:10px;align-items:center;text-decoration:none;padding:12px 14px;border-radius:12px;background:var(--card);border:1px solid var(--edge);font-weight:600;transition:.2s}
.drawer-sectors a b,.foot-sectors a b{font:700 12px var(--mono);color:hsl(var(--hue) 95% 62%)}
.drawer-sectors a:hover{border-color:hsl(var(--hue) 95% 62%);transform:translateX(4px)}
.drawer-links{display:flex;flex-wrap:wrap;gap:8px}
.drawer-links a{text-decoration:none;padding:10px 16px;border-radius:999px;border:1px solid var(--edge);font-weight:600}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:15px;padding:14px 22px;border-radius:999px;border:0;
  background:var(--line);color:#fff;box-shadow:0 8px 30px -8px var(--line-glow);transition:transform .2s,box-shadow .2s;margin:4px 8px 4px 0}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px -8px var(--line-glow)}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.25);box-shadow:none;color:#fff}
.btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* section headings */
.sec{padding-top:72px}
.sec:last-child{padding-bottom:40px}
.sec-h{font:400 clamp(26px,4vw,40px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 28px;position:relative;padding-bottom:16px}
.sec-h::after{content:"";position:absolute;left:0;bottom:0;height:5px;width:72px;background:var(--line);border-radius:3px;box-shadow:0 0 18px var(--line-glow);transform-origin:left;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.sec-h.in::after{width:min(260px,60%)}
.sec-h.huge{font-size:clamp(34px,7vw,76px)}

/* reveal */
.js .reveal{transform:translateY(18px);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}*{animation:none!important;scroll-behavior:auto!important}}

/* ===== HOME HERO ===== */
.hero{position:relative;min-height:calc(100svh - var(--top));display:grid;place-items:center;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,var(--paper) 0 var(--split,50%),var(--ink) var(--split,50%) 100%)}
.hero-paper{position:absolute;inset:0 0 calc(100% - var(--split,50%)) 0;z-index:-2;
  background:repeating-linear-gradient(180deg,transparent 0 37px,var(--paper-line) 37px 38px),linear-gradient(90deg,transparent 0 9%,rgba(200,90,80,.35) 9% calc(9% + 2px),transparent 0)}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-in{text-align:center;padding:48px 16px;max-width:1000px;position:relative}
.hero-kicker{font:700 12px var(--mono);letter-spacing:.3em;color:var(--ink);opacity:.7;margin:0 0 6px;text-transform:uppercase}
.hero-title{margin:0;display:flex;flex-direction:column;align-items:center;line-height:.86;font-family:var(--display);font-weight:400}
.ht-the{font-size:clamp(20px,4vw,40px);letter-spacing:.6em;padding-left:.6em;color:var(--ink)}
.ht-year{font-size:clamp(96px,24vw,260px);color:var(--ink);letter-spacing:-.02em;text-shadow:0 2px 0 rgba(255,255,255,.4);font-variant-numeric:tabular-nums}
.ht-line{font-size:clamp(56px,13vw,150px);letter-spacing:.32em;padding-left:.32em;color:var(--paper);margin-top:.18em}
.hero-rule{position:relative;display:flex;align-items:center;gap:12px;margin:-0.1em auto 0;max-width:1100px;width:100vw;padding:0 16px}
.hero .hero-rule{position:absolute;left:50%;top:var(--split,50%);transform:translate(-50%,-50%);z-index:-1;width:100vw;max-width:none;padding:0}
.hero-rule i{flex:1;height:14px;background:var(--line);box-shadow:0 0 30px var(--line-glow),0 0 80px var(--line-glow);transform-origin:left;animation:drawLine 1.4s .2s cubic-bezier(.7,0,.2,1) both}
.hero-rule span{font:700 11px var(--mono);letter-spacing:.3em;color:var(--muted)}
.hero .hero-rule span{display:none}
@keyframes drawLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-sub{font:italic 400 clamp(20px,3vw,32px)/1.3 var(--serif);color:var(--paper);margin:26px 0 10px}
.hero-lead{color:#c8ccd3;max-width:60ch;margin:0 auto 26px}
.hero-cta{display:flex;justify-content:center;flex-wrap:wrap}
.scroll-cue{position:absolute;display:none;bottom:22px;left:50%;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:14px}
.scroll-cue i{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.6s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

.ticker{overflow:hidden;background:var(--line);color:#fff;border-block:1px solid rgba(0,0,0,.3)}
.ticker-in{display:flex;gap:44px;width:max-content;padding:12px 0;animation:tick 80s linear infinite;font:600 14px var(--mono);white-space:nowrap}
.ticker-in span b{font-family:var(--sans);font-weight:800;margin-right:6px}
.ticker-in i{font-style:normal;opacity:.7;margin:0 4px}
.ticker:hover .ticker-in{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

.intro-sec .big-quote p{font:400 clamp(22px,3.4vw,38px)/1.32 var(--serif);margin:0 0 24px;max-width:28em}
.intro-sec .big-quote{border-left:6px solid var(--line);padding-left:22px}

/* sector grid */
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.scard{--acc:hsl(var(--hue) 95% 62%);position:relative;display:flex;flex-direction:column;gap:10px;min-height:240px;padding:22px;border-radius:var(--r);text-decoration:none;
  background:var(--card);border:1px solid var(--edge);border-top:4px solid var(--acc);overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .35s;transform-style:preserve-3d}
.scard:hover{border-color:var(--acc);transform:translateY(-4px)}
.scard-no{font:400 48px/0.9 var(--display);color:var(--acc)}
.scard h3{font:400 26px/1.05 var(--display);margin:0;text-transform:uppercase}
.scard p{margin:0;color:#c3c9d3;font-size:15px}
.scard-stat{margin-top:auto;padding-top:12px;border-top:1px dashed var(--edge);font-size:13px}
.scard-stat small{display:block;color:var(--muted)}
.scard-stat span{font:600 14px var(--mono)}
.scard-stat em{font-style:normal;color:var(--b)}
.scard-stat b{color:var(--a)}
.scard-verdict{position:absolute;top:22px;right:18px;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border-radius:6px;border:1.5px solid var(--acc);color:var(--acc);max-width:48%;text-align:center}
.extra-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:16px}
.xcard{display:flex;flex-direction:column;gap:4px;text-decoration:none;padding:20px;border-radius:var(--r);background:var(--paper);color:var(--ink);transition:.3s}
.xcard:hover{transform:translateY(-4px) rotate(-.5deg)}
.xcard small{font:700 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#a33}
.xcard b{font:400 22px/1.1 var(--display)}
.xcard span{font-size:14px;opacity:.75}

/* scrubber */
.scrub-sec{background:linear-gradient(180deg,transparent,var(--bg2) 30%,var(--bg2) 70%,transparent);padding-bottom:60px}
.scrubber{display:grid;gap:18px}
.scrub-year{font:400 clamp(72px,16vw,180px)/.9 var(--display);color:var(--b);transition:color .3s;font-variant-numeric:tabular-nums}
.scrubber.after .scrub-year{color:var(--a)}
.scrubber.line .scrub-year{color:var(--line);text-shadow:0 0 30px var(--line-glow)}
.scrub-track{position:relative}
.scrub-2014{position:absolute;top:-8px;bottom:-8px;width:4px;background:var(--line);left:calc((2014 - 1947)/(2026 - 1947)*100%);pointer-events:none;box-shadow:0 0 14px var(--line-glow);border-radius:2px}
.scrub-era{font:700 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.scrub-events{list-style:none;padding:0;margin:0;display:grid;gap:10px;min-height:150px}
.scrub-events li{padding:14px 16px;border-radius:12px;background:var(--card);border-left:4px solid var(--b);animation:pop .4s both}
.scrub-events li.a{border-color:var(--a)}
.scrub-events li time{font:700 12px var(--mono);color:var(--muted);display:block;margin-bottom:2px}
.scrub-events li a{font-size:12px;color:var(--muted)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* ranges */
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--b),var(--line) 50%,var(--a));outline:none;margin:14px 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:5px solid var(--ink);box-shadow:0 0 0 3px #fff,0 6px 20px rgba(0,0,0,.5);cursor:grab}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:5px solid var(--ink);box-shadow:0 0 0 3px #fff;cursor:grab}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #fff,0 0 0 7px var(--line)}

/* groups, rules, people */
.ggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.gcard{text-decoration:none;padding:26px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);transition:.3s}
.gcard:hover{border-color:var(--line);transform:translateY(-4px)}
.gcard small{font:700 11px var(--mono);color:var(--line);letter-spacing:.14em;text-transform:uppercase}
.gcard h3{font:400 24px/1.1 var(--display);margin:8px 0;text-transform:uppercase}
.gcard p{color:var(--muted);margin:0}
.rules{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;counter-reset:r}
.rules li{position:relative;padding:22px 22px 22px 84px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.rules li b{position:absolute;left:20px;top:14px;font:400 52px/1 var(--display);color:var(--line)}
.rules li h3{margin:0 0 6px;font-size:18px}
.rules li p{margin:0;color:var(--muted);font-size:15px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:24px}
.pcard{display:flex;flex-direction:column;gap:10px;text-decoration:none;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);transition:.3s}
.pcard:hover{transform:translateY(-4px);border-color:var(--a)}
.pcard q{font:italic 400 19px/1.4 var(--serif);color:#fff}
.pcard q::before{content:"“"}.pcard q::after{content:"”"}
.avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font:400 24px var(--display);color:var(--ink);background:linear-gradient(180deg,var(--paper) 50%,var(--a) 50%);box-shadow:inset 0 0 0 3px var(--ink),0 0 0 2px var(--line)}
.avatar.big{width:76px;height:76px;font-size:34px;flex:none}
.nodata-teaser{text-align:center}
.nodata-teaser .sec-h::after{left:50%;transform:translateX(-50%)}
.giant-quote{font:400 clamp(34px,7vw,84px)/1 var(--display);margin:10px 0 20px;color:var(--line);text-shadow:0 0 40px var(--line-glow)}
.nodata-teaser p{max-width:60ch;margin:0 auto 20px;color:#c3c9d3}
.book-sec{display:grid;gap:36px;align-items:center;padding-bottom:40px}
@media(min-width:800px){.book-sec{grid-template-columns:320px 1fr}}
.cover{width:100%;max-width:320px;border-radius:6px;box-shadow:0 40px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08);transform:rotate(-3deg);transition:.4s}
.cover:hover{transform:rotate(0) scale(1.02)}
.book-sec h2{font:400 clamp(36px,6vw,64px)/1 var(--display);margin:0 0 14px;text-transform:uppercase}
.buy{margin:18px 0 8px}
.dedication{font:italic 400 20px/1.5 var(--serif);color:#d8dbe1}
.nehru{font:italic 400 22px/1.4 var(--serif);margin:20px 0;padding-left:18px;border-left:4px solid var(--line)}
.nehru cite{display:block;font:600 13px var(--mono);font-style:normal;color:var(--muted);margin-top:8px}

/* ===== SECTOR HERO ===== */
.s-hero,.page-hero{position:relative;overflow:hidden;padding:56px 0 72px;
  background:radial-gradient(90% 120% at 90% 0%,hsl(var(--hue) 90% 50% / .35),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(92,200,255,.12),transparent 70%),var(--bg)}
.page-hero{padding-bottom:70px;--hue:5}
.s-hero-num{position:absolute;right:-2vw;top:-6vw;font:400 clamp(220px,42vw,560px)/0.8 var(--display);color:transparent;-webkit-text-stroke:2px hsl(var(--hue) 95% 62% / .35);pointer-events:none}
@keyframes floaty{50%{transform:translateY(14px) rotate(-1deg)}}
.s-title,.page-hero h1{font:400 clamp(44px,8vw,96px)/.95 var(--display);margin:0;text-transform:uppercase;letter-spacing:-.01em}
.s-title .ch,.page-hero h1 .ch{display:inline-block;opacity:0;transform:translateY(.4em) rotate(6deg);animation:letter .6s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes letter{to{opacity:1;transform:none}}
.s-sub{font:italic 400 clamp(20px,3vw,30px)/1.3 var(--serif);color:var(--acc);margin:14px 0 8px}
.s-hook{font-size:clamp(17px,2vw,21px);color:#d4d8df;max-width:52ch;margin:0 0 22px}
.stamps{display:flex;flex-wrap:wrap;gap:10px}
.stamp{display:inline-flex;flex-direction:column;font:400 18px/1.05 var(--display);text-transform:uppercase;padding:10px 14px;border:3px solid var(--acc);color:var(--acc);border-radius:8px;background:var(--acc-soft)}
.stamp small{font:700 10px var(--mono);letter-spacing:.14em;opacity:.8;margin-bottom:4px}
@keyframes stamp{from{opacity:0;transform:scale(1.8) rotate(-12deg)}}
.s-hero .hero-rule{position:absolute;left:0;right:0;bottom:24px;width:auto;padding:0 16px}
.s-hero .hero-rule i{height:6px}

/* sticky tabs */
.tabs{position:sticky;top:var(--top);z-index:40;background:rgba(15,18,22,.98);border-bottom:1px solid var(--edge)}
.tabs-in{display:flex;gap:4px;overflow-x:auto;max-width:1180px;margin:0 auto;padding:8px 16px;scrollbar-width:none}
.tabs-in::-webkit-scrollbar{display:none}
.tabs a{flex:none;text-decoration:none;font:600 13px var(--sans);padding:8px 14px;border-radius:999px;color:#b9c0cb;transition:.2s}
.tabs a:hover{color:#fff;background:rgba(255,255,255,.06)}
.tabs a.on{background:var(--acc);color:#0b0d10}

/* brief */
.brief{list-style:none;padding:0;margin:0;display:grid;gap:12px}
@media(min-width:800px){.brief{grid-template-columns:1fr 1fr}}
.brief li{display:flex;gap:16px;padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.brief span{font:400 34px/1 var(--display);color:var(--acc);flex:none}
.brief p{margin:0;font-size:17px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:28px}
.stat{padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.stat h3{margin:0 0 14px;font-size:15px;color:#cfd4dc;font-weight:700}
.stat-split{display:grid;grid-template-columns:1fr 6px 1fr;gap:14px;align-items:stretch}
.stat-b b,.stat-a b{display:block;font:700 clamp(22px,3vw,30px)/1.05 var(--mono);letter-spacing:-.02em;overflow-wrap:normal}
.stat .long b{font-size:clamp(18px,2.1vw,23px)}
.stat.solo .stat-split{grid-template-columns:6px 1fr}
.stat-b b{color:var(--b)} .stat-a b{color:var(--a)}
.stat-b small,.stat-a small{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.35}
.stat-b .tag{color:var(--b)} .stat-a .tag{color:var(--a)}
.stat-line{background:var(--line);border-radius:3px;box-shadow:0 0 12px var(--line-glow);transform-origin:top;transform:scaleY(0);transition:transform .7s .2s}
.stat.in .stat-line{transform:none}

/* charts */
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px}
.chart{margin:0;padding:22px;border-radius:var(--r);background:var(--bg2);border:1px solid var(--edge)}
.chart figcaption{font-weight:800;margin-bottom:16px;font-size:16px}
.bars{display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:12px;align-items:center}
.bar-label{font-size:13px;color:#cdd2da;line-height:1.3}
.bar-track{position:relative;height:22px;border-radius:6px;background:rgba(255,255,255,.05);overflow:hidden}
.bar-fill{position:absolute;top:0;bottom:0;width:0;border-radius:6px;background:var(--n);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.chart.in .bar-fill{width:var(--w)}
.era-b .bar-fill{background:linear-gradient(90deg,#2b8fd1,var(--b))}
.era-a .bar-fill{background:linear-gradient(90deg,#6fbf1a,var(--a))}
.era-n .bar-fill{background:linear-gradient(90deg,#8f7cf0,var(--n))}
.bar-track .zero{position:absolute;top:-2px;bottom:-2px;width:2px;background:#fff;opacity:.5;z-index:1}
.bar-val{font:700 14px var(--mono);white-space:nowrap;text-align:right}
.bar-val small{font-weight:500;color:var(--muted);font-size:11px}
.chart-note{margin:16px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:560px){.bar-row{grid-template-columns:1fr auto}.bar-label{grid-column:1/-1}.bar-track{grid-column:1}}

/* story */
.story{background:linear-gradient(180deg,var(--bg),var(--bg2));padding-bottom:20px}
.story-grid{display:grid;gap:28px}
@media(min-width:900px){.story-grid{grid-template-columns:260px 1fr}.persona{position:sticky;top:140px;align-self:start}}
.persona{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.persona .avatar{width:96px;height:96px;font-size:44px}
.persona b{font:400 26px var(--display);text-transform:uppercase}
.persona small{color:#cfd4dc}
.persona em{font-size:12px;color:var(--muted)}
.prose{font:400 clamp(17px,1.9vw,19px)/1.72 var(--serif);color:#e2e5ea;max-width:72ch}
.prose p{margin:0 0 1.05em}
.prose strong{color:#fff;font-weight:600}
.prose h3,.prose h4{font-family:var(--sans);font-weight:800;margin:1.6em 0 .5em}
.prose blockquote{margin:1em 0;padding-left:18px;border-left:4px solid var(--line);font-style:italic}

/* before = ledger paper, after = dark */
.era-b-sec{position:relative;color:var(--ink);max-width:none;padding:72px max(16px,calc((100vw - 1180px)/2 + 28px)) 60px;margin-top:72px;
  background:repeating-linear-gradient(180deg,transparent 0 31px,var(--paper-line) 31px 32px),var(--paper)}
.era-b-sec::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:14px;background:var(--line);box-shadow:0 0 30px var(--line-glow)}
.era-b-sec .sec-h{color:var(--ink)}
.era-b-sec .prose{color:#2a2f37}
.era-b-sec .prose strong{color:#000}
.era-a-sec{padding-top:80px}
.topic-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.topic-nav a{text-decoration:none;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid var(--edge);background:var(--card);transition:.2s}
.topic-nav a:hover{border-color:var(--a);color:var(--a)}
.topics{display:grid;gap:16px}
.topic{padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);border-left:5px solid var(--a)}
.topic h3{font:400 clamp(20px,2.6vw,26px)/1.15 var(--display);text-transform:uppercase;margin:0 0 12px;color:var(--a)}
.topic .prose,.topic p{font:400 clamp(16px,1.8vw,18px)/1.7 var(--serif)}
.topic p{margin:0 0 1em;color:#e2e5ea;max-width:74ch}

/* timeline */
.tl{list-style:none;margin:0;padding:0 0 0 28px;position:relative}
.tl::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--b),var(--line) 50%,var(--a))}
.tl-item{position:relative;padding:10px 0 14px 18px}
.tl-item::before{content:"";position:absolute;left:-26px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--b)}
.tl-item.era-a::before{border-color:var(--a)}
.tl-item.era-l::before{border-color:var(--line);background:var(--line);box-shadow:0 0 12px var(--line-glow)}
.tl-item time{font:700 13px var(--mono);color:var(--b)}
.tl-item.era-a time{color:var(--a)} .tl-item.era-l time{color:var(--line)}
.tl-item p{margin:2px 0 0;max-width:70ch}
.tl-tag{display:inline-block;margin-top:4px;font:600 11px var(--mono);text-decoration:none;color:var(--muted);border:1px solid var(--edge);padding:3px 8px;border-radius:999px}
.tl-divider{position:relative;margin:18px 0 18px -28px;padding:12px 0;text-align:center}
.tl-divider span{position:relative;z-index:1;font:400 18px var(--display);letter-spacing:.1em;background:var(--line);color:#fff;padding:8px 18px;border-radius:999px;box-shadow:0 0 30px var(--line-glow)}
.tl-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;background:var(--line)}

/* ledger */
.ledger-intro{color:var(--muted);font-style:italic;max-width:70ch}
.ledger{display:grid;gap:10px}
.lrow{display:grid;grid-template-columns:1fr;gap:10px;padding:16px;border-radius:14px;background:var(--card);border:1px solid var(--edge)}
.l-measure{font-weight:800;font-size:16px}
.l-b,.l-a{font:500 14px/1.45 var(--mono)}
.l-b .tag{color:var(--b)} .l-a .tag{color:var(--a)}
.l-line{display:none}
.l-note{font-size:13px;color:var(--muted)}
@media(min-width:900px){
  .lrow{grid-template-columns:1.1fr 1.3fr 4px 1.3fr 1fr;align-items:center;padding:14px 18px}
  .l-line{display:block;align-self:stretch;background:var(--line);border-radius:2px;box-shadow:0 0 10px var(--line-glow)}
  .js .lrow.reveal .l-b{transform:translateX(-20px);transition:transform .6s .1s}
  .js .lrow.reveal .l-a{transform:translateX(20px);transition:transform .6s .2s}
  .js .lrow.in .l-b,.js .lrow.in .l-a{transform:none;opacity:1}
}

/* contested */
.fight{position:relative;padding:26px 22px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);margin-bottom:16px;overflow:hidden}
.fight-no{display:none}
.fight h3{position:relative;font:400 clamp(22px,3vw,30px)/1.1 var(--display);text-transform:uppercase;margin:0 0 14px;color:#fff}
.fight-body p{font:400 clamp(16px,1.8vw,18px)/1.7 var(--serif);color:#e2e5ea;max-width:74ch}
.lean{margin-top:18px;padding:16px;border-radius:14px;background:var(--bg2);border:1px dashed var(--edge)}
.lean p{margin:0 0 10px;font-weight:600}
.lean-btns{display:flex;flex-wrap:wrap;gap:8px}
.lean-btns button{flex:1 1 0;min-width:0;padding:12px 6px;font-size:14px;border-radius:12px;border:1.5px solid var(--edge);background:var(--card);font-weight:700;transition:.2s}
.lean-btns button:hover{border-color:#fff}
.lean-btns button[data-v="-1"].on{background:var(--b);color:#08131a;border-color:var(--b)}
.lean-btns button[data-v="0"].on{background:var(--line);color:#fff;border-color:var(--line)}
.lean-btns button[data-v="1"].on{background:var(--a);color:#101a04;border-color:var(--a)}
.lean-out{margin:10px 0 0!important;font-weight:500!important;color:var(--muted);font-size:14px}

/* scoreboard rows on sector page */
.sbrow{padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);margin-bottom:14px}
.sbrow header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
.sbrow h3{margin:0;font-size:20px}
.sbrow .stamp{font-size:15px;animation:none}
.rule-chip{font:700 11px var(--mono);padding:6px 10px;border-radius:999px;background:rgba(255,59,48,.15);color:#ff8a82;border:1px solid rgba(255,59,48,.4)}
.sb-cols{display:grid;gap:12px}
@media(min-width:700px){.sb-cols{grid-template-columns:1fr 1fr}}
.sb-for,.sb-against{padding:14px;border-radius:12px}
.sb-for{background:rgba(184,255,60,.08);border:1px solid rgba(184,255,60,.25)}
.sb-against{background:rgba(255,59,48,.08);border:1px solid rgba(255,59,48,.3)}
.sb-for .tag{color:var(--a)} .sb-against .tag{color:#ff8a82}
.sb-for p,.sb-against p{margin:0;font-size:15px}
.my-verdict{padding:26px;border-radius:var(--r);background:linear-gradient(135deg,rgba(92,200,255,.12),rgba(184,255,60,.1));border:1px solid var(--edge)}
.my-verdict h3{font:400 26px var(--display);text-transform:uppercase;margin:0 0 6px}
.my-verdict p{color:#c8cdd5;margin:0 0 6px}
.mv-scale{display:flex;justify-content:space-between;font:600 11px var(--mono);color:var(--muted);gap:4px;text-align:center}
.mv-scale span{flex:1}
.mv-out{font:400 22px var(--display)!important;color:#fff!important;text-transform:uppercase;margin:14px 0!important}

/* quiz */
.quiz{display:grid;gap:14px}
@media(min-width:900px){.quiz{grid-template-columns:1fr 1fr}}
.q{padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.q-no{font:700 12px var(--mono);color:var(--acc);margin:0}
.q h3{font-size:18px;margin:6px 0 14px;line-height:1.35}
.q-opts{display:grid;gap:8px}
.q-opts button,.bq-card .q-opts button{text-align:left;padding:12px 14px;border-radius:12px;border:1.5px solid var(--edge);background:var(--bg2);font-weight:600;transition:.2s}
.q-opts button:hover:not(:disabled){border-color:#fff;transform:translateX(3px)}
.q-opts button.right{background:var(--a);color:#101a04;border-color:var(--a)}
.q-opts button.wrong{background:rgba(255,59,48,.25);border-color:var(--line);animation:shake .4s}
.q-opts button:disabled{cursor:default}
.q-why{margin:12px 0 0;font-size:14px;color:#cfd4dc}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.quiz-score{font:400 22px var(--display);text-transform:uppercase}

/* prev/next */
.next-sec{padding-bottom:60px}
.teaser{font:italic 400 clamp(18px,2.2vw,22px)/1.5 var(--serif);color:#cfd4dc;max-width:62ch;border-left:4px solid var(--line);padding-left:18px}
.pn-row{display:grid;gap:14px;margin-top:28px}
@media(min-width:700px){.pn-row{grid-template-columns:1fr 1fr}}
.pn{display:flex;flex-direction:column;gap:4px;text-decoration:none;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);transition:.3s}
.pn:hover{border-color:hsl(var(--hue,5) 95% 62%);transform:translateY(-3px)}
.pn.next{text-align:right}
.pn small{font:700 12px var(--mono);color:var(--muted)}
.pn b{font:400 26px var(--display);text-transform:uppercase}

/* history */
.era-nav{display:flex;gap:8px;overflow-x:auto;padding-top:24px;padding-bottom:8px;scrollbar-width:none}
.era-nav a{flex:none;display:flex;flex-direction:column;text-decoration:none;padding:12px 16px;border-radius:14px;background:var(--paper);color:var(--ink);font-weight:700;font-size:14px}
.era-nav a b{font:700 12px var(--mono);color:#a33}
.eras{display:grid;gap:22px;padding-top:30px}
.era{border-radius:24px;overflow:hidden;background:var(--paper);color:var(--ink)}
.era-head{display:grid;gap:12px;padding:28px 24px 10px}
@media(min-width:800px){.era-head{grid-template-columns:240px 1fr;align-items:end}}
.era-years{font:400 clamp(36px,6vw,56px)/1 var(--display);color:#c0392b}
.era h2{font:400 clamp(28px,4vw,44px)/1 var(--display);text-transform:uppercase;margin:0}
.era .eyebrow{color:#7a6f5f}
.era-line{font:italic 400 19px/1.45 var(--serif);margin:10px 0 0}
.hstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2px;background:var(--ink);margin-top:18px}
.hstat{padding:18px 20px;background:var(--ink);color:var(--paper)}
.hstat b{display:block;font:700 26px var(--mono);color:var(--b)}
.hstat small{color:#b9b1a2}
.era-events{list-style:none;margin:0;padding:18px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 22px}
.era-events li{font-size:14px;padding:6px 0;border-bottom:1px solid var(--paper-line)}
.era-events time{display:block;font:700 12px var(--mono);color:#c0392b}
.read{margin:0 24px 24px;border-radius:14px;background:#fff8ec;border:1px solid var(--paper-line)}
.read summary{cursor:pointer;padding:14px 18px;font-weight:800;list-style:none}
.read summary::-webkit-details-marker{display:none}
.read summary::before{content:"+ ";color:#c0392b}
.read[open] summary::before{content:"− "}
.read .prose{color:#2a2f37;padding:0 18px 10px}
.read .prose strong{color:#000}
.inh-cols{display:grid;gap:20px;margin:30px 0}
@media(min-width:900px){.inh-cols{grid-template-columns:1fr 1fr}}
.col-h{font:400 24px var(--display);text-transform:uppercase;margin:30px 0 14px}
.col-a{color:var(--a)} .col-l{color:#ff8a82}
.inh{padding:18px;border-radius:14px;background:var(--card);border:1px solid var(--edge);margin-bottom:10px}
.inh.asset{border-left:4px solid var(--a)} .inh.liab{border-left:4px solid var(--line)}
.inh h3{margin:0 0 6px;font-size:16px}
.inh p{margin:0;color:#c9ced6;font-size:15px}
.rules-long{padding-left:20px}
.rules-long li{margin-bottom:12px}
.rules-long b{color:var(--line)}
.rules-long p{margin:4px 0 0;color:#cfd4dc}

/* scoreboard */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chips button{padding:9px 14px;border-radius:999px;border:1.5px solid var(--edge);background:var(--card);font-weight:700;font-size:13px;transition:.2s}
.chips button.on{background:var(--line);border-color:var(--line);color:#fff}
.tl-chips button.on{background:hsl(var(--hue,5) 90% 55%);border-color:transparent;color:#0b0d10}
.sbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px}
.sbcard{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.sbcard[hidden]{display:none}
.sbcard header{display:flex;gap:12px;align-items:center}
.sb-no{font:400 30px var(--display);color:var(--line)}
.sbcard h3{margin:0;font-size:18px}
.sbcard header small{color:var(--muted);font-size:12px}
.sb-verdict{margin:0;font:400 24px/1.05 var(--display);text-transform:uppercase;background:linear-gradient(90deg,#fff,#ffd5d2);-webkit-background-clip:text;background-clip:text;color:transparent}
.sbcard footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}
.sbcard footer a{color:var(--a);text-decoration:none;font-weight:700}
.findings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px}
.finding{padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);border-top:5px solid var(--line)}
.finding h3{font:400 22px/1.1 var(--display);text-transform:uppercase;margin:0 0 10px}
.finding p{font:400 17px/1.65 var(--serif);color:#dfe2e7;margin:0}
.bigverdicts{display:grid;gap:16px}
.bigverdict{padding:30px;border-radius:24px;border:1px solid var(--edge);background:var(--card)}
.bigverdict small{font:700 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bigverdict h3{font:400 clamp(22px,3vw,32px)/1.15 var(--display);text-transform:uppercase;margin:8px 0 14px}
.bigverdict p{font:400 18px/1.7 var(--serif);color:#e2e5ea;margin:0;max-width:78ch}
.v-things{border-left:8px solid var(--a)} .v-persons{border-left:8px solid var(--b)} .v-republic{border-left:8px solid var(--line)}
.builder{display:grid;gap:22px}
@media(min-width:960px){.builder{grid-template-columns:1fr 380px}.bresult{position:sticky;top:140px;align-self:start}}
.brows{display:grid;gap:4px}
.brow{display:grid;grid-template-columns:1fr 1.2fr 40px;gap:14px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--card)}
.brow label{font-weight:700;font-size:14px}
.brow label small{display:block;font-weight:500;color:var(--muted);font-size:12px}
.brow input{margin:6px 0}
.brow output{font:700 16px var(--mono);text-align:right}
@media(max-width:600px){.brow{grid-template-columns:1fr 40px}.brow input{grid-column:1/-1;grid-row:2}}
.bresult{padding:22px;border-radius:var(--r);background:var(--bg2);border:1px solid var(--edge);display:grid;gap:16px}
.meter b{display:block;font-size:14px;margin-bottom:6px}
.mtrack{position:relative;height:16px;border-radius:999px;background:linear-gradient(90deg,rgba(92,200,255,.25),rgba(255,59,48,.25) 50%,rgba(184,255,60,.25))}
.mtrack::after{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:#fff;opacity:.6}
.mtrack span{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);left:50%;transition:left .5s cubic-bezier(.2,1.4,.4,1);box-shadow:0 0 0 4px var(--ink),0 0 18px rgba(255,255,255,.5)}
.meter output{display:block;font:400 18px var(--display);text-transform:uppercase;margin-top:8px}
.meter.overall{padding-top:14px;border-top:1px dashed var(--edge)}
.bnote{font-size:12px;color:var(--muted);margin:0}

/* five lives */
.life-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.life-nav a{text-decoration:none;padding:10px 16px;border-radius:999px;background:var(--paper);color:var(--ink);font-weight:800}
.lives{display:grid;gap:20px;padding-top:40px}
.life{padding:28px 24px;border-radius:24px;background:var(--card);border:1px solid var(--edge)}
.life header{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.life h2{font:400 clamp(28px,4vw,42px)/1 var(--display);text-transform:uppercase;margin:0}
.life h2 small{font:italic 400 20px var(--serif);text-transform:none;color:var(--muted)}
.answers{display:grid;gap:12px;margin:24px 0}
.answer{margin:0;padding:22px 24px;border-radius:var(--r);background:var(--paper);color:var(--ink)}
.answer p{font:italic 400 clamp(20px,2.6vw,28px)/1.35 var(--serif);margin:0}
.answer cite{display:block;margin-top:8px;font:400 16px var(--display);font-style:normal;text-transform:uppercase;color:#c0392b}

/* 2047 */
.hero-2047 h1{font-size:clamp(110px,26vw,300px);background:linear-gradient(180deg,#fff,var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}
.calc{padding:26px;border-radius:24px;background:var(--bg2);border:1px solid var(--edge);margin-bottom:30px}
.calc label{font-weight:800}
.calc-marks{display:flex;flex-wrap:wrap;gap:8px}
.calc-marks button{padding:8px 12px;border-radius:999px;border:1px solid var(--edge);background:var(--card);font:600 12px var(--mono)}
.calc-marks button:hover{border-color:#fff}
.calc-out{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:22px 0}
.calc-out b{display:block;font:400 clamp(44px,8vw,80px)/1 var(--display)}
.c-g{color:var(--b)} .c-x{color:var(--a)}
.calc-out small{color:var(--muted)}
.c-verdict{font:400 18px/1.3 var(--display);text-transform:uppercase;align-self:center}
.calc-bar{position:relative;height:18px;border-radius:999px;background:rgba(255,255,255,.06)}
.cb-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--b),var(--a));transition:width .4s}
.cb-target{position:absolute;top:-6px;bottom:-6px;width:4px;background:var(--line);border-radius:2px;box-shadow:0 0 12px var(--line-glow)}
.forks{display:grid;gap:16px}
.fork{padding:26px;border-radius:24px;background:var(--card);border:1px solid var(--edge)}
.fork h3{font:400 clamp(22px,3vw,30px)/1.1 var(--display);text-transform:uppercase;margin:0 0 12px}
.fork-pre{color:#cfd4dc}
.fork-split{display:grid;gap:12px}
@media(min-width:800px){.fork-split{grid-template-columns:1fr 1fr}}
.fork-b1,.fork-b2{padding:18px;border-radius:14px}
.fork-b1{background:rgba(184,255,60,.08);border:1px solid rgba(184,255,60,.3)} .fork-b1 .tag{color:var(--a)}
.fork-b2{background:rgba(255,59,48,.08);border:1px solid rgba(255,59,48,.3)} .fork-b2 .tag{color:#ff8a82}
.fork-split p{margin:0;font:400 16px/1.6 var(--serif)}
.fork-ev{margin:14px 0 0;font-weight:600;color:#fff;padding-left:14px;border-left:4px solid var(--line)}
.midnight{text-align:left}
.the-end{font:400 clamp(30px,5vw,56px)/1.1 var(--display);text-transform:uppercase;margin:30px 0;background:linear-gradient(90deg,var(--b),var(--line),var(--a));-webkit-background-clip:text;background-clip:text;color:transparent}

/* toolkit */
.rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}
.rule-card{position:relative;padding:26px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);overflow:hidden}
.rule-n{position:absolute;right:10px;top:-14px;font:400 120px/1 var(--display);color:rgba(255,59,48,.18)}
.rule-card h3{font:400 22px/1.1 var(--display);text-transform:uppercase;margin:0 0 10px;position:relative;max-width:85%}
.rule-card p{position:relative;color:#cfd4dc;margin:0 0 10px}
.rule-ex{font-size:14px;padding:12px;border-radius:10px;background:var(--bg2)}
.rule-ex b{color:var(--a)}
.converter{padding:24px;border-radius:var(--r);background:var(--bg2);border:1px solid var(--edge);margin-top:20px}
.cv-in{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-weight:700}
.cv-in input,.cv-in select,.gl-search{font:700 20px var(--mono);padding:12px 14px;border-radius:12px;border:1.5px solid var(--edge);background:var(--card);color:#fff;max-width:100%}
.cv-in input{width:160px}
.cv-out{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:18px}
.cv-out b{display:block;font:700 clamp(20px,3vw,28px) var(--mono);color:var(--a);word-break:break-all}
.cv-out small{color:var(--muted)}
.three-q{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px}
.three-q div{padding:24px;border-radius:var(--r);background:var(--paper);color:var(--ink)}
.three-q b{font:400 54px/1 var(--display);color:#c0392b}
.three-q p{font:600 20px/1.3 var(--serif);margin:8px 0 0}
.jobrules{padding-left:20px;margin-top:22px}
.jobrules li{margin-bottom:12px;max-width:72ch}
.jobrules b{color:var(--a)}
.oogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}
.oo{padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge)}
.oo h3{font:400 24px var(--display);text-transform:uppercase;margin:0 0 12px}
.oo-split{display:grid;gap:10px;margin-bottom:12px}
.oo-out,.oo-come{padding:12px 14px;border-radius:12px}
.oo-out{background:rgba(184,255,60,.08)} .oo-out .tag{color:var(--a)}
.oo-come{background:rgba(255,59,48,.1)} .oo-come .tag{color:#ff8a82}
.oo p{margin:0;font-size:15px}
.oo a,.nd a{font-size:13px;font-weight:700;color:var(--muted)}
.ndgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.nd{padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);border-top:4px solid var(--line)}
.nd h3{margin:0 0 10px;font-size:16px}
.nd-ans{font:italic 400 22px/1.3 var(--serif);color:#ff8a82;margin:0 0 10px}
.nd-other{color:#cfd4dc;font-size:14px}

/* glossary, people, quiz page */
.gl-search{width:100%;margin-bottom:22px;font-size:18px}
.glossary{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:10px;margin:0}
.gl-item{padding:16px 18px;border-radius:14px;background:var(--card);border:1px solid var(--edge)}
.gl-item[hidden]{display:none}
.gl-item dt{font:400 18px var(--display);text-transform:uppercase;color:var(--a);margin-bottom:4px}
.gl-item dd{margin:0;color:#d4d8df;font-size:15px}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.person{display:flex;flex-direction:column;gap:10px;text-decoration:none;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);transition:.3s}
.person:hover{transform:translateY(-4px);border-color:var(--a)}
.person h3{font:400 24px var(--display);text-transform:uppercase;margin:0}
.person p{margin:0;color:#c9ced6;font-size:15px}
.person q{font:italic 400 18px/1.4 var(--serif)}
.person .go{margin-top:auto;font-weight:700;color:var(--a);font-size:14px}
.bigquiz{max-width:760px}
.bq-top{display:flex;justify-content:space-between;font:700 14px var(--mono);color:var(--muted);margin-bottom:14px}
.bq-card{padding:28px;border-radius:24px;background:var(--card);border:1px solid var(--edge);animation:pop .35s}
.bq-card h3{font-size:clamp(20px,2.6vw,26px);line-height:1.3;margin:6px 0 18px}
.bq-card .q-src{font:700 12px var(--mono);color:var(--acc);text-transform:uppercase;letter-spacing:.12em}
.bq-next{margin-top:16px}
.bq-final{font:400 clamp(30px,5vw,48px)/1.1 var(--display);text-transform:uppercase}

/* tables (fallback) */
.table-wrap{overflow-x:auto;margin:1em 0}
.md-table{border-collapse:collapse;font:400 14px var(--sans);min-width:600px}
.md-table th,.md-table td{border:1px solid var(--edge);padding:8px 10px;text-align:left;vertical-align:top}
.locked{padding:22px;border-radius:var(--r);background:var(--paper);color:var(--ink)}
.locked p{font:400 18px/1.6 var(--serif);margin:0 0 14px}
.locked-cta b{display:block;margin-bottom:8px}

/* footer */
.foot{margin-top:80px;padding:0 16px 40px;background:#0b0d10;border-top:1px solid var(--edge)}
.foot-line{display:flex;align-items:center;gap:12px;max-width:1180px;margin:0 auto;padding:30px 0}
.foot-line i{flex:1;height:6px;background:var(--line);border-radius:3px;box-shadow:0 0 20px var(--line-glow)}
.foot-line span{font:700 11px var(--mono);letter-spacing:.3em;color:var(--muted)}
.foot-grid{max-width:1180px;margin:0 auto;display:grid;gap:30px}
@media(min-width:900px){.foot-grid{grid-template-columns:1fr 1.6fr}}
.foot-title{font:400 28px var(--display);margin:0 0 8px}
.foot p{color:var(--muted);font-size:14px}
.buy-links a{color:#fff}
.foot-sectors{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.foot-sectors a{padding:9px 12px;font-size:13px;background:transparent}
.foot-small{max-width:1180px;margin:20px auto 0;font-size:12px!important}
.credit{max-width:1180px;margin:10px auto 0;font-size:13px!important}
.credit a{color:#fff;font-weight:700}
.toc{columns:2 300px;padding-left:20px}
.toc li{margin-bottom:8px;break-inside:avoid}
.toc a{color:#d6dae1}
:focus-visible{outline:3px solid var(--a);outline-offset:3px;border-radius:6px}

@media(min-height:760px){.scroll-cue{display:block}}
.era-tease{margin:0 24px 24px;font:italic 400 17px/1.5 var(--serif);color:#5b5246;border-left:4px solid #c0392b;padding-left:14px}
.fight-intro{margin-bottom:18px}
.word{display:inline-block;white-space:nowrap}
.scrub-track input[type=range]{background:linear-gradient(90deg,var(--b) 0 84.4%,var(--line) 84.4% 85.4%,var(--a) 85.4%)}

/* ===== short-sentence layer ===== */
.frames{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));counter-reset:f}
.frame{position:relative;padding:18px 18px 20px;border-radius:16px;background:var(--card);border:1px solid var(--edge);border-top:4px solid var(--b);min-height:130px;transition-delay:calc(var(--i) * 90ms)!important}
.frame.f-a,.frame.f-n{border-top-color:var(--a)}.frame.f-l{border-top-color:var(--line)}
.frame-no{display:none}
.frame time{font:700 12px var(--mono);color:var(--acc);letter-spacing:.06em}
.frame p{margin:8px 0 0;font:600 17px/1.35 var(--sans);color:#fff}
.paper-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-width:760px}
.paper-list li{position:relative;padding:6px 0 6px 34px;font:600 clamp(18px,2.2vw,22px)/1.4 var(--serif);color:var(--ink);min-height:32px}
.paper-list li::before{content:"";position:absolute;left:4px;top:15px;width:14px;height:14px;border-radius:50%;background:var(--b);box-shadow:0 0 0 3px rgba(31,35,41,.85)}
.tgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.tcard{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--r);background:var(--card);border:1px solid var(--edge);border-top:4px solid var(--a)}
.tcard h3{margin:0;font:400 20px/1.15 var(--display);text-transform:uppercase;color:#fff}
.tbig{padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,rgba(184,255,60,.14),rgba(92,200,255,.08))}
.tbig b{display:block;font:700 clamp(24px,3.2vw,32px)/1.1 var(--mono);color:var(--a);letter-spacing:-.02em}
.tbig small{display:block;margin-top:4px;color:#c9ced6;font-size:13px}
.tcard ul,.vs ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.tcard li,.vs li{position:relative;padding-left:20px;font-size:16px;line-height:1.4;color:#e2e5ea}
.tcard li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:2px;background:var(--a)}
.vs{display:grid;gap:12px;align-items:stretch}
@media(min-width:760px){.vs{grid-template-columns:1fr auto 1fr}}
.vs-g,.vs-c{padding:16px 18px;border-radius:14px}
.vs-g{background:rgba(184,255,60,.08);border:1px solid rgba(184,255,60,.3)} .vs-g .tag{color:var(--a)}
.vs-c{background:rgba(92,200,255,.08);border:1px solid rgba(92,200,255,.3)} .vs-c .tag{color:var(--b)}
.vs-g li::before,.vs-c li::before{content:"›";position:absolute;left:2px;top:-1px;font-weight:800}
.vs-g li::before{color:var(--a)} .vs-c li::before{color:var(--b)}
.vs-mid{align-self:center;justify-self:center;font:400 22px var(--display);color:#fff;background:var(--line);border-radius:999px;padding:10px 14px;box-shadow:0 0 24px var(--line-glow)}
.take{margin:14px 0 0;padding:12px 16px;border-radius:12px;background:var(--bg2);border-left:4px solid var(--line);font-size:16px}
.take b{color:var(--line)}
.read-full{border-radius:var(--r);background:var(--paper);color:var(--ink)}
.read-full summary{cursor:pointer;list-style:none;padding:20px 22px;font:400 20px var(--display);text-transform:uppercase}
.read-full summary::-webkit-details-marker{display:none}
.read-full summary::before{content:"+ ";color:#c0392b}
.read-full[open] summary::before{content:"− "}
.read-full-in{padding:0 22px 22px}
.read-full-in h3{font:400 22px var(--display);text-transform:uppercase;margin:26px 0 10px;color:#c0392b}
.read-full .prose{color:#2a2f37;max-width:72ch}
.read-full .prose strong{color:#000}
.read-full .md-table th,.read-full .md-table td{border-color:var(--paper-line)}
.short-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:820px}
.short-list li{padding:14px 18px;border-radius:14px;background:var(--card);border-left:5px solid var(--a);font:600 clamp(17px,2vw,20px)/1.4 var(--sans)}
.intro-lines{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.intro-lines li{font:400 clamp(24px,4vw,44px)/1.15 var(--display);text-transform:uppercase}
.intro-lines li:nth-child(1){color:var(--a)} .intro-lines li:nth-child(2){color:var(--b)} .intro-lines li:nth-child(3){color:#fff} .intro-lines li:nth-child(4){color:var(--line)}
.read-full{margin-top:16px}
.life .answer{margin-top:14px}

.link-row{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:8px}
.link-row a{font-weight:700;color:var(--a);text-decoration:none}
.link-row a:hover{text-decoration:underline}
.story-grid{margin-top:4px}
.sbrow{margin-bottom:12px}

/* read free, not downloadable */
.read-full-in,.prose{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.read-full-in .loading{color:#7a6f5f;font-style:italic}
.era .read-full{background:#fff8ec;border:1px solid var(--paper-line);margin:0 24px 16px}
@media print{
  .read-full-in,.prose{display:none!important}
  .read-full::after{content:"The book’s text is not printable. Read it on the site, or buy the book.";display:block;padding:12px 22px;font-style:italic}
}
