/* Wealth I/O Resources v2: sits on top of shell.css (the homepage's exact tokens, header, footer, buttons).
   Ink is the stage (cold opens, peaks, receipt, end cards); paper is the page (reading). */
:root{
  --paper-2:#ECE9E2; --ink-text:#1A1A1A; --mol:#5C5952; --ctx:#7D7A73; --sol:#2E4DE0;
  --present:#1B7A4A; --missing:#B83A28; --wash:rgba(46,77,224,.07);
  --hair-l:rgba(14,13,12,.16); --hair-l2:rgba(14,13,12,.10);
  --read:680px; --hdr:68px;
}
html{scroll-padding-top:84px}
body.res{overflow-x:hidden}
:focus-visible{outline:3px solid var(--signal-soft);outline-offset:3px}
.paper :focus-visible{outline:3px solid var(--sol)}
.sq{flex:none}
.btn{min-height:48px}
.btn--sm{min-height:44px}
.btn--ink-line{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper)}
.btn--ink-line .sq{background:var(--signal)}
.textbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--mono);font-size:15px;text-decoration:underline;text-underline-offset:4px;padding:0 2px;color:inherit}
.textbtn.on-ink{color:var(--paper)}
em{font-style:normal;color:var(--signal)}
code{font-family:var(--mono);font-size:.9em}

/* breadcrumbs (on ink) */
.crumbs{font-family:var(--mono);font-size:14px;color:var(--label)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:0 10px;align-items:center}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--muted)}
.crumbs a{color:var(--label);display:inline-flex;align-items:center;min-height:44px;min-width:44px;text-decoration:underline;text-decoration-color:rgba(179,176,168,.4);text-underline-offset:4px}
.crumbs a:hover{color:var(--paper)}
.crumbs li[aria-current]{color:var(--paper);display:inline-flex;align-items:center;min-height:44px}

