:root{
  --bg:#1c1917; --bg-raise:#292524; --bg-sink:#161312;
  --ink:#e7e5e4; --ink-2:#a8a29e; --ink-3:#78716c; --ink-4:#57504c;
  --rule:#44403c; --rule-2:#302b28;
  --brand:#FF8F3B;
  --amber:#fbbf24;            /* time */
  --emerald:#34d399;          /* finished */
  --rose:#fb7185;             /* absence, correction */
  --cyan:#22d3ee;             /* place */
  --teal:#2dd4bf;             /* people */
  --purple:#c084fc;           /* what has not been read yet */
  --serif:Charter,"Bitstream Charter","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:ui-sans-serif,-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
/* clip on BOTH, and clip rather than hidden on each. Measured at 390px
   with a 900px element forced into the page: body:hidden alone does not
   clip at all (the page dragged 534px sideways), which is the bug the
   viewing-surface lane found. html:clip with body:hidden does clip, but
   hidden makes html a scroll container and the sticky nav stops pinning.
   clip on both clips and keeps the nav pinned, because clip creates no
   scroll container. */
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5;
  font-size:15px;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3)}
/* ---- sticky page chrome ---- */
.stickynav{position:sticky;top:0;z-index:20;background:var(--bg);
  border-bottom:1px solid var(--rule)}
.snin{max-width:1180px;margin:0 auto;padding:11px 24px;display:flex;
  align-items:baseline;gap:26px;flex-wrap:wrap}
.wordmark{font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--brand);text-decoration:none;white-space:nowrap}
.wordmark i{font-style:normal;color:var(--ink-4)}
.wordmark i::before{content:" / "}
.pagelinks{display:flex;gap:22px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;
  letter-spacing:.13em;text-transform:uppercase}
.pagelinks a{color:var(--ink-4);text-decoration:none}
.pagelinks a:hover{color:var(--brand)}
.pagelinks .here{color:var(--ink);border-bottom:1px solid var(--amber);padding-bottom:3px}
.sitelinks{margin-left:auto;display:flex;gap:18px;font-family:var(--mono);font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}
.sitelinks a{color:var(--ink-3);text-decoration:none}
.sitelinks a:hover{color:var(--brand)}
.sitelinks .on{color:var(--ink-2)}
/* ---- page bands ---- */
.pg{margin-top:0}

.wrap{max-width:980px;margin:0 auto;padding:0 24px 104px}
header.masthead{padding:56px 0 0}
.kicker{margin-bottom:14px}
h1{font-family:var(--serif);font-weight:400;font-size:66px;line-height:1.02;
  letter-spacing:-.022em}
h2{font-family:var(--serif)}
h1 .yr{color:var(--amber);font-variant-numeric:tabular-nums}
.dek{font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--ink-2);
  margin-top:16px;max-width:620px}
/* ---- stat strip ---- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:44px;
  padding:30px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.stat .v{font-size:46px;font-weight:200;line-height:1;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.stat.t-fin .v{color:var(--emerald)}
.stat.t-time .v{color:var(--amber)}
.stat.t-ppl .v{color:var(--teal)}
.stat .l{margin-top:10px}
.stat .d{margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--ink-4);
  line-height:1.55;font-variant-numeric:tabular-nums}
/* ---- prose ---- */
.prose{font-family:var(--serif);font-size:18px;line-height:1.72;max-width:640px;
  color:var(--ink)}
.prose p+p{margin-top:1.15em}
.prose .lede::first-letter{color:var(--brand);font-size:3.2em;float:left;line-height:.82;
  padding-right:9px;font-weight:400}
.prose em{font-style:italic;color:var(--ink)}
section.blk{padding:64px 0 0}
h2{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.22;
  letter-spacing:-.012em;max-width:680px}
