
: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}
html{-webkit-text-size-adjust:100%}
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)}
.sitelinks .soon{color:#453e3a}
.sitelinks .soon::after{content:" (soon)";text-transform:none;letter-spacing:.02em}

/* ---- 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}
.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}
#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}
.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}}

/* ---- additions for the viewing surface ---- */

/* A fix the books mockup wants too. `overflow-x:hidden` on body alone does not clip:
   with html still `visible` the overflow propagates to the viewport, and at 390px the
   whole page drags sideways by about 100px behind the wide charts. Clipping at the root
   pins the page while leaving each .chartbox to scroll its own chart, which is the
   behaviour that was intended all along. `clip` rather than `hidden` so no scroll
   container is created and position:sticky keeps working. */
html{overflow-x:clip}
body{overflow-x:clip}

/* Clipping must never be what stops a page from overflowing, or it just hides
   content. A path in a <code> is one unbreakable string, and at 390px the
   recommendations URL ran 100px past the viewport and got cut. Let inline code
   in prose break, so nothing needs the clip in the first place. */
p code,.lede code,.finding code,.caption code{
  overflow-wrap:anywhere;word-break:break-word}

/* The seam: the moment the diary stops and nothing yet takes over. */
.fstrip .fseam{font-family:var(--mono);font-size:7px;fill:var(--rose);letter-spacing:.03em}
.fcol.empty .ftitle{color:var(--ink-3)}
.fcol.empty .fhv{color:var(--ink-3)}
.fcol.empty .fstrip{opacity:.85}
.seamband{margin-top:18px;padding:15px 19px;background:var(--bg-raise);
  border-left:2px solid var(--rose);font-family:var(--serif);font-size:16px;
  line-height:1.62;color:var(--ink-2);max-width:660px}
.seamband b{color:var(--rose);font-weight:400}

/* hinge rows, the seams between chapters */
.hinges{list-style:none;margin-top:20px;border-top:1px solid var(--rule-2)}
.hinge{display:grid;grid-template-columns:92px 1fr 210px;gap:6px 18px;padding:15px 0;
  border-bottom:1px solid #241f1e}
.hinge:hover{background:var(--bg-raise)}
.hinge .hd{font-family:var(--mono);font-size:11px;color:var(--amber);
  font-variant-numeric:tabular-nums;letter-spacing:.03em}
.hinge .ht{font-family:var(--serif);font-size:17px;line-height:1.3;color:var(--ink)}
.hinge .hturn{grid-column:3;grid-row:1;font-family:var(--mono);font-size:10px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);text-align:right}
.hinge .hn{grid-column:2;grid-row:2;font-family:var(--serif);font-size:15px;
  line-height:1.6;color:var(--ink-2)}
.hinge .hw{grid-column:3;grid-row:2;font-size:12.5px;color:var(--cyan);opacity:.75;
  text-align:right;line-height:1.5}

/* the source table on the last page */
.sources{list-style:none;margin-top:22px;border-top:1px solid var(--rule)}
.source{display:grid;grid-template-columns:200px 1fr 132px;gap:6px 20px;padding:17px 0;
  border-bottom:1px solid #262120;align-items:baseline}
.source .sn{font-family:var(--serif);font-size:18px;color:var(--ink)}
.source .sd{font-family:var(--serif);font-size:15.5px;line-height:1.62;color:var(--ink-2)}
.source .ss{font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;text-align:right}
.source .ss.live{color:var(--emerald)}
.source .ss.waiting{color:var(--rose)}
.source .ss.later{color:var(--ink-4)}
.source .sm{grid-column:2/4;font-family:var(--mono);font-size:11px;color:var(--ink-4);
  line-height:1.6}

/* the seam rule, stated as a two-column contract */
.seamrule{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-2);
  border:1px solid var(--rule-2);margin-top:26px}
.seamrule > div{background:var(--bg);padding:20px 22px}
.seamrule h3{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--ink)}
.seamrule .era{font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;display:block;margin-bottom:9px}
.seamrule .a .era{color:var(--amber)}
.seamrule .b .era{color:var(--rose)}
.seamrule p{font-family:var(--serif);font-size:15px;line-height:1.62;color:var(--ink-2);
  margin-top:11px}
.seamrule ul{list-style:none;margin-top:13px}
.seamrule li{font-family:var(--mono);font-size:11px;color:var(--ink-3);padding:5px 0;
  border-top:1px dotted var(--rule-2);letter-spacing:.02em}
.seamrule li i{font-style:normal;color:var(--ink-4);float:right}

@media (max-width:880px){
  .hinge{grid-template-columns:1fr}
  .hinge .hturn,.hinge .hn,.hinge .hw{grid-column:1;grid-row:auto;text-align:left}
  .source{grid-template-columns:1fr}
  .source .ss{text-align:left}
  .source .sm{grid-column:1}
  .seamrule{grid-template-columns:1fr}
}

/* ---- the footer takes its page's measure ---- */
/* The cover is the one wide page, and its footer centres on the page rather
   than inside the four-column grid, so it needs the wide measure too. */
footer.wide{max-width:1180px}