/* ---------- cold open (ink) ---------- */
.cold{background:var(--ink);color:var(--paper);padding:calc(var(--hdr) + 22px) 0 clamp(48px,6vw,88px);position:relative}
.cold-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media (min-width:1100px){.cold-grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:end}}
.cold h1{font-weight:500;font-size:clamp(38px,5.6vw,82px);line-height:1;letter-spacing:-.04em;margin-top:clamp(10px,2vw,26px);text-wrap:balance;max-width:20ch}
.answer{margin-top:clamp(22px,3vw,34px);border-left:3px solid var(--signal);padding-left:clamp(16px,2vw,24px);max-width:62ch}
.answer p{font-size:20px;line-height:1.55;color:var(--body);font-weight:300}
.answer .hook-a{display:block;font-size:clamp(24px,2.5vw,32px);line-height:1.3;font-weight:400;color:var(--paper);margin-bottom:10px;letter-spacing:-.01em}
.byline{margin-top:20px;font-family:var(--mono);font-size:14px;color:var(--label);line-height:1.8;max-width:80ch}
.byline a{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.byline span{white-space:nowrap}
.hook-num{margin-top:26px;font-size:clamp(21px,1.9vw,25px);line-height:1.4;font-weight:400;color:var(--paper);max-width:52ch}
.hook-num span{display:block;color:var(--body);font-weight:300;font-size:19px;margin-top:6px}
.deal{margin-top:14px;font-size:18px;color:var(--label);max-width:56ch;line-height:1.5}
.cold-ctl{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:26px}
.modebtn{min-height:44px;padding:0 14px;font-family:var(--mono);font-size:14px;color:var(--paper);box-shadow:inset 0 0 0 1px var(--hair);display:inline-flex;align-items:center;gap:8px}
.modebtn span{padding:4px 8px}
html.mode-play .modebtn .mb-play,html.mode-read .modebtn .mb-read{background:var(--paper);color:var(--ink)}
.cold-art{display:grid;gap:18px;align-content:end}
.cold-art .gag{margin:0;max-width:260px}
.cold-art .gag svg{color:var(--paper)}
.cold-img{background:var(--paper);padding:10px}
.cold-img img{width:100%;height:auto;aspect-ratio:1600/1067}
.cold-img figcaption{font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:8px}
@media (max-width:1099px){.cold-img{display:none}.cold-art .gag{max-width:200px}}

/* ---------- paper reading ---------- */
.paper{background:var(--paper);color:var(--ink-text);font-weight:350;font-size:20px;line-height:1.62}
.paper a{color:var(--sol);text-decoration:underline;text-underline-offset:3px}
.paper a.btn,.endcard a.btn{color:#fff;text-decoration:none}
.paper a.btn--ink-line,.endcard a.btn--ink-line{color:var(--paper)}
.level .play-q{margin-top:22px}
.paper b,.paper strong{font-weight:550}
.paper em{color:var(--sol)}
.art-grid{display:grid;grid-template-columns:minmax(0,var(--read));justify-content:center;padding:0 var(--gutter)}
.art-grid>*{grid-column:1;min-width:0}
.lvl-map,.receipt{display:none}
@media (min-width:1200px){
  .art-grid{grid-template-columns:minmax(170px,1fr) minmax(0,var(--read)) minmax(190px,1fr);column-gap:clamp(28px,3vw,56px);max-width:1440px;margin:0 auto}
  .art-grid>*{grid-column:2}
  .lvl-map{display:block;grid-column:1;grid-row:1/span 40;align-self:stretch;justify-self:end;width:100%;max-width:230px}
  .receipt{display:block;grid-column:3;grid-row:1/span 40;align-self:stretch;justify-self:start;width:100%;max-width:250px}
  .lvl-strip{display:none!important}
}
.read-col{padding-top:clamp(40px,5vw,64px)}
.takeaways{border-top:1.5px solid var(--ink-text);padding-top:20px}
.takeaways h2,.box h2{font-weight:500;font-size:22px;line-height:1.2}
.takeaways ul{margin-top:10px;padding-left:1.1em}
.takeaways li{font-size:19px;line-height:1.5;margin-top:8px}
.takeaways li::marker{color:var(--sol)}
.box{margin-top:24px;background:var(--paper-2);padding:clamp(16px,2.4vw,26px)}
.box p{font-size:18px;line-height:1.55;margin-top:8px}
.figlist{list-style:none;margin-top:10px;font-family:var(--mono);font-size:14px;line-height:1.55}
.figlist li{display:grid;grid-template-columns:minmax(0,8.5em) minmax(0,1fr);gap:4px 14px;padding:8px 0;border-top:1px solid var(--hair-l)}
.figlist b{font-weight:500}
.figlist span{color:var(--mol)}
@media (max-width:480px){.figlist li{grid-template-columns:minmax(0,1fr)}}
.personal{margin-top:24px;border:1.5px dashed var(--ctx);padding:16px 18px}
.ps-h{font-weight:500;font-size:19px}
.ps-row{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:10px}
.ps-row label{display:grid;gap:4px;font-size:16px;font-weight:450;flex:1 1 200px;min-width:0}
.ps-row select,.ps-row input,.b-form input{min-height:48px;font:inherit;font-size:17px;font-weight:350;padding:8px 12px;border:1.5px solid var(--ink-text);background:#fff;color:var(--ink-text);border-radius:0;width:100%;min-width:0}
.ps-note{font-size:16px;color:var(--mol);margin-top:10px;line-height:1.5}

/* level map (left, >=1200) */
.lvl-nav{position:sticky;top:96px;padding-top:clamp(40px,5vw,64px)}
.lm-h{font-family:var(--mono);font-size:14px;color:var(--mol);margin-bottom:8px}
.lm-h b{color:var(--ink-text);font-weight:500}
.lvl-nav ol{list-style:none;position:relative}
.lvl-nav ol::before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:1.5px;background:var(--hair-l)}
.lvl-nav a{display:flex;gap:12px;align-items:center;min-height:44px;color:var(--mol);text-decoration:none;font-size:15px;line-height:1.25}
.lvl-nav a:hover{color:var(--ink-text);text-decoration:underline}
.rl-n{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ctx);position:relative;z-index:1}
.lvl-nav li.cleared .rl-n{background:var(--ink);color:var(--clear);box-shadow:none}
.lvl-nav li.cur .rl-n{background:var(--signal-btn);color:#fff;box-shadow:none}
.lvl-nav li.cur a{color:var(--ink-text);font-weight:500}

/* receipt (right, >=1200) */
.rc-card{position:sticky;top:96px;margin-top:clamp(40px,5vw,64px);background:var(--ink);color:var(--paper);padding:18px 16px}
.rc-h{font-family:var(--mono);font-size:14px;color:var(--label)}
.rc-card ol{list-style:none;margin-top:8px}
.rc-card li{display:flex;gap:10px;font-size:15px;line-height:1.35;padding:7px 0;border-top:1px solid var(--hair);color:var(--label)}
.rc-mark{width:14px;height:14px;flex:none;margin-top:3px;box-shadow:inset 0 0 0 1.5px var(--muted)}
.rc-card li.got{color:var(--paper)}
.rc-card li.got .rc-mark{background:var(--clear);box-shadow:none}
.rc-n{font-family:var(--mono);font-size:14px;color:var(--label);margin-top:10px}
.rc-n b{color:var(--clear);font-weight:500}

/* ---------- a level: Hook -> Play -> Reveal -> Receipt ---------- */
.level{padding-top:clamp(64px,8vw,104px)}
.lvl-strip{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:14px;color:var(--mol);margin-bottom:12px}
.lvl-strip .dots{display:inline-flex;gap:6px}
.lvl-strip i{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ctx)}
.lvl-strip i.on{background:var(--ctx)}
.level h2{font-weight:500;font-size:clamp(30px,3.2vw,40px);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.level .lede{margin-top:16px;font-weight:450}
.level p+p{margin-top:16px}
.narr{font-style:italic;font-size:22px;line-height:1.45;color:var(--ink-text);font-weight:350}
.level>.lvl-in>.narr{margin-top:16px}
.play{margin-top:24px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink-text);padding:clamp(16px,2.4vw,24px)}
.play-q{font-weight:450;font-size:20px;line-height:1.4}
.play-ctl{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin-top:14px}
.opt{min-height:48px;padding:10px 18px;box-shadow:inset 0 0 0 1.5px var(--ink-text);font-size:17px;font-weight:450;text-align:left;line-height:1.3;background:var(--paper)}
.opt:hover{background:var(--paper-2)}
.opt[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.opt.is-answer{box-shadow:inset 0 0 0 3px var(--present)}
.skip-play{min-height:44px;font-family:var(--mono);font-size:15px;text-decoration:underline;text-underline-offset:4px;color:var(--mol);padding:0 4px}
.range{width:min(100%,360px);height:44px;accent-color:var(--sol)}
.guess-out{font-family:var(--mono);font-size:16px;min-width:3.5em}
.guess-out b{font-family:var(--sans);font-size:30px;font-weight:500;color:var(--sol)}
.branch{margin-top:12px;font-style:italic;font-size:20px;color:var(--ink-text)}
.branch:empty{display:none}
html.js.mode-play .level.armed .reveal{display:none}
html.mode-read .play{display:none}
.reveal{margin-top:24px}
.reveal-fact{font-size:22px;line-height:1.45;font-weight:450;padding-left:18px;border-left:3px solid var(--sol)}
.aside{font-family:var(--mono);font-size:15px;color:var(--mol);line-height:1.6;margin-top:16px}
.honesty{font-size:16px;color:var(--mol);line-height:1.55;margin-top:14px}
.illus-line{font-size:18px;line-height:1.55;margin-top:18px;color:var(--ink-text)}
.illus-tag{display:inline-block;font-family:var(--mono);font-size:14px;box-shadow:inset 0 0 0 1px currentColor;padding:1px 8px;margin-right:6px}
.compliance-note{font-size:18px;line-height:1.55;margin-top:20px;padding:14px 16px;background:var(--paper-2)}
.beat-receipt{margin-top:32px;border-top:1.5px solid var(--ink-text);padding-top:18px}
.remember{font-weight:500;font-size:clamp(23px,2.2vw,28px);line-height:1.28;letter-spacing:-.01em}
.stamp-line{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:14px}
.stamp{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:14px;padding:7px 12px;line-height:1.35}
.stamp::before{content:"";width:10px;height:10px;flex:none;box-shadow:inset 0 0 0 1.5px var(--clear)}
.level.cleared .stamp::before{background:var(--clear)}
html.js.motion-ok .level.just-cleared .stamp{animation:stampin .55s var(--ease)}
@keyframes stampin{0%{transform:scale(1.35) rotate(-4deg)}60%{transform:scale(.96)}100%{transform:none}}
.lvl-of{font-family:var(--mono);font-size:14px;color:var(--mol)}
.next{margin-top:16px;white-space:normal;text-align:left;line-height:1.3}
.level--ink.level--peak{padding-top:clamp(56px,7vw,88px)}
.level--ink .lvl-in{background:var(--ink);color:var(--paper);padding:clamp(20px,3vw,36px);margin:0 calc(-1 * min(24px,var(--gutter)))}
.level--ink .narr,.level--ink .remember{color:var(--paper)}
.level--ink .lvl-strip{color:var(--label)}
.level--ink .play{background:var(--ink-raised);box-shadow:inset 0 0 0 1.5px var(--hair)}
.level--ink .opt{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper)}
.level--ink .skip-play,.level--ink .lvl-of,.level--ink .honesty,.level--ink .aside{color:var(--label)}
.level--ink .branch{color:var(--paper)}
.level--ink .reveal-fact{border-color:var(--signal-soft)}
.level--ink .beat-receipt{border-color:var(--hair)}
.level--ink .stamp{background:var(--paper);color:var(--ink)}
.level--ink .stamp::before{box-shadow:inset 0 0 0 1.5px var(--present)}
.level--ink.cleared .stamp::before{background:var(--present)}
.level--ink a{color:var(--signal-soft)}
.level--ink .guess-out b{color:var(--signal-soft)}
.level--ink .range{accent-color:var(--signal-soft)}

/* number line: the reader's guess vs the real value */
.numline{position:relative;height:70px;margin:6px 0 18px}
.nl-track{position:absolute;left:0;right:0;top:31px;height:2px;background:var(--hair-l)}
.nl-dot{position:absolute;top:25px;left:calc(var(--x) * 1%);width:14px;height:14px;margin-left:-7px;border-radius:50%}
.nl-dot.real{background:var(--sol)}
.nl-dot.you{display:none;box-shadow:inset 0 0 0 2px var(--sol);border:1px dashed var(--sol);background:var(--paper)}
.nl-lab{position:absolute;left:calc(var(--x) * 1%);transform:translateX(-50%);font-family:var(--mono);font-size:14px;white-space:nowrap;line-height:1.3}
.nl-lab.real{top:0;color:var(--sol)}
.nl-lab.real b{font-weight:500}
.nl-lab.you{top:46px;display:none;color:var(--ink-text)}
.nl-lab.al-l{transform:translateX(-7px)}
.nl-lab.al-r{transform:translateX(calc(-100% + 7px))}
.numline.has-you .nl-dot.you,.numline.has-you .nl-lab.you{display:block}
.level--ink .nl-track{background:var(--hair)}
.level--ink .nl-dot.real{background:var(--signal-soft)}
.level--ink .nl-lab.real{color:var(--signal-soft)}
.level--ink .nl-lab.you{color:var(--paper)}
.level--ink .nl-dot.you{box-shadow:inset 0 0 0 2px var(--signal-soft);border-color:var(--signal-soft);background:var(--ink)}

/* figures */
.fig{margin-top:30px;border-top:1.5px solid currentColor;padding-top:16px}
.fig-title{font-weight:500;font-size:clamp(21px,1.9vw,24px);line-height:1.25}
.fig-sub{font-size:17px;color:var(--mol);margin-top:4px;line-height:1.45}
.level--ink .fig-sub,.level--ink .fig figcaption .src{color:var(--label)}
.fig-body{margin-top:18px}
.fig figcaption{margin-top:14px;font-size:17px;line-height:1.55}
.fig figcaption .src{display:block;font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:8px;line-height:1.55}
.fig-tools{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center;margin-top:8px}
.chart-data summary{font-family:var(--mono);font-size:15px;min-height:44px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;list-style:none}
.chart-data summary::-webkit-details-marker{display:none}
.chart-data summary::before{content:"+";color:var(--sol);font-size:18px}
.chart-data[open] summary::before{content:"\2212"}
.chart-data{width:100%}
.tbl{overflow-x:auto;position:relative;margin-top:8px;border:1px solid var(--hair-l)}
.tbl table{border-collapse:collapse;width:100%;font-size:15px;font-family:var(--mono);font-variant-numeric:tabular-nums;min-width:340px}
.tbl caption{text-align:left;padding:10px 12px;font-family:var(--sans);font-size:15px;color:var(--mol)}
.tbl th,.tbl td{padding:9px 12px;border-top:1px solid var(--hair-l2);text-align:left;vertical-align:top}
.tbl thead th{font-weight:500;background:var(--paper-2)}
.tbl td.n,.tbl th.n{text-align:right}
.tbl tbody th{font-weight:400}
.tbl tr.pt td,.tbl tr.pt th{background:#E7E9F6}
.level--ink .tbl{border-color:var(--hair)}
.level--ink .tbl caption{color:var(--label)}
.level--ink .tbl thead th{background:var(--ink-raised)}
.level--ink .tbl th,.level--ink .tbl td{border-color:var(--hair)}
.level--ink .tbl tr.pt td,.level--ink .tbl tr.pt th{background:rgba(141,162,255,.16)}
.csv{font-family:var(--mono);font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.paper .csv{color:var(--sol)}
.paper .on-ink .csv,.level--ink .csv{color:var(--signal-soft)}
/* bars: labels are text, the bar is a box; value sits after the bar, never inside */
.bars{list-style:none}
.bars li{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);gap:4px 14px;align-items:center;padding:6px 0;position:relative}
.bars .bl{font-size:17px;line-height:1.3}
.bars .bt{display:flex;align-items:center;gap:10px;min-height:30px;min-width:0}
.bars .bf{height:22px;background:var(--ctx);flex:0 1 auto;width:calc(var(--w) * 0.8%);min-width:2px;transform-origin:left center}
.bars .bv{font-family:var(--mono);font-size:15px;white-space:nowrap;flex:none}
.bars .pt .bf{background:var(--sol)}
.bars .pt .bv{color:var(--sol);font-weight:500}
.level--ink .bars .bf{background:var(--muted)}
.level--ink .bars .pt .bf{background:var(--signal-soft)}
.level--ink .bars .pt .bv{color:var(--signal-soft)}
.bars li.you-pick .bl::after{content:"you picked";font-family:var(--mono);font-size:14px;color:var(--sol);margin-left:8px;border:1px dashed var(--sol);padding:0 6px;white-space:nowrap}
.bars button.bl{text-align:left;min-height:44px;text-decoration:underline;text-decoration-color:var(--hair-l);text-underline-offset:4px}
.bars button.bl[aria-expanded="true"]{text-decoration-color:var(--sol);font-weight:500}
.bars.yours li .bf{background:transparent;box-shadow:inset 0 0 0 2px var(--sol);border:1px dashed var(--sol)}
.bars.yours li .bl{color:var(--sol);font-weight:500}
.bars.yours:empty{display:none}
@media (max-width:640px){.bars li{grid-template-columns:minmax(0,1fr);gap:2px}}
html.js.motion-ok .bars.armed .bf{transform:scaleX(0)}
html.js.motion-ok .bars .bf{transition:transform .7s var(--ease)}
.na-row{font-family:var(--mono);font-size:15px;color:var(--mol);margin-top:6px}
.bar-detail{margin:6px 0 4px;padding:12px 14px;background:var(--paper-2);font-family:var(--mono);font-size:14px;line-height:1.6}
.bar-detail p{font-family:var(--sans);font-size:16px;margin-bottom:6px}
.bar-detail ul{list-style:none}
.bar-detail li{overflow-wrap:anywhere}
/* pills (searches) */
.q-bubble{font-size:19px;line-height:1.45;background:var(--paper-2);padding:14px 16px;font-weight:450}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pills li{font-family:var(--mono);font-size:14px;line-height:1.4;padding:6px 10px;background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);overflow-wrap:anywhere;max-width:100%}
.pills.split{counter-reset:pp}
.pills.split li::before{counter-increment:pp;content:counter(pp) ". ";color:var(--sol)}
.pills.wall li.nm{background:var(--sol);color:#fff;box-shadow:none}
html.js.motion-ok .pills.split.armed li{opacity:0;transform:translateY(-8px)}
html.js.motion-ok .pills.split li{transition:opacity .4s var(--ease),transform .4s var(--ease)}
/* dot field */
.dotfield{display:grid;grid-template-columns:repeat(auto-fill,minmax(13px,1fr));gap:5px;max-width:720px}
.dotfield i{display:block;aspect-ratio:1;border-radius:50%;background:var(--muted);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.dotfield i.l4{background:var(--signal-soft)}
.dotfield.f2 i.l1,.dotfield.f3 i.l1,.dotfield.f3 i.l2,.dotfield.f4 i.l1,.dotfield.f4 i.l2,.dotfield.f4 i.l3{opacity:.12;transform:scale(.55)}
.slider-row{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-bottom:14px}
.slider-row label{font-size:18px;font-weight:450}
.slider-out{font-family:var(--mono);font-size:16px}
.slider-out b{font-size:30px;color:var(--signal-soft);font-weight:500;font-family:var(--sans);margin-right:8px}
.histo{margin-top:24px}
.after-chorus{margin-top:10px}
/* dumbbell */
.db{list-style:none}
.db li{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:4px 16px;align-items:center;padding:8px 0;border-top:1px solid var(--hair-l2)}
.db .dq{font-size:16px;line-height:1.35}
.db .dt{position:relative;height:30px;margin:0 8px}
.db .dt .ln{position:absolute;top:14px;height:2px;background:var(--ctx)}
.db .dt .a,.db .dt .b{position:absolute;top:7px;width:16px;height:16px;border-radius:50%;margin-left:-8px}
.db .dt .a{background:var(--ctx)}.db .dt .b{background:var(--sol)}
.db .dv{font-family:var(--mono);font-size:14px;color:var(--mol);grid-column:2}
@media (max-width:640px){.db li{grid-template-columns:minmax(0,1fr)}.db .dv{grid-column:1}}
/* quiz */
.quiz{list-style:none;margin-top:12px;counter-reset:qz}
.quiz>li{border-top:1px solid var(--hair-l);padding:16px 0}
.qq{font-size:18px;line-height:1.45;font-weight:450}
.qb{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.qr{margin-top:10px;font-size:17px;line-height:1.5}
.qr .v{font-family:var(--mono);font-size:14px;margin-right:6px;padding:2px 7px;box-shadow:inset 0 0 0 1px currentColor}
.qr .ok{color:var(--present)}.qr .no{color:var(--missing)}
html.js.mode-play .quiz.live li:not(.answered) .qr{display:none}
.quiz-score{margin-top:12px;font-size:20px;font-weight:450}
.quiz-score:empty{display:none}
/* routes quote */
blockquote.said{margin-top:16px;border-left:3px solid var(--ctx);padding-left:18px;font-size:19px;line-height:1.5}
blockquote.said footer{font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:8px}
/* flips */
.flips{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px;margin-top:22px}
.flip{box-shadow:inset 0 0 0 1px var(--hair-l);background:#fff;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:180px;transition:transform .3s var(--ease)}
.flip .ft{font-weight:500;font-size:19px}
.flip .fs{font-size:18px;line-height:1.45}
.flip .said b{color:var(--missing);font-weight:500}.flip .true b{color:var(--present);font-weight:500}
.flip-btn{align-self:flex-start;margin-top:auto;min-height:44px;font-family:var(--mono);font-size:14px;text-decoration:underline;text-underline-offset:4px}
html.js .flips.live .flip .true{display:none}
html.js .flips.live .flip.flipped .true{display:block}
html.js .flips.live .flip.flipped .said{display:none}
html.js .flips.live .flip.flipped{background:var(--paper-2)}
html.js.motion-ok .flip.turning{transform:rotateY(88deg)}
.tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.tally div{border-top:1.5px solid currentColor;padding-top:10px}
.tally b{display:block;font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-.03em;line-height:1}
.tally span{display:block;font-size:16px;line-height:1.4;margin-top:6px}
.tally .bad b{color:var(--missing)}
@media (max-width:560px){.tally{grid-template-columns:minmax(0,1fr)}}
/* waffle, multiples, band, mocks */
.waffle{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;max-width:300px}
.waffle i{aspect-ratio:1;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--hair-l);display:block}
.waffle i.on{background:var(--sol);box-shadow:none}
.waffle i.part{background:linear-gradient(90deg,var(--sol) 40%,var(--paper-2) 40%)}
.waffle i.you{box-shadow:inset 0 0 0 2px var(--sol);outline:1px dashed var(--sol);outline-offset:-4px}
.multiples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.multiples>div{box-shadow:inset 0 0 0 1px var(--hair-l);background:#fff;padding:16px}
.multiples .mf{font-weight:500;font-size:19px}
.multiples .mk{font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:4px}
.multiples .mbar{display:flex;gap:3px;margin-top:14px;flex-wrap:wrap}
.multiples .mbar i{width:14px;height:22px;background:var(--ctx);display:block}
.multiples .lead .mbar i{background:var(--sol)}
.multiples .mv{font-family:var(--mono);font-size:15px;margin-top:8px}
.multiples>div.you-pick{box-shadow:inset 0 0 0 2px var(--sol)}
@media (max-width:640px){.multiples{grid-template-columns:minmax(0,1fr)}}
.band{list-style:none}
.band li{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);gap:4px 16px;align-items:center;padding:10px 0;border-top:1px solid var(--hair-l2)}
.band .bl{font-size:17px}
.band .bt{position:relative;height:34px;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),var(--hair-l2) calc(20% - 1px) 20%)}
.band .rg{position:absolute;top:6px;height:22px;left:80%;width:10%;background:var(--sol)}
.band .zero{position:absolute;top:2px;height:30px;width:3px;left:calc(50% - 1.5px);background:var(--ctx)}
.band .bv{font-family:var(--mono);font-size:14px;color:var(--mol);grid-column:2}
.band-axis{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);gap:16px;font-family:var(--mono);font-size:14px;color:var(--mol)}
.band-axis div{display:flex;justify-content:space-between}
@media (max-width:640px){.band li,.band-axis{grid-template-columns:minmax(0,1fr)}.band-axis>span{display:none}}
.seg{display:inline-flex;flex-wrap:wrap;box-shadow:inset 0 0 0 1.5px var(--ink-text);margin-top:4px}
.seg button{min-height:44px;padding:8px 16px;font-size:16px;font-weight:450}
.seg button[aria-pressed="true"]{background:var(--ink-text);color:var(--paper)}
.ba{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.ba>div{background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);padding:16px}
.ba h3{font-weight:500;font-size:18px;margin-bottom:10px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tiles span{background:var(--paper-2);padding:10px 8px;font-size:14px;font-family:var(--mono);line-height:1.35;min-height:64px;overflow-wrap:anywhere}
.qlist{list-style:none}
.qlist li{padding:8px 0;border-top:1px solid var(--hair-l2);font-size:16px;line-height:1.4}
.qlist li b{display:block;font-weight:500}
.qlist li span{color:var(--mol);font-size:15px}
.qlist li.hit{background:var(--wash);box-shadow:inset 3px 0 0 var(--sol);padding-left:10px}
.ba-note{font-family:var(--mono);font-size:14px;margin-top:10px;color:var(--mol)}
html.js .ba.live{grid-template-columns:minmax(0,1fr)}
html.js .ba.live>div{display:none}
html.js .ba.live>div.on{display:block}
@media (max-width:760px){.ba{grid-template-columns:minmax(0,1fr)}}
.schema-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px}
.sp{background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);padding:16px}
.sp-h{font-family:var(--mono);font-size:14px;color:var(--mol)}
.sp-read{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin-top:10px;font-size:17px}
.sp-read dt{font-family:var(--mono);font-size:14px;color:var(--mol);padding-top:3px}
.sp-big{font-size:22px;font-weight:500;margin-top:8px}
.sp p+p{font-size:16px;margin-top:6px}
.town-read .when-off{display:none}
.schema-off .town-read .when-on{display:none}
.schema-off .town-read .when-off{display:inline;color:var(--missing)}
@media (max-width:640px){.schema-panels{grid-template-columns:minmax(0,1fr)}}
.classify{margin-top:16px;padding:16px;background:var(--paper-2)}
.classify label{display:block;font-weight:450;font-size:17px;margin-bottom:8px}
.classify .row{display:flex;flex-wrap:wrap}
.classify input{flex:1 1 220px;min-width:0;min-height:48px;font-family:var(--mono);font-size:16px;padding:8px 12px;border:1.5px solid var(--ink-text);background:#fff;color:var(--ink-text);border-radius:0}
.classify button{min-height:48px;padding:0 18px;background:var(--ink-text);color:var(--paper);font-weight:500;font-size:16px}
.classify output{display:block;margin-top:10px;font-size:17px;line-height:1.5}

/* lab (instruments) */
.lab{background:var(--ink);color:var(--paper);margin-top:28px;padding:clamp(20px,3.4vw,40px)}
.lab h3{font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1.15}
.lab p{font-size:18px;line-height:1.55;margin-top:10px;color:var(--paper)}
.lab .note,.note{font-family:var(--mono);font-size:14px;color:var(--label);line-height:1.6;margin-top:10px}
.paper .note{color:var(--mol)}
.paper .lab .note{color:var(--label)}
.lab .caveat{color:var(--body)}
.lab a{color:var(--signal-soft)}
.lab-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:20px}
.ck-legend{font-family:var(--mono);font-size:14px;color:var(--label);margin:16px 0 4px}
.ck-legend:first-child{margin-top:0}
.ck{display:flex;gap:14px;align-items:flex-start;padding:10px 0;font-size:18px;line-height:1.4;cursor:pointer;min-height:44px;border-top:1px solid var(--hair)}
.ck input,.parts input{appearance:none;-webkit-appearance:none;width:24px;height:24px;flex:none;border:1.5px solid currentColor;margin-top:1px;display:grid;place-items:center;background:transparent;cursor:pointer;border-radius:0}
.ck input:checked,.parts input:checked{background:var(--clear);border-color:var(--clear)}
.ck input:checked::after,.parts input:checked::after{content:"";width:6px;height:11px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.meter{list-style:none;margin-top:6px}
.meter li{display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr);gap:4px 14px;align-items:center;padding:6px 0;font-size:16px;color:var(--label)}
.meter .seg-m{display:block;height:26px;background:rgba(243,241,236,.08);box-shadow:inset 0 0 0 1px var(--hair);position:relative;overflow:hidden}
.meter .seg-m i{position:absolute;left:0;top:0;bottom:0;background:var(--signal-soft);width:0;transition:width .5s var(--ease)}
@media (max-width:420px){.meter li{grid-template-columns:minmax(0,1fr)}}
.meter-out{margin-top:14px;font-size:18px;line-height:1.55}
.result-big{font-size:clamp(26px,3vw,38px);font-weight:500;letter-spacing:-.02em;line-height:1.08}
.lab textarea{width:100%;min-height:190px;font-family:var(--mono);font-size:15px;line-height:1.5;background:var(--ink-raised);color:var(--paper);border:1.5px solid var(--hair);padding:12px;resize:vertical;border-radius:0}
.lab label.big{display:block;font-size:18px;font-weight:450;margin-bottom:8px}
.lab .btn{margin-top:12px}
.lab-tblwrap{overflow-x:auto;position:relative}
.lab table{width:100%;min-width:420px;border-collapse:collapse;font-family:var(--mono);font-size:15px;margin-top:12px}
.lab th,.lab td{text-align:left;padding:9px 8px;border-top:1px solid var(--hair);vertical-align:top}
.lab thead th{color:var(--label);font-weight:400}
.lab .ok{color:var(--clear)}.lab .bad{color:var(--flag)}.lab .na{color:var(--label)}
.worked{margin-top:24px;border-top:1px solid var(--hair);padding-top:16px}
.worked h4{font-weight:500;font-size:20px}
.worked pre{font-family:var(--mono);font-size:14px;line-height:1.55;background:var(--ink-raised);padding:12px;margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere}