h2 .n{font-variant-numeric:tabular-nums}
.blkhead{margin-bottom:22px}
.blkhead .label{display:block;margin-bottom:12px}
/* ---- charts ---- */
.chartbox{margin-top:8px;overflow-x:auto}
.chart{width:100%;height:auto;display:block;min-width:560px}
.chart text{font-family:var(--mono);fill:var(--ink-3)}
.chart .ax{font-size:10px;letter-spacing:.06em}
.chart .ax2{font-size:12px;fill:var(--ink-2);letter-spacing:.04em}
.chart .val{font-size:11.5px;fill:var(--ink-2);font-variant-numeric:tabular-nums}
.chart .inbar{font-size:11px;fill:#1c1917;font-weight:600}
.chart .ann{font-size:10.5px;fill:var(--rose);letter-spacing:.05em}
.legend{display:flex;gap:22px;flex-wrap:wrap;margin-top:14px;font-family:var(--mono);
  font-size:11px;color:var(--ink-3);letter-spacing:.04em}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:7px;
  vertical-align:baseline}
.caption{font-family:var(--serif);font-size:16px;line-height:1.62;color:var(--ink-2);
  max-width:600px;margin-top:18px}
/* ---- the cover, Feltron column idiom ---- */
.wrap.wide{max-width:1180px}
.covermast{padding:64px 0 0}
.cover h1{font-size:88px;line-height:.96}
.dateline{margin-top:18px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;
  color:var(--ink-4);text-transform:uppercase}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:66px}
.fcol{min-width:0}
.ftitle{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.012em;
  color:var(--ink);padding-bottom:9px;border-bottom:1px solid var(--rule);margin:0}
.fticks{margin-top:9px;color:var(--ink-4);font-size:9px;letter-spacing:.06em;
  display:flex;justify-content:space-between}