/* gags */
.gag{margin:30px auto 0;max-width:440px;display:grid;gap:8px}
.gag-art svg{width:100%;height:auto;color:var(--ink-text)}
.level--ink .gag-art svg,.cold .gag-art svg,.door .gag-art svg,.hub-cold .gag-art svg{color:var(--paper)}
.gag .gag-figcap{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;justify-content:space-between}
.gag-cap{font-size:18px;line-height:1.45;font-weight:450}
.gag-pause{min-height:44px;min-width:44px;font-family:var(--mono);font-size:14px;text-decoration:underline;text-underline-offset:4px;color:inherit}
html:not(.js) .gag-pause,html:not(.motion-ok) .gag-pause,html.mode-read .gag-pause{display:none}
.gag.done .gag-pause{visibility:hidden}
#gag-idle .gag-figcap{display:none}
#gag-visor{max-width:200px}
html:not(.xray) #gag-visor .gag-art{opacity:1}

/* x-ray (A2 L7) */
.toggle{display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:18px;font-weight:450;padding:0 4px;color:inherit}
.toggle .sw{width:48px;height:28px;border-radius:14px;background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;position:relative;flex:none}
.toggle .sw::after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:currentColor;transition:transform .25s var(--ease)}
.toggle[aria-pressed="true"] .sw{background:var(--clear);box-shadow:none}
.toggle[aria-pressed="true"] .sw::after{transform:translateX(20px);background:var(--ink)}
.xray-ctl{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:18px}
.xray-ctl .fig-sub{margin:0}
.level--ink .xray-ctl .fig-sub{color:var(--label)}
.xr-tag{display:none}
html.xray .xr-tag{display:block;font-family:var(--mono);font-size:14px;color:var(--ink);background:var(--clear);padding:4px 8px;margin:10px 0 6px;width:max-content;max-width:100%;white-space:normal}
html.xray [data-xr]{outline:2px dashed var(--clear);outline-offset:6px}
.xr-scan{position:fixed;left:0;right:0;height:3px;background:var(--clear);top:0;z-index:40;pointer-events:none;box-shadow:0 0 18px var(--clear)}

/* end card (ink) */
.endcard{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,96px) var(--gutter)}
.ec-in{max-width:1040px;margin:0 auto}
.endcard h2{font-weight:500;font-size:clamp(34px,4.4vw,60px);letter-spacing:-.035em;line-height:1}
.ec-sub{font-size:19px;color:var(--body);margin-top:12px;max-width:56ch}
.ec-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}
@media (min-width:900px){.ec-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.ec-panel{box-shadow:inset 0 0 0 1px var(--hair);padding:20px;min-width:0}
.ec-h{font-family:var(--mono);font-size:14px;color:var(--label)}
.ec-stamps{list-style:none;margin-top:8px;counter-reset:ec}
.ec-stamps li{font-size:17px;padding:8px 0 8px 28px;border-top:1px solid var(--hair);position:relative;color:var(--label)}
.ec-stamps li::before{content:"";position:absolute;left:0;top:12px;width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--muted)}
.ec-stamps li.got{color:var(--paper)}
.ec-stamps li.got::before{background:var(--clear);box-shadow:none}
.ec-guesses{list-style:none;margin-top:8px}
.ec-guesses li{font-size:17px;padding:8px 0;border-top:1px solid var(--hair)}
.ec-guesses b{color:var(--signal-soft);font-weight:500}
.ec-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:24px}
.ec-actions .textbtn{color:var(--paper);white-space:normal;line-height:1.35}
.ec-result{font-size:18px;margin-top:12px}
.endcard .parts{list-style:none;margin-top:8px}
.endcard .parts li{border-top:1px solid var(--hair)}
.endcard .parts label{display:flex;gap:14px;align-items:flex-start;padding:10px 0;font-size:17px;line-height:1.4;min-height:44px;cursor:pointer}
.endcard #ec-pages{list-style:none;margin-top:6px;font-size:16px}
.endcard #ec-pages li{padding:6px 0;border-top:1px solid var(--hair);overflow-wrap:anywhere}
.b-text{font-family:var(--mono);font-size:15px;line-height:1.55;background:var(--ink-raised);padding:12px;margin-top:8px;overflow-wrap:anywhere}
.builder{margin-top:36px;border-top:1px solid var(--hair);padding-top:24px}
.builder h3{font-weight:500;font-size:clamp(24px,2.4vw,30px)}
.builder p{font-size:18px;line-height:1.55;margin-top:12px}
.b-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin-top:16px}
.b-form label{display:grid;gap:4px;font-size:16px;font-weight:450}
.b-form input{border-color:var(--hair);background:var(--ink-raised);color:var(--paper)}
.b-prompts{list-style:none;margin-top:16px;display:grid;gap:14px}
.b-label{font-family:var(--mono);font-size:14px;color:var(--label)}
.ec-cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;border-top:1px solid var(--hair);padding-top:24px}
.ec-cta p{font-size:19px;max-width:48ch}