.fstrip{display:block;width:100%;height:auto;margin-top:16px}
.fstrip .favg{font-family:var(--mono);font-size:7px;fill:var(--amber);letter-spacing:.03em}
.fstrip .ftick{font-family:var(--mono);font-size:7px;fill:#6d635c;letter-spacing:.06em}
.fsteprow{margin-top:22px;padding-top:11px;border-top:1px dotted var(--rule)}
.fsl{display:block;color:var(--ink-4)}
.fstep{display:block;width:100%;height:auto;margin-top:5px}
.fsev{display:block;text-align:right;font-family:var(--mono);font-size:11px;
  color:var(--ink-2);margin-top:2px}
.fhero{display:block;text-decoration:none;margin-top:36px;padding-top:16px;
  border-top:1px solid var(--rule)}
.fhl{display:block;color:var(--ink-3);line-height:1.4}
.fhv{display:block;font-family:var(--serif);font-size:74px;font-weight:400;line-height:.92;
  letter-spacing:-.03em;color:var(--ink-2);margin:10px 0 0}
.fhv em{font-style:normal;font-size:.34em;color:var(--ink-4);letter-spacing:0}
.fhero.accent .fhv{color:var(--amber)}
.fhero:hover .fhv{color:var(--brand)}
.fhd{display:block;margin-top:12px;color:var(--ink-4);line-height:1.55}
.fsec{display:grid;grid-template-columns:1fr 1fr;margin-top:34px}
.fs{display:block;text-decoration:none;padding:15px 12px 15px 0;
  border-top:1px dotted var(--rule)}
.fs:nth-child(even){padding-left:14px;border-left:1px dotted var(--rule)}
.fs:hover .fsv2{color:var(--brand)}
.fsk{display:block;color:var(--ink-4);line-height:1.4}
.fsv2{display:block;font-size:25px;font-weight:200;letter-spacing:-.02em;color:var(--ink);
  margin-top:8px;font-variant-numeric:tabular-nums}
.fsv2 em{font-style:normal;font-size:.44em;color:var(--ink-4);margin-left:1px}
.fss{display:block;margin-top:6px;font-family:var(--mono);font-size:9.5px;color:var(--ink-4);
  line-height:1.5;letter-spacing:.02em}
.mini{list-style:none;margin-top:9px}
.mini li{display:grid;grid-template-columns:1fr 26px;gap:5px;align-items:center;
  padding:3px 0;font-family:var(--mono);font-size:9.5px;color:var(--ink-3)}
.mini .mk{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini .mb{grid-column:1/3;grid-row:2;height:1.5px;background:#2f2a27;margin:-1px 0 3px}
.mini .mb i{display:block;height:100%;background:var(--amber);opacity:.65}
.mini .mv{text-align:right;color:var(--ink-2)}
.mini.dates li{grid-template-columns:1fr auto}
.fnote{max-width:760px;margin:54px 0 0;font-family:var(--mono);font-size:10.5px;
  line-height:1.85;color:var(--ink-4);letter-spacing:.02em}
.pagenav{margin-top:52px;padding:18px 0;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:28px;font-family:var(--mono);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase}
.pagenav a{color:var(--ink-3);text-decoration:none}
.pagenav a:hover{color:var(--brand)}
/* ---- section idiom, measured off the original dashboard ---- */
.numled{padding-top:74px;margin-top:60px;border-top:1px solid var(--rule);
  scroll-margin-top:66px}
.pg{scroll-margin-top:0}
.nlhead{display:grid;grid-template-columns:1fr 170px;gap:24px;align-items:start}
.nlmain{min-width:0}
.nltag{color:var(--brand);margin-bottom:13px;display:block}
.numled h2{font-family:var(--sans);font-size:29px;font-weight:250;letter-spacing:-.015em;
  line-height:1.22;max-width:760px;color:var(--ink)}
.nlmark{text-align:right;padding-top:2px}
.nlmark .v{display:block;font-size:46px;font-weight:200;line-height:1;
  letter-spacing:-.025em;color:var(--amber)}
.nlmark .v em{font-style:normal;font-size:.42em;color:var(--ink-3);margin-left:1px}
.nlmark .u{display:block;margin-top:9px;color:var(--ink-4);line-height:1.5}
.numled .lede{font-family:var(--serif);font-size:16.5px;line-height:1.65;color:var(--ink-2);
  max-width:660px;margin:20px 0 30px}
.numled .chartbox{margin-top:4px}
.finding{border-left:2px solid var(--brand);padding:2px 0 2px 18px;margin:26px 0 0;
  max-width:700px;color:var(--ink-2);font-family:var(--serif);font-size:16px;line-height:1.65}
.finding.caveat{border-left-color:var(--rule);color:var(--ink-3);font-size:15px}
.appendix{padding-top:74px;margin-top:60px;border-top:1px solid var(--rule)}
.appendix .nltag{margin-bottom:18px}
.appendix .shelf{margin-top:0}
.finding b{color:var(--ink);font-weight:400}
.finding i{font-style:italic}
/* display:inline-block will not break a long unbroken token, so a URL in
   inline code overhangs its paragraph. Measured at 390px with a 64-character
   URL in a finding: the code box ran 386px wide and 64px past the paragraph's
   right edge, clipped rather than scrolled. With these two declarations it
   wraps and sits 6px inside. Content today is short date stamps; a URL is one
   sentence away. */
.finding code{font-family:var(--mono);font-size:11.5px;background:var(--bg-raise);
  padding:2px 6px;border-radius:3px;color:var(--ink-3);margin:4px 6px 0 0;
  display:inline-block;overflow-wrap:anywhere;word-break:break-word}
#gap-fiction .nlmark .v,#gap-forms .nlmark .v,#gap-retracted .nlmark .v,
#open .nlmark .v,#mismatch .nlmark .v{color:var(--rose)}
#gap-place .nlmark .v,#ship .nlmark .v{color:var(--cyan)}
#gap-gender .nlmark .v,#loyalty .nlmark .v{color:var(--teal)}
#recs-picks .nlmark .v,#recs-all .nlmark .v{color:var(--purple)}
#open .finding,#mismatch .finding,#gap-fiction .finding{border-left-color:var(--rose)}
details.more{margin-top:24px;border-top:1px solid var(--rule-2)}
details.more summary{cursor:pointer;list-style:none;padding:13px 0 0;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-4)}
details.more summary::-webkit-details-marker{display:none}
details.more summary::before{content:"+ ";color:var(--brand)}
details.more[open] summary::before{content:"2 "}
details.more summary:hover{color:var(--brand)}
details.more .prose{margin-top:16px;font-size:16.5px;color:var(--ink-2)}
.provenance{margin-top:18px;padding-left:14px;border-left:2px solid var(--rule);
  font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--ink-4);max-width:620px}
/* ---- the record page ---- */
.prose .ilink{color:var(--amber);text-decoration:none;border-bottom:1px solid #6a5514}
.prose .ilink:hover{color:var(--brand);border-bottom-color:var(--brand)}
.prose i,.caption i{font-style:italic}
.chart.map{min-width:640px;background:#191614;border:1px solid var(--rule-2)}
.chart .mapn{font-size:3.4px;fill:var(--amber);font-family:var(--mono)}
.voykeys{list-style:none;margin-top:22px;border-top:1px solid var(--rule-2)}
.voykey{display:grid;grid-template-columns:26px 1fr 96px 138px 96px;gap:14px;
  align-items:baseline;padding:9px 0;border-bottom:1px solid #241f1e}
.voykey:hover{background:var(--bg-raise)}
.voykey .vn{font-family:var(--mono);font-size:11px;color:var(--amber);text-align:right}
.voykey .vt{font-family:var(--serif);font-size:15px;line-height:1.3}
.voykey .va{display:block;font-family:var(--sans);font-size:12px;color:var(--ink-4);
  margin-top:2px}
.voykey .vd,.voykey .vp{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.voykey .vp{color:var(--cyan);opacity:.75}
.voykey .vs{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-4);
  text-transform:uppercase}
.caption code{font-family:var(--mono);font-size:11px;background:var(--bg-raise);
  padding:2px 6px;border-radius:3px;color:var(--ink-2);margin-right:6px;
  display:inline-block;margin-top:4px;overflow-wrap:anywhere;word-break:break-word}
.moved{list-style:none;margin-top:14px;border-top:1px solid var(--rule-2)}
.moved li{display:grid;grid-template-columns:1fr 200px;gap:4px 20px;padding:13px 0;
  border-bottom:1px solid #241f1e}
.moved .mw{grid-column:1;grid-row:1;font-family:var(--serif);font-size:16px;
  color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--rose)}
.moved .mn{grid-column:2;grid-row:1/3;font-family:var(--serif);font-size:16px;
  color:var(--ink);align-self:center;line-height:1.35}
.moved .mx{grid-column:1;grid-row:2;font-size:13px;color:var(--ink-4);line-height:1.5}
/* ---- the absence callout ---- */
.absence{margin-top:22px;padding:16px 20px;background:var(--bg-raise);
  border-left:2px solid var(--rose);font-family:var(--serif);font-size:17px;
  line-height:1.6;max-width:640px}
.absence b{color:var(--rose);font-weight:400}
/* ---- shelf ---- */
.shelf{list-style:none;margin-top:6px}
.brow{display:grid;grid-template-columns:96px 1fr 200px 84px;gap:14px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid #262120}
.brow:hover{background:var(--bg-raise)}
.bd{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.bt{font-size:15px;overflow:hidden}
.ba{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3)}
.cat.none{color:#4d4643;font-style:italic;text-transform:none;letter-spacing:.02em;
  font-family:var(--serif);font-size:12.5px}
.br{text-align:right}
.stars{font-size:12px;color:var(--ink-4);letter-spacing:1px}
.stars b{color:var(--amber);font-weight:400}
.norate{font-family:var(--mono);font-size:10px;color:var(--ink-4);letter-spacing:.06em}
/* ---- country chips ---- */
.cchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;max-width:760px}
.cchip{font-family:var(--mono);font-size:11px;color:var(--ink-2);background:var(--bg-raise);
  border-radius:3px;padding:4px 9px;letter-spacing:.02em}
.cchip i{font-style:normal;color:var(--cyan);margin-left:7px}
/* ---- retraction rows ---- */
.retr{list-style:none;margin-top:8px}
.retr li{padding:16px 0;border-bottom:1px solid #262120;display:grid;
  grid-template-columns:150px 1fr;gap:20px}
.retr .was{font-family:var(--serif);font-size:16px;color:var(--ink-3);
  text-decoration:line-through;text-decoration-color:var(--rose)}
.retr .now{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink-2)}
.retr .now b{color:var(--ink);font-weight:400}
.retr .tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--rose)}
.retr .tagd{font-family:var(--mono);font-size:10px;color:var(--ink-4);margin-top:6px;display:block}
/* ---- recommendations ---- */
.artifactstamp{margin-top:34px;display:flex;gap:0;align-items:stretch;flex-wrap:wrap;
  border:1px solid var(--rule);border-left:2px solid var(--purple)}
.artifactstamp .big{padding:22px 26px;border-right:1px solid var(--rule)}
.artifactstamp .big .s{font-family:var(--serif);font-size:34px;color:var(--purple);
  line-height:1}
.artifactstamp .big .l{margin-top:8px}
.artifactstamp .prov{padding:22px 26px;font-family:var(--serif);font-size:15.5px;
  line-height:1.6;color:var(--ink-2);flex:1;min-width:300px}
.stale{border-bottom:1px dotted var(--rose);cursor:help}
.staleflag{color:var(--rose);font-size:.8em;vertical-align:super;margin-left:1px;
  font-family:var(--mono)}
.picks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--rule-2);border-top:1px solid var(--rule-2);margin-top:8px}
.pick{background:var(--bg);padding:20px 22px 18px;border-left:2px solid var(--purple)}
.ptitle{font-family:var(--serif);font-size:19px;line-height:1.25;color:var(--ink)}
.pmeta{margin-top:7px;font-family:var(--mono);font-size:11px;color:var(--ink-3);
  letter-spacing:.05em}
.pmeta .pyr,.pmeta .ppg{margin-left:10px;color:var(--ink-4)}
.pwhy{font-family:var(--serif);font-size:15.5px;line-height:1.62;color:var(--ink-2);
  margin-top:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chip{font-family:var(--mono);font-size:10px;letter-spacing:.06em;padding:3px 8px;
  border-radius:3px;background:var(--bg-raise);color:var(--ink-3)}
.chip.gap{color:var(--rose);background:rgba(251,113,133,.10)}
.chip.shelf{color:var(--emerald);background:rgba(52,211,153,.09)}
.chip.back{color:var(--amber);background:rgba(251,191,36,.09)}
.engine{padding:44px 0 0}
.ename{font-family:var(--serif);font-size:24px;font-weight:400;display:flex;
  align-items:baseline;gap:14px;border-bottom:1px solid var(--rule);padding-bottom:12px}
.ename .ecount{font-family:var(--mono);font-size:12px;color:var(--purple);letter-spacing:.1em;
  margin-left:auto}
.edesc{font-family:var(--serif);font-size:16px;line-height:1.62;color:var(--ink-3);
  max-width:660px;margin-top:14px}
.reclist{list-style:none;margin-top:8px}
.cluster{margin-top:30px;padding-bottom:8px;border-bottom:1px solid #2b2624;
  display:flex;justify-content:space-between;align-items:baseline;color:var(--ink-2)}
.cluster i{font-style:normal;color:var(--ink-4);letter-spacing:.06em}
.engine .cluster:first-of-type{margin-top:22px}
.rec{display:grid;grid-template-columns:16px 1fr;gap:0 12px;padding:14px 0;
  border-bottom:1px solid #241f1e}
.pmark{grid-row:1/4;width:7px;height:7px;border-radius:50%;background:var(--purple);
  margin-top:7px}
.pmark.off{background:#2b2624}
.rmain{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.rtitle{font-family:var(--serif);font-size:17px;color:var(--ink)}
.rau{font-size:13px;color:var(--ink-3)}
.ryr{font-family:var(--mono);font-size:11px;color:var(--ink-4);
  font-variant-numeric:tabular-nums}
.src{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-4);text-decoration:none;border-bottom:1px solid #35302d}
.src:hover{color:var(--brand)}
.rbec{font-family:var(--serif);font-size:15px;line-height:1.6;color:var(--ink-2);
  margin-top:7px;max-width:700px}
/* ---- audit ---- */
.audit{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:8px}
.audit h3{font-family:var(--serif);font-size:20px;font-weight:400;
  border-bottom:1px solid var(--rule);padding-bottom:10px}
.audit p{font-family:var(--serif);font-size:15px;line-height:1.6;color:var(--ink-3);
  margin-top:12px}
.audit ul{list-style:none;margin-top:14px}
.audit li{display:grid;grid-template-columns:1fr 76px;gap:3px 14px;padding:10px 0;
  border-bottom:1px solid #241f1e}
.audit .at{grid-column:1;grid-row:1;font-family:var(--serif);font-size:15px;
  line-height:1.35;color:var(--ink-2)}
.audit .aa{grid-column:1;grid-row:2;font-size:12px;color:var(--ink-4)}
.audit .ar{grid-column:2;grid-row:1/3;font-family:var(--mono);font-size:10.5px;
  color:var(--ink-3);text-align:right;align-self:center;letter-spacing:.04em}
.scoring{margin-top:52px;padding:26px 28px;border:1px solid var(--rule);
  border-left:2px solid var(--purple);max-width:760px}
.scoring .prose{font-size:17px;max-width:none}
footer{max-width:980px;margin:0 auto;padding:0 24px 72px;color:var(--ink-4);
  font-family:var(--mono);font-size:11px;line-height:1.8;letter-spacing:.04em}
footer a{color:var(--ink-3)}
@media (max-width:880px){
  h1{font-size:46px}
  .stats{grid-template-columns:1fr 1fr;gap:26px}
  .picks,.audit,.retr li{grid-template-columns:1fr}
  .audit{gap:36px}
  .brow{grid-template-columns:78px 1fr 70px}
  .fgrid{grid-template-columns:1fr;gap:52px}
  .cover h1{font-size:52px}
  .fhv{font-size:62px}
  .snin{gap:8px 16px;padding:9px 20px}
  .sitelinks{display:none}
  .pagelinks{gap:14px;font-size:10px;letter-spacing:.08em}
  .wordmark i{display:none}
  .nlhead{grid-template-columns:1fr;gap:14px}
  .nlmark{text-align:left;display:flex;align-items:baseline;gap:12px}
  .nlmark .v{font-size:34px}
  .nlmark .u{margin-top:0}
  .numled h2{font-size:23px}
  .pagenav{gap:14px;flex-direction:column}
  .voykey{grid-template-columns:22px 1fr;gap:4px 10px}
  .voykey .vd,.voykey .vp,.voykey .vs{grid-column:2}
  .moved li{grid-template-columns:1fr}
  .moved .mn,.moved .mw,.moved .mx{grid-column:1}
  .moved .mn{grid-row:auto}
  .brow .cat{display:none}
  .artifactstamp{flex-direction:column}
  .artifactstamp .big{border-right:none;border-bottom:1px solid var(--rule)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ---- the footer takes its page's measure ---- */
footer.wide{max-width:1180px}

/* ---- the recommendations index (no mockup page; same idiom as the shelf) ---- */
.artindex{list-style:none;margin-top:8px}
.artindex li{display:grid;grid-template-columns:150px 1fr 210px;gap:6px 20px;
  align-items:baseline;padding:18px 0;border-bottom:1px solid #262120}
.artindex li:hover{background:var(--bg-raise)}
.artindex .aidate{font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--purple)}
.artindex .aititle{font-family:var(--serif);font-size:21px;line-height:1.25}
.artindex .aititle a{color:var(--ink);text-decoration:none}
.artindex .aititle a:hover{color:var(--brand)}
.artindex .aiwhat{grid-column:2;font-family:var(--serif);font-size:15.5px;
  line-height:1.6;color:var(--ink-2);margin-top:7px}
.artindex .aicount{grid-column:3;grid-row:1/3;font-family:var(--mono);font-size:11px;
  line-height:1.85;color:var(--ink-3);text-align:right;letter-spacing:.04em}
.artindex .aicount b{color:var(--ink);font-weight:400}
@media (max-width:880px){.artindex li{grid-template-columns:1fr}
  .artindex .aiwhat,.artindex .aicount{grid-column:1}
  .artindex .aicount{grid-row:auto;text-align:left}}

/* ---- public shape: nothing here is a link ---- */
.fhero:hover .fhv{color:var(--ink-2)}
.fhero.accent:hover .fhv{color:var(--amber)}
.fs:hover .fsv2{color:var(--ink)}