/* article end */
.art-end .read-col{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(64px,8vw,110px)}
.faq h2,.sources h2,.related h2{font-weight:500;font-size:clamp(28px,3vw,36px);letter-spacing:-.02em;line-height:1.1}
.faq h3{font-weight:500;font-size:22px;line-height:1.3;margin-top:26px}
.faq h3+p{margin-top:8px}
.sources{margin-top:56px}
.sources ol{margin-top:14px;padding-left:1.6em}
.sources li{font-size:17px;line-height:1.55;margin-top:10px;overflow-wrap:anywhere}
.cite{margin-top:26px;background:var(--paper-2);padding:18px;font-family:var(--mono);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.cite b{font-family:var(--sans);font-size:17px;font-weight:500;display:block;margin-bottom:6px}
.related{margin-top:56px}
.related ul{list-style:none;margin-top:14px;border-top:1.5px solid var(--ink-text)}
.related li{border-bottom:1px solid var(--hair-l)}
.related a{display:block;padding:14px 0;color:var(--ink-text);text-decoration:none;font-size:20px;font-weight:450;line-height:1.35}
.related a:hover{text-decoration:underline}
.related .rm{display:block;font-family:var(--mono);font-size:14px;color:var(--mol);font-weight:400;margin-top:4px}
sup a{font-family:var(--mono);font-size:14px;text-decoration:none;padding:0 2px}

/* ---------- hub ---------- */
.hub-cold{padding-bottom:clamp(56px,7vw,96px)}
.hub-cold h1{font-weight:500;font-size:clamp(46px,9vw,136px);line-height:.94;letter-spacing:-.05em;max-width:13ch;margin-top:clamp(12px,2vw,28px)}
.hub-cold h1 em{color:var(--signal)}
.hub-sub{margin-top:clamp(20px,2.6vw,30px);font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--body);max-width:52ch}
.ask{margin-top:clamp(30px,4vw,48px);max-width:1040px}
.ask label{display:block;font-size:18px;font-weight:400;color:var(--label);margin-bottom:8px}
.ask-row{display:flex;align-items:stretch;border-bottom:3px solid var(--paper)}
.ask input{flex:1;min-width:0;font-family:var(--mono);font-size:clamp(19px,2.2vw,28px);color:var(--paper);background:transparent;border:0;padding:14px 0;outline:none}
.ask input::placeholder{color:var(--label);opacity:1}
.ask-row:focus-within{border-bottom-color:var(--signal)}
.ask-row button{flex:none;min-width:56px;min-height:56px;background:var(--signal-btn);color:#fff;font-weight:500;font-size:17px;padding:0 20px;display:flex;align-items:center;gap:10px}
.ask-row button .sq{width:9px;height:9px;background:#fff}
@media (max-width:520px){.ask-row button .t{display:none}}
.ask-eg{font-family:var(--mono);font-size:15px;color:var(--label);margin-top:10px}
.ask-try{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ask-try button{font-size:16px;color:var(--paper);min-height:44px;padding:8px 14px;box-shadow:inset 0 0 0 1px var(--hair);text-align:left;line-height:1.3}
.ask-try button:hover{box-shadow:inset 0 0 0 1.5px var(--paper)}
.hub-answer:empty{display:none}
.hub-answer{margin-top:28px;max-width:1040px}
.acard{background:var(--paper);color:var(--ink-text);padding:clamp(18px,2.6vw,30px);border-left:6px solid var(--signal-btn)}
.acard .ac-q{font-family:var(--mono);font-size:14px;color:var(--mol)}
.acard .ac-t{font-weight:500;font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin-top:8px}
.acard .ac-a{font-size:19px;line-height:1.55;margin-top:10px}
.acard .ac-src{display:inline-block;font-family:var(--mono);font-size:14px;margin-top:12px;box-shadow:inset 0 0 0 1px var(--ink-text);padding:3px 8px}
.acard .ac-btns{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:16px}
.acard .ac-btns .textbtn{color:var(--ink-text)}
.more-res{list-style:none;margin-top:14px}
.more-res a{display:block;padding:12px 0;border-top:1px solid var(--hair);color:var(--paper);text-decoration:none;min-height:44px}
.more-res a:hover .mr-t{text-decoration:underline}
.mr-t{font-size:18px;font-weight:450;display:block}
.mr-k{font-family:var(--mono);font-size:14px;color:var(--label);display:block;margin-top:2px}
.nomatch{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center}
.nomatch p{font-size:19px}
.nomatch svg{width:120px;color:var(--paper)}
html.js.motion-ok .acard{animation:cardin .6s var(--ease)}
@keyframes cardin{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.replay-band{margin-top:clamp(56px,7vw,96px);border-top:1.5px solid var(--hair);padding-top:26px}
.replay-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px}
.replay-head h2{font-weight:500;font-size:clamp(26px,3vw,40px);line-height:1.1;letter-spacing:-.025em;max-width:26ch}
.provenance{font-family:var(--mono);font-size:14px;color:var(--label);line-height:1.6;max-width:58ch}
.provenance b{color:var(--paper);font-weight:500}
.replay-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:34px}
@media (min-width:1280px){.replay-grid{grid-template-columns:minmax(0,1fr) 250px;align-items:start}.replay-grid .gag{margin:0}}
.trace{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 26px;position:relative}
.trace>li{position:relative;padding-top:40px;min-width:0}
.trace>li::before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border:1.5px solid var(--paper);border-radius:50%;background:var(--ink);z-index:1}
.trace>li::after{content:"";position:absolute;left:15px;right:-26px;top:6.5px;height:1.5px;background:var(--paper);transform-origin:left center}
.trace>li:last-child::after{right:0;background:var(--signal);height:3px;top:6px}
.trace>li.lost::before{background:var(--signal);border-color:var(--signal)}
.stop-n{font-family:var(--mono);font-size:15px;color:var(--label);display:block;margin-bottom:4px}
.stop-t{font-weight:500;font-size:22px;line-height:1.15;display:block;margin-bottom:12px}
.asked q{display:block;font-size:19px;line-height:1.45;quotes:"\201C" "\201D"}
.fan{list-style:none;border-left:1.5px solid var(--paper);margin-left:7px}
.fan li{position:relative;padding:6px 0 8px 22px;font-family:var(--mono);font-size:15px;line-height:1.45;overflow-wrap:anywhere;color:var(--body)}
.fan li::before{content:"";position:absolute;left:0;top:17px;width:14px;height:1.5px;background:var(--paper)}
.pages{list-style:none}
.pages li{font-family:var(--mono);font-size:14px;line-height:1.4;padding:6px 0;border-bottom:1px solid var(--hair);overflow-wrap:anywhere;display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:8px;color:var(--body)}
.pages li .f{color:var(--label)}
.named{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.named li{font-family:var(--mono);font-size:15px;padding:6px 10px;box-shadow:inset 0 0 0 1px var(--hair);min-height:36px;display:flex;align-items:center}
@media (max-width:1099px){
  .trace{grid-template-columns:minmax(0,1fr);gap:0;padding-left:34px}
  .trace>li{padding-top:0;padding-bottom:28px}
  .trace>li::before{left:-34px;top:4px}
  .trace>li::after{left:-27.25px;right:auto;top:19px;bottom:-4px;width:1.5px;height:auto;transform-origin:center top}
  .trace>li:last-child::after{width:3px;left:-28px}
}
html.js.motion-ok .trace.armed>li::after{transform:scaleX(0)}
html.js.motion-ok .trace.armed>li>*{opacity:0;transform:translateY(8px)}
html.js.motion-ok .trace>li::after{transition:transform .9s var(--ease)}
html.js.motion-ok .trace>li>*{transition:opacity .6s var(--ease),transform .6s var(--ease)}
html.js.motion-ok .trace.armed>li.on>*{opacity:1;transform:none}
html.js.motion-ok .trace.armed>li.drawn::after{transform:none}
@media (max-width:1099px){html.js.motion-ok .trace.armed>li::after{transform:scaleY(0)}}
.caret{display:inline-block;width:.55em;height:1.1em;background:var(--signal);vertical-align:-.18em;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.replay-cap{margin-top:26px;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.015em;line-height:1.25;max-width:36ch}
.answer-card{margin-top:22px;border-left:3px solid var(--signal);padding:4px 0 4px clamp(18px,2.4vw,30px);max-width:980px}
.answer-card blockquote{font-size:clamp(19px,1.7vw,22px);line-height:1.5;font-weight:300;color:var(--body)}
.answer-card blockquote p+p{margin-top:10px}
.answer-card .gap{font-family:var(--mono);font-size:15px;color:var(--label)}
.answer-card figcaption{font-family:var(--mono);font-size:14px;color:var(--label);margin-top:12px;line-height:1.6}
.trace-ctrl{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:10px}
.hub-paper{padding:clamp(56px,7vw,96px) 0 clamp(64px,8vw,110px)}
.hub-paper h2{font-weight:500;font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;line-height:1.1}
.pk-sub{font-size:19px;color:var(--mol);margin-top:8px;max-width:60ch}
.pk-route{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px;border-top:1.5px solid var(--ink-text)}
.pk-route li{border-right:1px solid var(--hair-l);position:relative}
.pk-route li:last-child{border-right:0}
.pk-route li::before{content:"";position:absolute;left:0;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink-text)}
.pk-route li+li::before{left:22px}
.pk-route li.lit::before{background:var(--signal-btn);box-shadow:none}
.pk-route a{display:flex;flex-direction:column;gap:8px;padding:26px 22px 26px 0;color:var(--ink-text);text-decoration:none;height:100%;min-height:44px}
.pk-route li+li a{padding-left:22px}
.pk-n{font-family:var(--mono);font-size:15px;color:var(--sol)}
.pk-q{font-weight:500;font-size:clamp(20px,1.7vw,23px);line-height:1.25}
.pk-t{font-size:17px;color:var(--mol);line-height:1.45}
.pk-route a:hover .pk-q{text-decoration:underline;text-underline-offset:4px}
.pk-route li.lit .pk-q{color:var(--sol)}
@media (max-width:1099px){.pk-route{grid-template-columns:repeat(2,minmax(0,1fr))}.pk-route li:nth-child(2){border-right:0}.pk-route li:nth-child(n+3){border-top:1px solid var(--hair-l)}.pk-route li:nth-child(3) a{padding-left:0}.pk-route li:nth-child(3)::before{left:0}}
@media (max-width:620px){.pk-route{grid-template-columns:minmax(0,1fr)}.pk-route li{border-right:0}.pk-route li+li{border-top:1px solid var(--hair-l)}.pk-route li+li a{padding-left:0}.pk-route li+li::before{left:0}}
.setfirm{margin-top:clamp(48px,6vw,80px);max-width:860px}
.setfirm .personal{border:0;padding:0;margin-top:14px}
.sf-eg{font-size:19px;margin-top:14px;line-height:1.5}
.continue:empty{display:none}
.continue{margin-top:32px;background:var(--ink);color:var(--paper);padding:16px 18px;font-size:18px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.continue a{color:var(--paper)}
.doors{margin-top:clamp(56px,7vw,96px)}
.door-row{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
@media (min-width:960px){.door-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.door{background:var(--ink);color:var(--paper);display:flex;flex-direction:column}
.door-a{display:grid;grid-template-rows:auto 1fr;color:var(--paper)!important;text-decoration:none!important;height:100%}
.door-art{display:block;background:var(--ink-raised);padding:16px 24px;border-bottom:1px solid var(--hair)}
.door-art svg{width:100%;max-width:340px;height:auto;margin:0 auto;display:block}
.door-copy{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.6vw,30px)}
.door-t{font-weight:500;font-size:clamp(24px,2.4vw,32px);line-height:1.12;letter-spacing:-.02em}
.door-hook{font-size:19px;line-height:1.45;color:var(--signal-soft)}
.door-ans{font-size:17px;line-height:1.5;color:var(--body)}
.door-meta{font-family:var(--mono);font-size:14px;color:var(--label)}
.door-go{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;background:var(--signal-btn);color:#fff;font-weight:500;font-size:16px;padding:14px 20px;min-height:48px;margin-top:6px}
.door-go .sq{width:9px;height:9px;background:#fff;transition:transform .35s var(--ease)}
.door-a:hover .door-go .sq{transform:rotate(90deg)}
.door-a:hover .door-t{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.door-progress:empty{display:none}
.door-progress{font-family:var(--mono);font-size:14px;color:var(--clear);padding:0 clamp(20px,2.6vw,30px) 18px}
.filters{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-top:clamp(56px,7vw,96px);padding:16px 0;border-top:1px solid var(--hair-l);border-bottom:1px solid var(--hair-l)}
.filters p{font-size:18px;max-width:56ch}
.filter-note{font-family:var(--mono);font-size:15px;color:var(--mol);width:100%}
.filter-note:empty{display:none}
.shelf{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:20px clamp(24px,4vw,64px);padding:clamp(40px,5vw,64px) 0;border-bottom:1px solid var(--hair-l)}
.shelf-h .sn{font-family:var(--mono);font-size:48px;line-height:1;color:var(--sol);display:block;margin-bottom:10px}
.shelf-h h2{font-size:clamp(26px,2.6vw,34px);max-width:16ch}
.shelf-h p{margin-top:12px;font-size:18px;color:var(--mol);max-width:34ch;line-height:1.5}
@media (max-width:1099px){.shelf{grid-template-columns:minmax(0,1fr)}.shelf-h h2{max-width:28ch}}
.sh-list{list-style:none;border-top:1.5px solid var(--ink-text)}
.sh-item a{display:block;padding:18px 0;border-bottom:1px solid var(--hair-l);color:var(--ink-text);text-decoration:none}
.sh-item a:hover .si-t{text-decoration:underline;text-underline-offset:4px}
.si-t{display:block;font-weight:500;font-size:clamp(21px,1.9vw,26px);line-height:1.2}
.si-l{display:block;font-size:18px;line-height:1.5;margin-top:6px}
.si-m{display:block;font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:6px}
.ca-tag{color:var(--ink-text);box-shadow:inset 0 0 0 1px var(--ink-text);padding:1px 7px;white-space:nowrap}
.sh-item[hidden],.sh-empty[hidden]{display:none}
.sh-empty{padding:18px 0;font-size:18px;border-bottom:1px dashed var(--ctx)}
.glossary{margin-top:clamp(56px,7vw,96px)}
.gl-row{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px;margin-top:20px}
.gl{background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);padding:18px}
.gl h3{font-weight:500;font-size:20px}
.gl p{font-size:17px;line-height:1.5;margin-top:8px}
.gl:target{box-shadow:inset 0 0 0 2px var(--sol)}
.rails{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(24px,5vw,72px);padding-top:clamp(56px,7vw,96px)}
.rails h2{font-size:clamp(24px,2.4vw,32px)}
.rails .rp{font-size:18px;color:var(--mol);margin-top:8px}
.rail-list{list-style:none;margin-top:18px;border-top:1.5px solid var(--ink-text)}
.rail-list li{border-bottom:1px solid var(--hair-l)}
.rail-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 0;color:var(--ink-text);text-decoration:none;min-height:44px}
.rail-list a:hover .rt{text-decoration:underline}
.rail-list .rt{font-size:18px;line-height:1.4}
.rail-list .rm{font-family:var(--mono);font-size:14px;color:var(--mol);white-space:nowrap}
@media (max-width:860px){.rails{grid-template-columns:minmax(0,1fr)}.rail-list a{grid-template-columns:minmax(0,1fr)}.rail-list .rm{white-space:normal}}

/* view transitions (cross-document, Chrome); off under reduced motion */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

@media (max-width:600px){.paper{font-size:19px}.narr{font-size:20px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* ===== v2.1 rebalance: v1 scannable spine, experience layered on top ===== */
.cold{padding-bottom:clamp(44px,5vw,72px)}
.cold-copy{max-width:900px}
.cold h1{max-width:22ch}
/* quiet margin progress line (the Trace) */
.trace-rail{position:sticky;top:110px;padding-top:clamp(40px,5vw,64px)}
.trace-rail .tr-line{position:absolute;left:5px;top:calc(clamp(40px,5vw,64px) + 16px);bottom:16px;width:1.5px;background:var(--hair-l)}
.trace-rail .tr-fill{position:absolute;left:0;top:0;width:1.5px;height:0;background:var(--sol);transition:height .4s var(--ease)}
.trace-rail ol::before{display:none}
.trace-rail a{gap:14px;font-size:15px;min-height:40px}
.trace-rail .rl-n{width:12px;height:12px;box-shadow:inset 0 0 0 1.5px var(--ctx);background:var(--paper)}
.trace-rail li.passed .rl-n{background:var(--ctx);box-shadow:none}
.trace-rail li.cur .rl-n{background:var(--sol);box-shadow:none}
.trace-rail li.cur a{color:var(--ink-text);font-weight:500}
.lvl-nav a{min-height:44px}
/* sections: scannable */
.level{padding-top:clamp(72px,8vw,112px)}
.level h2{font-size:clamp(32px,3.6vw,46px)}
.level .lede{font-size:21px;line-height:1.55}
.remember{margin-top:34px;padding-left:20px;border-left:3px solid var(--ink-text);font-size:clamp(22px,2.1vw,27px)}
.level--ink .remember{border-color:var(--signal-soft)}
.reveal-fact{margin-top:22px}
.box p{margin-top:8px}
details.figs{margin-top:14px}
details.figs summary,details.try summary,details.personal summary{min-height:48px;display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-weight:450;font-size:18px}
details.figs summary::-webkit-details-marker,details.try summary::-webkit-details-marker,details.personal summary::-webkit-details-marker{display:none}
details.figs summary::before,details.try summary::before,details.personal summary::before{content:"+";font-family:var(--mono);color:var(--sol);font-size:20px;width:16px}
details[open].figs summary::before,details[open].try summary::before,details[open].personal summary::before{content:"\2212"}
details.personal{margin-top:20px;border:0;padding:0;border-top:1px solid var(--hair-l);border-bottom:1px solid var(--hair-l)}
details.personal[open]{padding-bottom:16px}
details.try{margin-top:28px;border-top:1.5px solid var(--ink-text);border-bottom:1px solid var(--hair-l)}
details.try[open]{padding-bottom:12px}
details.try summary{font-size:20px}
.peak-guess{margin-top:24px;padding:18px 20px;box-shadow:inset 0 0 0 1px var(--hair)}
.pg-q{font-size:19px;line-height:1.45}
.pg-opt{color:var(--label)}
.pg-ctl{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:10px}
.level--ink .branch{font-style:italic}
/* hub cards (v1 grammar) */
.sh-card a{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:6px 28px}
.sh-card .si-t,.sh-card .si-l,.sh-card .si-m{grid-column:1}
.sh-card .mini{grid-column:2;grid-row:1/span 3;align-self:start;background:var(--paper-2);padding:12px;aspect-ratio:4/3;display:block}
.sh-card .mini svg{width:100%;height:100%}
@media (max-width:700px){.sh-card a{grid-template-columns:minmax(0,1fr)}.sh-card .mini{grid-column:1;grid-row:auto;max-width:300px;width:100%}}
html.js.motion-ok .sh-card a:hover .m-bar,html.js.motion-ok .sh-card a:focus .m-bar{animation:mbar 1.4s var(--ease) 2}
html.js.motion-ok .sh-card a:hover .m-dot,html.js.motion-ok .sh-card a:focus .m-dot{animation:mdot 2s var(--ease) 2}
@keyframes mbar{0%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes mdot{0%{opacity:1}40%,70%{opacity:var(--o,1)}100%{opacity:1}}
.m-bar{transform-box:fill-box;transform-origin:left center}
.hub-paper .picker{margin-bottom:0}
.gag{max-width:360px}
.gag-cap{font-size:17px}
.cells{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;max-width:560px}
.cells i{aspect-ratio:1;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--hair-l);display:block}
.cells i.on{background:var(--sol);box-shadow:none}
@media (max-width:480px){.cells{grid-template-columns:repeat(12,minmax(0,1fr))}}
.cells-key{font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.cells-key i{width:14px;height:14px;display:inline-block;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--hair-l)}
.cells-key i.k-on{background:var(--sol);box-shadow:none}
html.js.motion-ok .cells.armed i.on{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--hair-l)}
html.js.motion-ok .cells i{transition:background .35s var(--ease)}
.lab .ck input,.endcard .parts input{color:var(--paper)}
/* tap targets >=44px: footer links (shared footer markup, hit area only) and small text buttons */
.foot-row a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.textbtn{min-width:44px;justify-content:center}

/* ===== v2.2: blind-review fixes (one statement per fact, no stripe callouts, receipt hero, rebuilt peaks) ===== */
.nav.scrolled{background:rgba(14,13,12,.97)}
.answer{border-left:0;padding-left:0}
.answer .hook-a{font-size:clamp(25px,2.7vw,34px)}
/* figure: caption first, it IS the stat; one source line; data */
.fig{margin-top:28px}
.fig figcaption{margin-top:0;font-size:17px}
.fig .fig-title{display:block;font-weight:500;font-size:clamp(21px,1.9vw,25px);line-height:1.25}
.fig .fig-sub{display:block;margin-top:6px}
.fig .src{font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:12px;line-height:1.55}
.level--ink .fig .src{color:var(--label)}
@media (min-width:1280px){.fig.wide{margin-right:calc(-1 * min(240px, 16vw))}}
.joke{font-size:clamp(24px,2.5vw,31px);font-weight:500;line-height:1.28;letter-spacing:-.015em;margin-top:30px;max-width:30ch}
blockquote.said{border-left:0;padding-left:0;font-size:21px;font-weight:400}
blockquote.said p::before{content:none}
.src{font-family:var(--mono);font-size:14px;color:var(--mol);margin-top:12px;line-height:1.55}
.level.lv-tight{padding-top:clamp(56px,6vw,80px)}
.level.lv-wide .lede{max-width:none}
/* tables for worked examples */
.worked table{width:100%;min-width:0;font-size:14px}
.worked caption{text-align:left;font-family:var(--sans);font-weight:500;font-size:18px;padding-bottom:8px;color:var(--paper)}
.worked{overflow-x:auto}
/* A1 peak: the collapse */
.collapse-stage{font-family:var(--mono);font-size:16px;color:var(--label);margin:4px 0 12px}
.collapse-stage b{font-family:var(--sans);font-size:38px;font-weight:500;color:var(--signal-soft);margin-right:10px;vertical-align:-4px}
.dotfield{counter-reset:fv}
.dotfield.s3 i.l1,.dotfield.s3 i.l2,.dotfield.s4 i.l1,.dotfield.s4 i.l2,.dotfield.s4 i.l3{display:none}
.dotfield.s4{grid-template-columns:repeat(5,minmax(0,64px));gap:14px}
.dotfield.s4 i.l4{counter-increment:fv;display:grid;place-items:center;color:var(--ink);font-family:var(--mono);font-size:16px;font-weight:500}
.dotfield.s4 i.l4::after{content:counter(fv)}
.dotfield.f4 i{opacity:1;transform:none}
.dotfield i.l3{background:var(--paper)}
.five-labels{margin-top:14px;padding-left:1.4em;font-size:17px;line-height:1.5}
.five-labels li::marker{font-family:var(--mono);color:var(--signal-soft)}
/* ruling 2026-10-08: the evidence is never hidden; only the guess answer (.branch) waits for the button */
html:not(.js) .peak-guess{display:none}
.peak-reveal .branch:empty{display:none}
.peak-reveal .branch{font-size:22px;font-style:normal;font-weight:450;margin-top:20px}
/* x-ray in the header */
.cold .xray-ctl{margin-top:20px}
.cold .toggle{color:var(--paper)}
.xr-hint{font-size:16px;color:var(--label)}
.xray-alt{font-size:15px}
/* gags: still by default, one looping gag per page, icon pause */
.gag-pause{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;padding:0;text-decoration:none}
.gag-pause svg{width:14px;height:14px;fill:currentColor}
.gag-pause .i-play{display:none}
.gag-pause[aria-pressed="true"] .i-play{display:inline}
.gag-pause[aria-pressed="true"] .i-pause{display:none}
/* hub hero: the receipt is the hero */
.hub-cold h1{font-size:clamp(46px,6.6vw,108px);max-width:12ch}
.hub-hero .ask{margin-top:0}
.receipt-hero{background:var(--ink-raised);box-shadow:inset 0 0 0 1px var(--hair);padding:clamp(18px,2.2vw,28px);margin:0}
.receipt-hero .provenance{font-size:14px;max-width:none}
.rh-q{font-family:var(--mono);font-size:15px;line-height:1.5;color:var(--paper);margin-top:14px;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.receipt-hero blockquote{margin-top:14px;font-size:clamp(17px,1.3vw,19px);line-height:1.5;color:var(--body);font-weight:300}
.receipt-hero blockquote p+p{margin-top:10px}
.receipt-hero .gap{font-family:var(--mono);font-size:14px;color:var(--label)}
.receipt-hero figcaption{margin-top:16px;font-family:var(--mono);font-size:14px;color:var(--label);line-height:1.6}
.rh-stamp{display:block;font-family:var(--sans);font-size:20px;font-weight:500;color:#fff;background:var(--signal-btn);padding:10px 14px;margin-bottom:10px;line-height:1.35}
.route-strip{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--hair);padding-top:26px}
.route-strip h2{font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.015em;margin-bottom:30px}
.route-strip .trace>li{padding-top:36px}
.stop-d{display:block;font-size:17px;color:var(--body)}
.route-more{margin-top:8px}
.shelf-h h2{max-width:20ch}
.gl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:22px 40px;margin-top:18px}
.gl dt{font-weight:500;font-size:20px}
.gl dd{font-size:17px;line-height:1.5;margin-top:6px;color:var(--ink-text)}
.gl:target dt{color:var(--sol)}

/* footnote references: >=24px hit area without changing the line box */
sup a{display:inline-block;min-width:24px;min-height:24px;line-height:24px;text-align:center;margin:-6px -5px;vertical-align:baseline}

/* v22d: A1 guess stays unspoiled until the collapse lands (JS adds .pre only with motion on) */
.fig-title .t-q{display:none}
.peak-reveal.pre .fig-title .t-q{display:inline}
.peak-reveal.pre .t-ans,.peak-reveal.pre .nl-lab.real,.peak-reveal.pre .nl-dot.real,.peak-reveal.pre .five-labels,.peak-reveal.pre .gag{display:none}
/* v22d: GEO band chart registered to its gridlines; 0% is the first gridline (solid baseline) */
.band .bt{box-shadow:inset 2px 0 0 var(--mol)}
.band-axis .ax{position:relative;display:block;height:1.6em}
.band-axis .ax span{position:absolute;left:calc(var(--x) * 1%);transform:translateX(-50%);white-space:nowrap}
.band-axis .ax span:first-child{transform:none}
.band-axis .ax span:last-child{transform:translateX(-100%)}
.band .zero{left:0;top:6px;height:22px;width:4px;background:var(--ctx)}
/* v22d: glossary as a hairline definition list, not cards */
.gl-list{display:block;margin-top:18px;border-bottom:1px solid var(--hair-l)}
.gl-list .gl{background:none;box-shadow:none;padding:16px 0;border-top:1px solid var(--hair-l);display:grid;grid-template-columns:minmax(0,14em) minmax(0,1fr);gap:6px 32px}
.gl-list .gl dd{margin-top:0}
@media (max-width:700px){.gl-list .gl{grid-template-columns:minmax(0,1fr)}}
/* v22d: picker gone, so the filter bar needs no extra top margin */
.hub-paper .filters{margin-top:0}
.chart-data .csv{display:inline-flex;margin-top:10px}
.band li,.band-axis{grid-template-columns:minmax(0,240px) minmax(0,1fr)}
@media (max-width:640px){.band li,.band-axis{grid-template-columns:minmax(0,1fr)}.band .bv{grid-column:1}}
.ck-note{font-size:17px;line-height:1.5;color:var(--mol);margin:4px 0 8px}

/* v22g: no answer before the press: one neutral colour for every dot, no number-line band */
.peak-reveal.pre .dotfield i{background:var(--muted)}
.peak-reveal.pre .numline{display:none}
/* v22g: the misdescription figures as a ruled, annotated list rather than a three-up number strip */
.tally{display:block;margin-top:20px;border-bottom:1px solid currentColor}
.tally div{display:grid;grid-template-columns:minmax(0,7.5ch) minmax(0,1fr);gap:16px;align-items:baseline;border-top:1px solid currentColor;padding:10px 0}
.tally b{font-size:clamp(24px,2.6vw,30px)}
.tally span{font-size:18px;margin-top:0}
/* v22i: no one-word last lines */
.sh-item .si-t,.crumbs li[aria-current],.peak-reveal .branch{text-wrap:balance}
/* v22k: hub hero is a heading plus a subheading only; compact so the first article shows on the first screen */
.hub-cold{padding-bottom:clamp(28px,3.4vw,48px)}
.hub-cold h1{font-size:clamp(38px,5.2vw,76px);line-height:1;max-width:16ch}
.hub-paper{padding-top:clamp(24px,2.4vw,40px)}

/* v24 A1 exhibits (illustrative) */
.ex-trace .trace-steps{list-style:none;margin-top:14px;display:grid;gap:10px}
.trace-steps>li{background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);padding:14px 16px}
.trace-steps .ts-k{display:block;font-family:var(--mono);font-size:14px;color:var(--mol);margin-bottom:6px}
.trace-steps p{font-size:18px;line-height:1.5}
.trace-steps ul{list-style:none;display:grid;gap:6px}
.trace-steps ul li{font-size:17px;line-height:1.45;padding-left:14px;box-shadow:inset 2px 0 0 var(--hair-l)}
.trace-steps .ts-note{margin-top:8px;font-size:16px;color:var(--mol)}
html.js .trace-steps.ts-live>li{display:none}
html.js .trace-steps.ts-live>li.on{display:block}
html.js .trace-steps.ts-live>li.now{box-shadow:inset 0 0 0 1.5px var(--sol)}
html.js.motion-ok .trace-steps.ts-live>li.now{animation:tsin .35s var(--ease)}
@keyframes tsin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ts-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:14px}
.ts-ctl .ts-pos{font-family:var(--mono);font-size:15px}
.ts-ctl button[disabled]{opacity:.45;cursor:default}
html:not(.js) .ts-ctl{display:none}
.rv-list{list-style:none;margin-top:14px;display:grid;gap:8px}
.rv-list li{background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);padding:12px 16px;display:grid;gap:4px}
.rv-list b{font-weight:500;font-size:18px}
.rv-list .rv-c{font-size:16px;color:var(--mol)}
html.js .rv-list.rv-live:not(.crawler) .rv-c{display:none}
.rv-list.crawler li.no{background:var(--paper-2)}
.rv-list.crawler li.no b{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--mol)}
.rv-list.crawler li.ok{box-shadow:inset 3px 0 0 var(--sol),inset 0 0 0 1px var(--hair-l)}
.ex-desc .desc-l{display:block;font-size:17px;font-weight:450;margin-top:14px}
.ex-desc .desc-in{width:100%;min-height:48px;margin-top:6px;padding:10px 12px;font:inherit;font-size:18px;background:#fff;border:1.5px solid var(--ink-text);border-radius:0;color:var(--ink-text)}
.dp{list-style:none;margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px}
.dp li{background:#fff;box-shadow:inset 0 0 0 1px var(--hair-l);padding:12px 14px}
.dp .dp-k{display:block;font-family:var(--mono);font-size:14px;color:var(--mol);margin-bottom:6px}
.dp p{font-size:17px;line-height:1.45;overflow-wrap:anywhere}
.qlist li span.ph{font-style:italic;box-shadow:inset 0 -1px 0 var(--hair-l)}

/* v26: once the reader has typed, their text renders as-is (no fixed "Your firm" prefix) */
.ex-desc.typed .d-pre{display:none}

/* v27 (QA): with JS off the scroll handler never runs, so the fixed header is opaque from the start */
html:not(.js) .nav{background:rgba(14,13,12,.97);border-color:var(--hair-faint)}
