/* mlsanity v1 components — "Proceedings". Uses tokens.css only; no raw colours below except via var(). */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;hanging-punctuation:first last;scroll-padding-top:var(--s5)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/var(--lh-body) var(--serif);
  font-variant-numeric:oldstyle-nums;font-kerning:normal;text-rendering:optimizeLegibility;overflow-wrap:break-word}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--rubric);text-decoration-color:currentColor}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}
.sr{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
ol,ul{list-style:none;margin:0;padding:0}
b{font-weight:600}
.num,.meta,.scope,.fc,.chain,.colo,.tally,.cnt{font-variant-numeric:lining-nums tabular-nums}

/* page frame */
.page{max-width:var(--measure);margin:0 auto;padding:0 var(--s7) var(--s6)}
.rh{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;
  padding:var(--s3) 0 var(--s2);border-bottom:3px double var(--ink);font:500 13px/1.3 var(--sans);letter-spacing:.03em}
.crumb{display:flex;flex-wrap:wrap;align-items:center}
.crumb a{text-decoration:none;padding:var(--s1) 0}
.crumb a:hover{text-decoration:underline}
.crumb .sep{color:var(--faint);margin:0 6px}
.crumb .here{color:var(--muted)}
.mark{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.mark svg{display:block}
.upd{color:var(--muted)}

/* masthead */
.mast{padding:var(--s6) 0 var(--s1);position:relative}
.mast.withfig{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s5);align-items:end}
h1{font:500 var(--fs-display)/1.0 var(--serif);letter-spacing:-.012em;margin:0 0 var(--s4);max-width:15em;text-wrap:balance}
h1.page-h1{font-size:var(--fs-h1-page);line-height:1.05}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s4);margin:0 0 var(--s1);font:400 var(--fs-meta)/1.6 var(--sans);color:var(--muted)}
.meta b{color:var(--ink)}
.meta.kw{display:block;font:400 16px/1.5 var(--serif)}
.meta.kw i{color:var(--ink)}
.lede{font:400 19px/1.45 var(--serif);color:var(--muted);max-width:34em;margin:0 0 var(--s4)}

/* signature: mini citation table (real data) beside a masthead */
.minifig{display:block;text-decoration:none;color:var(--muted);font:400 12px/1.3 var(--sans);text-align:right}
.minifig svg{display:block;margin-left:auto}
.minifig:hover{color:var(--rubric)}

/* sections: the small-caps heading stands alone (no section numerals since 9 Oct) */
.sec{position:relative;margin-top:var(--s7)}
.sh{border-top:1px solid var(--ink);padding-top:9px;margin-bottom:var(--s3)}
h2{margin:0;font:500 var(--fs-h2)/1.2 var(--serif);font-feature-settings:"c2sc","smcp";letter-spacing:.07em}
.scope{margin:3px 0 0;font:400 13.5px/1.45 var(--sans);color:var(--muted)}
.h3{margin:var(--s5) 0 6px;font:500 15px/1.3 var(--sans);letter-spacing:.02em}
.empty{font-style:italic;color:var(--muted);margin:var(--s2) 0}
.note{font:400 var(--fs-small)/1.5 var(--sans);color:var(--muted);margin:var(--s2) 0}

/* tally of new papers per day */
.tally{margin:var(--s1) 0 var(--s3)}
.tl{display:flex;flex-wrap:wrap;align-items:flex-end}
.td{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:26px;height:74px;text-align:center;font:400 12px/1.45 var(--sans)}
.td .bar{display:block;width:12px;background:var(--bar-earlier);margin-bottom:2px}
.td .dn{color:var(--muted);border-top:1px solid var(--ink);align-self:stretch;white-space:nowrap}
.td .dn .mo{display:block;color:var(--muted)}
.td{height:92px}
.td .dc{font-size:13px}
.td.wk .bar{background:var(--ink)}
.td.wk .dn{border-top:2px solid var(--rubric)}
.td.wk .dc{font-weight:700}
.tally figcaption{font:400 12px/1.4 var(--sans);color:var(--muted)}

/* chip behaviour (site.js): hover/focus shows the tip, tap toggles the gloss. r6: the only chip left is the confidence mark (.chip.conf,
   styled in the r5 block at the end); the boxed band chips, check/weak chips and the What's-new key line are retired. */
.chipw{position:relative;display:inline-block}
.chip{position:relative;cursor:help}
.tip{display:none;position:absolute;z-index:5;left:0;top:calc(100% + 6px);width:max-content;max-width:min(280px,80vw);
  padding:6px 9px;background:var(--ink);color:var(--paper);font:400 13px/1.4 var(--sans);text-align:left;border-radius:2px}
@media (hover:hover){.chip:hover + .tip,.chip:focus-visible + .tip{display:block}}
.gloss{display:none;font:400 13px/1.45 var(--sans);color:var(--ink);background:var(--hl);padding:4px 8px;margin-top:4px;border-left:2px solid var(--ink)}
.gloss.on{display:block}
.chain .k{font-weight:600;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;font-size:12px;margin-right:4px}

/* rows: new papers */
.gh{font:600 12px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:var(--s4) 0 5px;border-bottom:1px solid var(--ink)}
.nr{display:grid;grid-template-columns:56px minmax(0,1fr) 84px;gap:0 14px;padding:7px 0 8px;border-bottom:1px solid var(--rule)}
.nr time{font:400 13px/1.9 var(--sans);color:var(--muted);white-space:nowrap}
.t{font-size:var(--fs-title);line-height:var(--lh-title)}
.near,.sub{display:block;font:400 13px/1.45 var(--sans);color:var(--muted);margin-top:1px}
.nm{text-align:right;padding-top:2px}
details.more>summary{list-style:none;cursor:pointer;display:inline-block;margin:var(--s3) 0 var(--s1);font:500 14px/1.4 var(--sans);color:var(--rubric)}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:" ↓"}
details.more[open]>summary::after{content:" ↑"}
.btn-more{font:500 14px/1.4 var(--sans);color:var(--rubric);background:none;border:0;padding:0;margin:var(--s3) 0 var(--s1);cursor:pointer}

/* [n] reference marks */
.ref{font:500 16px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:var(--rubric);text-decoration:none;white-space:nowrap}
.ref:hover{text-decoration:underline}
.fy{font:400 13px/1 var(--sans);color:var(--muted);margin-left:8px;font-variant-numeric:lining-nums tabular-nums}

/* foundations / browse */
.fl li{display:grid;grid-template-columns:48px minmax(0,1fr);padding:8px 0 9px;border-bottom:1px solid var(--rule)}
.fl .rm{grid-row:span 2;padding-top:3px}
.fl .t{font-size:var(--fs-title-l);line-height:1.25}
.fc{font:400 13.5px/1.5 var(--sans);color:var(--muted)}
.fc b{color:var(--ink)}
.bhead,.br{display:grid;grid-template-columns:32px minmax(0,1fr) 92px;gap:0 14px}
.bhead{font:400 12px/1.3 var(--sans);color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--ink)}
.bhead span:last-child,.bc{text-align:right}
.br{padding:6px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.bk{text-align:right;font:400 13px/1 var(--sans);color:var(--muted)}
.br .t{font-size:var(--fs-title-s)}
.bc{font:500 14px/1 var(--sans)}

/* citation table ("ladder", the Lineage section) */
.lead{margin:0 0 var(--s3);max-width:40em;font-size:16.5px;color:var(--muted)}
.lead i{color:var(--ink)}
.chain{margin:0 0 var(--s3);max-width:46em;font:400 14px/1.6 var(--sans);color:var(--muted)}
.chain .ref{font:500 14px/1 var(--sans)}
.lhead{display:flex;align-items:flex-end;font:400 12px/1.3 var(--sans);color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--ink)}
.lhead>span:first-child{flex:1}
.lr{position:relative;display:flex;align-items:center;flex-wrap:wrap;min-height:var(--row);border-bottom:1px solid var(--rule-soft);scroll-margin-top:96px}
.lr:target{background:var(--hl);box-shadow:inset 3px 0 0 var(--rubric)}
/* --cw: cell width, shrunk on narrow phones so a full 24-row table (23 cells + number) never runs past the edge */
.cells{display:flex;flex:none;align-self:stretch;align-items:center;--cw:min(var(--c),calc((100vw - 2*var(--s4) - 4px) / 24))}
.c{width:var(--cw);height:var(--row);display:flex;align-items:center;justify-content:center}
.c::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--rule)}
.c.e::before{width:8px;height:8px;background:var(--ink)}
.c.e.tr::before{background:var(--rubric);width:9px;height:9px}
.dgn{width:calc(var(--cw) + 4px);text-align:center;font:600 12px/1 var(--sans);color:var(--rubric);font-variant-numeric:tabular-nums lining-nums}
.lr.trunk .dgn{box-shadow:inset 0 0 0 1.5px var(--rubric);border-radius:50%;height:20px;line-height:20px}
.lt{flex:1;min-width:0;padding-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16.5px}
.lr.here .t{font-weight:600}
.dg{color:var(--rubric);margin-left:3px;font-size:14px;cursor:help;vertical-align:super;line-height:0}
.lm{display:none}
.lm .lrefs{margin-right:10px}
.ly,.lc{flex:none;text-align:right;font:400 13px/1 var(--sans);font-variant-numeric:tabular-nums lining-nums}
.ly{width:48px;color:var(--muted)}
.lc{width:72px}
/* focus mode dims by colour, not opacity, so dimmed text still passes 4.5:1 */
.lad.on .lr .t,.lad.on .lr .ly,.lad.on .lr .lc{color:var(--muted);text-decoration-color:transparent}
.lad.on .lr .c.e::before{background:var(--faint)}
.lad.on .lr.cur .t,.lad.on .lr.up .t,.lad.on .lr.down .t{color:var(--ink)}
.lad.on .lr.up .c.e::before,.lad.on .lr.cur .c.e::before{background:var(--ink)}
.lr.cur{background:var(--hl)}
.lr.cur .c.e::before,.c.col::before{background:var(--rubric)}
.c.col::before{width:8px;height:8px}
.lr.up .dgn,.lr.down .dgn{background:var(--rubric);color:var(--paper)}
.fn{margin:10px 0 0;font:400 13px/1.5 var(--sans);color:var(--muted);max-width:52em}
.ladmore{display:none}

/* areas / directions tables (area page, home) */
.dl-rows li{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px 90px;gap:0 14px;padding:10px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.dl-rows .hd{font:400 12px/1.3 var(--sans);color:var(--muted);padding:0 0 4px;border-bottom:1px solid var(--ink)}
.dl-rows .n{text-align:right;font:400 14px/1.3 var(--sans);font-variant-numeric:lining-nums tabular-nums}
.dl-rows .n b{font-weight:600}
.dl-rows .t{font-size:var(--fs-title-l)}
.dl-rows .kwl{display:block;font:italic 400 15px/1.4 var(--serif);color:var(--muted)}
.dl-rows .chipw,.hrows .chipw{margin-right:8px;vertical-align:2px}
.cover{border:1px solid var(--ink);border-left:4px solid var(--rubric);padding:var(--s4) var(--s5);margin:var(--s2) 0 0;background:var(--paper-raised)}
.cover .kick{font:600 12px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--rubric)}
.cover h3{font:500 30px/1.15 var(--serif);margin:6px 0 4px}
.cover h3 a{text-decoration:none}
.cover ol{margin-top:var(--s3)}
.cover li{padding:6px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 14px}
.cover li time{font:400 13px/1.9 var(--sans);color:var(--muted)}
.go{display:inline-block;margin-top:var(--s3);font:500 14px/1.4 var(--sans);color:var(--rubric);text-decoration:none}
.go:hover{text-decoration:underline}
.layout{display:flex;gap:var(--s4);align-items:center;font:400 13.5px/1.4 var(--sans);color:var(--muted);margin:var(--s4) 0 0}
.layout a{text-decoration:none;color:var(--muted);padding:6px 0;border-bottom:2px solid transparent}
.layout a[aria-current="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.view-activity{display:none}
.show-activity .view-activity{display:block}
.show-activity .view-cover{display:none}
.outside{margin-top:var(--s5);font:400 14px/1.5 var(--sans);color:var(--muted)}
.outside summary{cursor:pointer;color:var(--ink)}

/* heatstrip (activity) — HEATSTRIP_RULES.md */
.hlegend{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;font:400 13px/1.4 var(--sans);color:var(--muted);margin:var(--s2) 0 var(--s3)}
.sw{display:inline-block;width:14px;height:14px;border:1px solid var(--rule);vertical-align:-2px}
.hrows li{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr) 64px 64px;gap:0 14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule)}
.hrows .hd{font:400 12px/1.3 var(--sans);color:var(--muted);border-bottom:1px solid var(--ink)}
.strip{display:grid;grid-template-columns:repeat(var(--w),1fr);gap:2px}
.cell{height:20px;background:var(--heat-0)}
.cell.hx1{background:var(--heat-1)}.cell.hx2{background:var(--heat-2)}.cell.hx3{background:var(--heat-3)}.cell.hx4{background:var(--heat-4)}
.cell.now{outline:1px solid var(--ink);outline-offset:-1px}
.axis span{white-space:nowrap;overflow:visible}
.axis{display:grid;grid-template-columns:repeat(var(--w),1fr);gap:2px;font:400 12px/1.3 var(--sans);color:var(--muted)}
.hrows .t{font-size:var(--fs-title-s)}
.hrows .n{text-align:right;font:400 14px/1.3 var(--sans);font-variant-numeric:lining-nums tabular-nums}

/* home */
.hero-home{padding:var(--s7) 0 var(--s4)}
.wm{font:500 clamp(44px,7vw,84px)/1 var(--serif);letter-spacing:-.02em;margin:0 0 var(--s2)}
.sbox{display:flex;gap:0;max-width:760px;margin:var(--s4) 0 var(--s2);border:1.5px solid var(--ink);background:var(--field)}
.sbox input{flex:1;min-width:0;font:400 20px/1.3 var(--serif);padding:14px 16px;border:0;background:transparent;color:var(--ink)}
.sbox input::placeholder{color:var(--muted)}
.sbox button{font:600 15px/1 var(--sans);padding:0 22px;border:0;border-left:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;min-height:52px}
.hint{font:400 13.5px/1.6 var(--sans);color:var(--muted);margin:0}
.hint a{color:var(--ink)}

/* search */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;font:400 14px/1.4 var(--sans);color:var(--muted);margin:var(--s2) 0 0}
.filters select{font:400 14px/1.3 var(--sans);padding:8px 10px;border:1px solid var(--ink);background:var(--field);color:var(--ink);min-height:44px}
.filters label{display:inline-flex;gap:8px;align-items:center}
.rcount{font:400 14px/1.5 var(--sans);color:var(--muted);margin:var(--s4) 0 var(--s1)}
.rlist li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 14px;padding:9px 0;border-bottom:1px solid var(--rule)}
.rlist .yr{font:400 13px/1.9 var(--sans);color:var(--muted)}
.where{display:block;font:400 13px/1.45 var(--sans);color:var(--muted)}
.where a{color:var(--muted)}
.dhits li{padding:8px 0;border-bottom:1px solid var(--rule)}
.dhits .t{font-size:var(--fs-title)}
mark{background:var(--hl);color:inherit;padding:0 1px}
.skel{height:14px;background:linear-gradient(90deg,var(--rule-soft),var(--hl),var(--rule-soft));background-size:200% 100%;animation:sk 1.2s linear infinite;border-radius:2px;margin:10px 0}
.skel.w60{width:60%}.skel.w80{width:80%}.skel.w40{width:40%}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}
.alert{border:1px solid var(--ink);border-left:4px solid var(--rubric);padding:var(--s3) var(--s4);background:var(--paper-raised);font:400 15px/1.5 var(--sans);margin:var(--s4) 0}
.alert button{font:600 14px/1 var(--sans);margin-top:var(--s2);padding:12px 16px;border:1px solid var(--ink);background:transparent;cursor:pointer;min-height:44px}

/* paper page */
.rowfig{margin:var(--s3) 0 0}
.rowfig svg{display:block;max-width:100%;height:auto}
.rowfig figcaption{font:400 12px/1.4 var(--sans);color:var(--muted)}
.pl li{display:grid;grid-template-columns:48px minmax(0,1fr) 92px;gap:0 14px;padding:7px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.pl .yr{font:400 13px/1.9 var(--sans);color:var(--muted)}
.pl .t{font-size:var(--fs-title-s)}
.pl .c2{text-align:right;font:400 13px/1.3 var(--sans);color:var(--muted)}
.place{font:400 15px/1.5 var(--sans);margin:var(--s2) 0 0}
.place .lbl{color:var(--muted)}

/* about / prose */
.prose{max-width:38em}
.prose p,.prose li{font-size:18px;line-height:1.5}
.prose ul{list-style:disc;padding-left:1.2em}
.prose dt{font:600 15px/1.4 var(--sans);margin-top:var(--s3)}
.prose dd{margin:2px 0 0}

/* colophon */
.colo{margin-top:var(--s8);border-top:3px double var(--ink);padding-top:14px;font:400 13.5px/1.6 var(--sans);color:var(--muted)}
.colo p{margin:0 0 4px}
.pn{display:flex;justify-content:space-between;gap:var(--s4);font:400 19px/1.3 var(--serif);color:var(--ink);margin-bottom:18px}
.pn .lbl{display:block;font:400 12px/1.3 var(--sans);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.pn .nx{margin-left:auto;text-align:right}
.cg{margin:10px 0 0;padding:10px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cg div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 14px}
.cg dt{font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:var(--ink);line-height:2}
.cg dd{margin:0}
.cite{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cite code{font:500 13.5px var(--sans);color:var(--ink);word-break:break-all}
.copy{font:500 12px/1 var(--sans);padding:6px 10px;border:1px solid var(--faint);background:transparent;color:var(--ink);cursor:pointer}
.honest{margin-top:12px !important;font:italic 400 15px/1.4 var(--serif)}
.honest a{font:normal 400 13.5px var(--sans);margin-left:6px}

/* phones: stack, and every tap target ≥44px (Critiquito M2) */
@media (max-width:760px){
  .page{padding:0 var(--s4) var(--s6)}
  .rh{padding-top:0;padding-bottom:0}
  .crumb a{padding:12px 0;display:inline-block;min-height:44px;line-height:20px}
  .upd{padding:0 0 8px}
  .toc{padding:0}
  .crumb a.mark{display:inline-flex}
  .td{height:88px}
  .mast{padding-top:var(--s4)}
  .mast.withfig{grid-template-columns:minmax(0,1fr)}   /* 1fr = minmax(auto,1fr): the search form's min-content (366px) overflowed 320–375px phones */
  .minifig{text-align:left}
  .minifig svg{margin-left:0}
  h1{font-size:34px;line-height:var(--lh-tight);margin-bottom:10px}
  h1.page-h1{font-size:30px}
  .sec{margin-top:40px}
  h2{display:inline;font-size:20px}
  .td{width:22px;height:92px}   /* r6 eve (R6c-M1): was 70px, which squeezed the bars (5-12 papers all drew ~13px); 92 = 34 bar + 2 + count + two-line date */
  .td .bar{width:10px}
  .chip{min-height:32px;padding:6px 10px}
  .chip::after{content:"";position:absolute;inset:-8px -4px}
  details.more>summary,.btn-more{display:block;min-height:44px;line-height:44px;margin:var(--s1) 0}
  .ref{display:inline-block;min-width:44px;min-height:44px;line-height:44px;text-align:center;margin:-10px 0}
  .chain{line-height:44px}
  .chain .ref{min-width:44px;margin:0}
  .nr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"d m" "t t";padding:6px 0 8px}
  .nr time{grid-area:d;line-height:2.4}
  .nm{grid-area:m;padding-top:0}
  .nt{grid-area:t}
  .tip{display:none !important}
  .t{padding-block:6px}
  .fl li{grid-template-columns:44px minmax(0,1fr)}
  .lead{font-size:16px}
  .lhead .ly,.lhead .lc,.lr .ly,.lr .lc{display:none}
  .lr{padding:4px 0 6px}
  .cells{height:16px}
  .c{height:16px}
  .lt{flex-basis:100%;padding:2px 0 0;white-space:normal;overflow:visible}
  .lt .t{font-size:16.5px;line-height:1.25}
  .dg{display:none}
  .lm{display:block;font:400 13px/1.5 var(--sans);color:var(--muted)}
  .lm .lrefs{display:block;line-height:44px}
  .lm .ref{font:500 13px/44px var(--sans);min-width:44px;min-height:44px;margin:0}
  .js .lad:not(.all) .lr:not(.trunk){display:none}
  .js .ladmore{display:block}
  .bhead,.br{grid-template-columns:24px minmax(0,1fr) 44px;gap:0 10px}
  .dl-rows li{grid-template-columns:minmax(0,1fr) 64px 64px;gap:0 8px}
  .dl-rows .hide-s{display:none}
  .hrows li{grid-template-columns:1fr 52px;gap:4px 8px}
  .hrows li .strip{grid-column:1 / -1;grid-row:2}
  .hrows .hd .axisw{grid-column:1 / -1;grid-row:2}
  .hrows .hide-s{display:none}
  .cover{padding:var(--s3) var(--s4)}
  .cover h3{font-size:24px}
  .go{display:block;min-height:44px;line-height:44px;margin-top:0}
  .layout a{min-height:44px;line-height:32px}
  .sbox input{font-size:18px}
  .pl li{grid-template-columns:44px minmax(0,1fr)}
  .pl .c2{grid-column:2;text-align:left}
  .pn{flex-direction:column;font-size:17px}
  .pn a{display:block;padding:8px 0}
  .cg div{grid-template-columns:72px minmax(0,1fr)}
  .copy{min-height:44px;padding:0 14px}
  .colo a{display:inline-block;padding:10px 0}
  .outside summary{min-height:44px;line-height:44px}
}

/* ---- dr eggbot round: contents line, band column, built-on-by controls, by-year chart, placement disclosure ---- */
.toc{display:flex;flex-wrap:wrap;align-items:center;gap:0 2px;margin:var(--s3) 0 0;padding:8px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font:400 14px/1.4 var(--sans)}
.toc a{text-decoration:none;color:var(--ink);padding:2px 0;display:inline-flex;align-items:baseline;gap:5px}
.toc a:hover{color:var(--rubric)}
.toc .tn{color:var(--rubric);font:400 16px/1 var(--serif);font-variant-numeric:lining-nums}
.toc .sepd{margin:0 10px;color:var(--faint)}
.bandc{text-align:right}
.dl-rows.area li{grid-template-columns:minmax(0,1fr) 120px 80px 90px}
.hrows li{grid-template-columns:minmax(0,260px) 120px minmax(0,1fr) 64px 64px}
.bvc{margin:var(--s2) 0 var(--s1)}
.bvrow{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;margin:0 0 4px;font:400 14px/1.4 var(--sans);color:var(--muted)}
.bvrow .lbl{margin-right:0}
.bvrow .sepd{display:none}
.bvb{font:400 14px/1.4 var(--sans);background:none;border:0;border-bottom:2px solid transparent;padding:4px 0;margin-right:12px;color:var(--ink);cursor:pointer}
.bvrow .bvb{margin-right:0}
.bvrow .bvb:first-of-type{margin-left:0}
.bvb b{font-weight:600}
.bvb[aria-pressed="true"]{border-bottom-color:var(--rubric);font-weight:600}
.bvb:hover{color:var(--rubric)}
.byyear{margin:0 0 var(--s3)}
.byyear .h3{margin:0 0 6px}
.yl{display:flex;align-items:flex-end;gap:0}
.yb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:44px;height:84px;font:400 12px/1.4 var(--sans);font-variant-numeric:lining-nums tabular-nums}
.yb .bar{display:block;width:16px;background:var(--bar-earlier)}
.yb.wk .bar{background:var(--ink)}
.yb .dn{align-self:stretch;text-align:center;border-top:1px solid var(--ink);color:var(--muted);min-height:17px}
.yb .dc{color:var(--muted)}
details.also{margin:2px 0 0;font:400 14px/1.5 var(--sans);color:var(--muted)}
details.also summary{cursor:pointer;display:inline-block}
details.also li{padding:2px 0}
@media (max-width:760px){
  .toc{gap:0}
  .toc a{display:inline-flex;align-items:center;min-height:44px}
  .toc .sepd{margin:0 6px}
  .dl-rows.area li{grid-template-columns:minmax(0,1fr) auto 52px;gap:0 8px}
  .hrows li{grid-template-columns:minmax(0,1fr) auto 52px}
  .hrows li .strip{grid-column:1 / -1;grid-row:2}
  .bvb{min-height:44px}
  .yb{width:34px}
  details.also summary{min-height:44px;line-height:44px}
  details.also li a{display:inline-block;padding:7px 0}
  .place a{display:inline-block;padding:12px 0;min-width:44px}
  .place{margin:0}
  .mast.withfig .minifig{display:none}
}
details.also summary{list-style:none}
details.also summary::-webkit-details-marker{display:none}
details.also summary::before{content:"▸ ";color:var(--rubric)}
details.also[open] summary::before{content:"▾ "}

/* ---- Critiquito r2 ---- */
.toc{gap:4px 18px}
.ext{color:var(--muted);font:400 12px/1 var(--sans)}
.cell{display:flex;align-items:center;justify-content:center;height:22px;font:500 12px/1 var(--sans);color:var(--ink);
  font-variant-numeric:lining-nums tabular-nums;box-shadow:inset 0 0 0 1px var(--rule-soft)}   /* S7: counts visible, no hover needed */
.cell.hx4{color:var(--paper)}
.ladfig{display:none;margin:0 0 var(--s3)}
.ladfig svg{display:block;width:100%;max-width:320px;height:auto}
.ladfig figcaption{font:400 13px/1.5 var(--sans);color:var(--muted);margin-top:4px}
.why{margin-top:2px}
@media (max-width:760px){
  .ladfig{display:block}
  /* R2-M1: inline links get a 44px-tall hit area without changing the line layout */
  .where a,.hint a,.meta a,.note a,.fn a,.scope a,.prose a,.rcount a,figcaption a,.lead a,.cg dd a,.key a,.honest a{
    padding-block:15px;margin-block:-15px;position:relative;z-index:1}
  /* links that wrap onto several lines get their own 44px line, so neighbours' hit areas never overlap */
  .where a,.hint a{display:inline-flex;align-items:center;min-height:44px;line-height:1.35;padding:0;margin:0}  /* 15:23: never line-height:44px on a link that can wrap (it opens 44px line gaps) */
  .where{display:block;line-height:44px}
  .rlist .where,.dhits .where{margin-top:-6px}
  .colo a,.honest a,.colo .up a{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0}
  .ref{min-width:46px}
  .bvb{min-width:44px}
  /* R2-M1: tappable rows — the title link covers its whole row; other controls in the row sit above it */
  .nr,.pl li,.rlist li,.dl-rows li,.br,.fl li,.cover li,.dhits li,.hrows li:not(.hd){position:relative}
  .nr a.t::after,.pl li a.t::after,.rlist li a.t::after,.dl-rows li a.t::after,.br a.t::after,.fl li a.t::after,
  .cover li a.t::after,.dhits li a.t::after,.hrows li a.t::after{content:"";position:absolute;inset:0}
  .nr .chipw,.nr .gloss,.br .ref,.fl .ref,.rlist .where,.dl-rows .chipw,.dl-rows .gloss,.hrows .chipw{position:relative;z-index:2}
  .filters label{flex:1 1 100%;max-width:100%}
  .filters select{flex:1;min-width:0;max-width:100%}
  .cell{height:20px}
}
@media (max-width:760px){
  .nr,.pl li,.rlist li,.dl-rows li,.br,.fl li,.cover li,.dhits li,.hrows li:not(.hd){min-height:44px}
  .rlist a.t,.dhits a.t{display:block;min-height:44px;padding-block:10px 4px}
}
@media (max-width:760px){
  .nr,.pl li,.rlist li,.dl-rows li,.br,.fl li,.cover li,.dhits li,.hrows li:not(.hd){min-height:46px}
  .lad .lr{position:relative;min-height:46px}
  .lad .lr a.t::after{content:"";position:absolute;inset:0}
  .lad .lr .ref,.lad .lr .mark{position:relative;z-index:2}
  .lm .ref{min-width:46px}
}
.arealinks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 20px;font:400 15px/1.5 var(--sans)}
.arealinks a{color:var(--ink)}
@media (max-width:760px){
  .arealinks{gap:0 18px}
  .arealinks a{display:inline-flex;align-items:center;min-height:44px}
  p.place a{display:inline;padding-block:15px;margin-block:-15px;position:relative;z-index:1}
  p.place{margin-bottom:18px}
}
@media (max-width:760px){.place .chipw{position:relative;z-index:2}}
@media (max-width:760px){p.place a{display:inline-block;min-height:44px;line-height:44px;padding:0;margin:0}}
@media (max-width:760px){.cover h3 a{display:inline-block;padding-block:9px}.cover h3{margin-bottom:8px}}
@media (max-width:760px){.bt .ref{margin-block:-6px}}
.logo-slot:empty{display:none}
/* ---- r3: ring treatment shared with the logo (brand/logo/RING_TREATMENT.md) ----
   citations = filled ink squares; chain = hollow --rubric square, stroke = 1/4 of the cell, inside the cell; square corners */
.c.e::before{width:var(--cite-cell);height:var(--cite-cell);border-radius:0;background:var(--ink)}
.c.e.tr::before{width:var(--chain-cell);height:var(--chain-cell);border-radius:0;background:transparent;box-shadow:inset 0 0 0 var(--chain-stroke) var(--rubric)}
.lad.on .lr .c.e.tr::before{background:transparent;box-shadow:inset 0 0 0 var(--chain-stroke) var(--faint)}
.lad.on .lr.up .c.e.tr::before,.lad.on .lr.cur .c.e.tr::before{background:transparent;box-shadow:inset 0 0 0 var(--chain-stroke) var(--ink)}
.lr.cur .c.e.tr::before,.c.col.tr::before{background:transparent;box-shadow:inset 0 0 0 var(--chain-stroke) var(--rubric)}
.c.col::before{border-radius:0}
.minifig svg,.ladfig svg{shape-rendering:crispEdges}
/* heat cell text follows the ramp (tokens --heat-fg-*) so counts pass 4.5:1 in light and dark */
.cell{color:var(--heat-fg-0)}.cell.hx1{color:var(--heat-fg-1)}.cell.hx2{color:var(--heat-fg-2)}.cell.hx3{color:var(--heat-fg-3)}.cell.hx4{color:var(--heat-fg-4)}
/* narrow phones (320–375): nothing may set a min-content wider than the viewport */
.sbox{min-width:0}.sbox input{min-width:0;flex:1 1 auto}
/* ---- Critiquito r3 ---- */
@media (max-width:760px){
  /* R3-M1: also-list links each get their own 44px line (no negative-margin padding trick here) */
  details.also li{min-height:44px;display:flex;flex-wrap:wrap;align-items:center;column-gap:8px}
  details.also li a{display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0;position:static}
  details.also li .chipw{position:relative;z-index:2}
  /* R3-S1: padded inline links draw their focus ring on the text, not the invisible 15px padding */
  .where a:focus-visible,.hint a:focus-visible,.meta a:focus-visible,.note a:focus-visible,.fn a:focus-visible,.scope a:focus-visible,
  .prose a:focus-visible,.rcount a:focus-visible,figcaption a:focus-visible,.lead a:focus-visible,.cg dd a:focus-visible,.key a:focus-visible{outline-offset:-13px}
}
/* dr eggbot 15:13: home hero has no figure; one plain "Busiest this week" line under search */
.hero-home .busiest{display:block;margin:8px 0 0;padding:4px 0;font:400 15px/1.45 var(--sans);color:var(--ink);text-decoration:none}
.hero-home .busiest .k{color:var(--muted)}
.hero-home .busiest:hover{color:var(--rubric)}
@media (max-width:760px){.hero-home .busiest{min-height:44px;padding:11px 0;margin-top:2px}}
/* 9 Oct (Samuel via dr eggbot): no section numerals; the contents line is plain words with anchor links and dot separators */
.toc{gap:0}
.toc .sepd{margin:0 10px;color:var(--faint)}
@media (max-width:760px){.toc .sepd{margin:0 7px}}
/* 15:21-15:23 brevity pass: footer is one data line; phone header stamp is "Data to 1 Oct" */
.colo .src{margin:12px 0 0}
@media (max-width:760px){.rh .upd .yr{display:none}.colo .src a{display:inline-flex;align-items:center;min-height:44px}}
/* 15:2x edge check: a long lineage title must not clip its † marker. Only the title truncates (ellipsis); † always shows. */
@media (min-width:761px){
  .lt{display:flex;align-items:baseline;text-overflow:clip}
  .lt .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lt .dg{flex:none;align-self:flex-start;line-height:1;vertical-align:baseline;margin-top:1px}
}
/* 9 Oct 15:51: site nav (Areas · Papers · Search) in every header; Papers feed */
.rh-r{display:flex;align-items:center;gap:var(--s5)}
nav.site{display:flex;gap:var(--s4)}
nav.site a{color:var(--ink);text-decoration:none}
nav.site a:hover{text-decoration:underline}
nav.site a[aria-current=page]{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.daypager{display:flex;justify-content:space-between;gap:var(--s4);margin:var(--s2) 0;font:400 14px/1.4 var(--sans)}
.daypager a{color:var(--ink)}
.rlist.feed .yr{font:400 12.5px/1.9 var(--sans);font-variant-numeric:lining-nums}
.rlist.feed li[hidden]{display:none}
.ppf{margin-top:var(--s3)}
@media (max-width:760px){
  .rh-r .upd{display:none}            /* phones: the date lives in the footer line; the header carries the nav */
  .rh-r{gap:0}
  nav.site{gap:var(--s3)}
  nav.site a{display:inline-flex;align-items:center;min-height:44px}
  .daypager a{display:inline-flex;align-items:center;min-height:44px}
}
/* Papers rows: the .where line has no links here, so no 44px line box; category baseline-aligned with the title */
.rlist.feed li{align-items:baseline}
@media (max-width:760px){
  .rlist.feed li{grid-template-columns:52px minmax(0,1fr);padding:8px 0}
  .rlist.feed .where{line-height:1.45;margin-top:2px}
  .rlist.feed .yr{line-height:1.5}
}
.nw{white-space:nowrap}
/* ---- Critiquito r4 + dr eggbot (9 Oct, evening) ---- */
/* R4-S4: header = mark, breadcrumb trail, site nav. The mark sits outside nav.crumb so phones can give the trail its own line */
.rh{column-gap:0}
.rh>.mark{flex:none}
.rh .crumb{min-width:0}
.rh-r{margin-left:auto;padding-left:var(--s4)}
.rh>a.mls-lockup:hover{text-decoration:none}
.rh>a.mls-lockup:hover .mls-word{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
/* desktop: the mark gets the same 4px vertical padding as the trail links, so the header bar is one height on every page (41px on
   pages whose trail is plain text vs 47.9px with links, found by logo_check 9 Oct r4 worker 3; 49px everywhere as before r4) */
@media (min-width:761px){.rh>a.mark{padding:var(--s1) 0}}
/* /papers/: no category column (dr eggbot); unplaced rows print nothing under the title */
.rlist.feed li{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){
  /* phones: row 1 = mark + nav (44px), row 2 = the trail on ONE line, truncated with "…" (full text in title=) */
  .rh{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"mark nav" "crumb crumb";align-items:center}
  .rh>.mark{grid-area:mark}
  .rh>a.mark{display:inline-flex;align-items:center;min-height:44px}
  .rh-r{grid-area:nav;justify-self:end;margin:0;padding:0}
  .rh .crumb{grid-area:crumb;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:44px;line-height:44px;margin-top:-4px}
  .rh .crumb>.sep:first-child{display:none}
  .rh .crumb a{display:inline;min-height:0;line-height:inherit;padding:13px 0}
  .rlist.feed li{grid-template-columns:minmax(0,1fr)}
  /* R4-C1: chip halo 6px (32+12 = 44px) and a 6px row gap, so a chip that wraps never takes height from the link above */
  .chip::after{inset:-6px -4px}
  details.also li{row-gap:6px}
  p.place{line-height:44px}
  .place .chipw{vertical-align:middle}
  /* R3-S1 (r4): padded inline links drop the invisible 15px padding while focused, so the ring hugs the text on all sides at the
     normal 2px offset (inline padding never moves the line, so nothing shifts); the 44px links in .where/.hint ring an inner span */
  .meta a:focus-visible,.note a:focus-visible,.fn a:focus-visible,.scope a:focus-visible,.prose a:focus-visible,.rcount a:focus-visible,
  figcaption a:focus-visible,.lead a:focus-visible,.cg dd a:focus-visible,.key a:focus-visible{padding-block:0;margin-block:0;outline-offset:2px}
  .where a:focus-visible,.hint a:focus-visible{outline:none}
  .where a:focus-visible>span,.hint a:focus-visible>span{outline:2px solid var(--rubric);outline-offset:2px}
}
.wsep{display:inline-flex;align-items:center}
@media (max-width:760px){.where .wsep{min-height:44px;vertical-align:top}}
/* r4 worker 4 (9 Oct, 9:15 PM): tapcheck on staging found 42px hits. (a) The 6px chip halo (R4-C1) makes exactly 44px, which loses
   1-2px to fractional chip positions -> 7px halo (46px), with an 8px row gap in the also-list so a wrapped chip still never
   reaches the link above. (b) Phone trail links: 13px text + 13px padding = 42px box -> 15px padding (the 44px trail clips it to 44). */
@media (max-width:760px){
  .chip::after{inset:-7px -4px}
  details.also li{row-gap:8px}
  .rh .crumb a{padding:15px 0}
}
/* ---- r5 (9 Oct 2026): placement marks = B2. r6 (10 Oct 2026): confidence = signal bars (option a) ---- */
/* confidence mark: three signal bars (3/2/1 filled). Filled bars --muted (6.4:1 light, 7.3:1 dark), empty bars --rule (scale only;
   filled vs empty 4.4:1 / 5.0:1). Rows: bars only inside the headed "Confidence" column (word = accessible name). Masthead and
   cover card: bars + word. Hover / keyboard focus: one-line tip; tap: the gloss under the row (site.js .chip behaviour). */
.chip.conf{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;padding:0;margin:0;border:0;border-radius:0;background:none;
  color:var(--muted);cursor:help;font:400 var(--fs-meta)/1.3 var(--sans);letter-spacing:0;min-height:24px;min-width:24px;vertical-align:middle}
.chip.conf:hover,.chip.conf[aria-expanded="true"]{color:var(--ink)}
.chip.conf:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}
.chip.conf .cw{text-decoration:underline dotted var(--faint);text-decoration-thickness:1px;text-underline-offset:3px}
.chip.conf:hover .cw,.chip.conf[aria-expanded="true"] .cw{text-decoration-color:currentColor}
.sig{display:inline-flex;align-items:flex-end;gap:2px;height:14px;flex:none}
.sig i{display:block;width:4px;background:var(--rule)}
.sig i:nth-child(1){height:5px}.sig i:nth-child(2){height:9px}.sig i:nth-child(3){height:14px}
.sig.l1 i:nth-child(1),.sig.l2 i:nth-child(-n+2),.sig.l3 i{background:var(--muted)}
.chip.conf:hover .sig.l1 i:nth-child(1),.chip.conf:hover .sig.l2 i:nth-child(-n+2),.chip.conf:hover .sig.l3 i,
.chip.conf[aria-expanded="true"] .sig.l1 i:nth-child(1),.chip.conf[aria-expanded="true"] .sig.l2 i:nth-child(-n+2),.chip.conf[aria-expanded="true"] .sig.l3 i{background:var(--ink)}
.confw .tip{white-space:normal;width:max-content;max-width:min(26em,calc(100vw - 32px))}
.confh .gloss a,.confc ~ .gloss a,.gloss a[href="/about/#confidence"]{display:inline-block;min-width:44px;text-align:center}
.confc{text-align:right;white-space:nowrap}
.confc .tip{left:auto;right:0}
.confc .chip.conf{min-height:28px;min-width:44px}
.dl-rows .confw,.hrows .confw{margin:0;vertical-align:middle}
.confh{display:inline-flex;flex-wrap:wrap;align-items:center}
.confh .gloss{flex-basis:100%}
.gloss a{color:inherit}
.dl-rows.area li{grid-template-columns:minmax(0,1fr) 80px 90px 80px}
.hrows li{grid-template-columns:minmax(0,260px) 80px minmax(0,1fr) 64px 64px}
.prose .alias{display:block;height:0;scroll-margin-top:24px}
/* placement mark (B2): "also fits: <direction>" link after the title, on its own line (KY-C1); loose fit is never shown */
.nr{grid-template-columns:56px minmax(0,1fr)}
.nb{min-width:0}
.nm{display:block;text-align:left;padding:2px 0 0}
.pmk{color:var(--muted);font:400 var(--fs-small)/1.3 var(--sans);letter-spacing:0;
  text-decoration:underline dotted var(--faint);text-decoration-thickness:1px;text-underline-offset:3px}
.pmk .pk{white-space:nowrap}
a.pmk:hover{color:var(--ink);text-decoration-color:currentColor}
a.pmk:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}
.prose dl.placement dt .pmk.nomark{text-decoration:none}
p.place .sepd{margin:0 6px;color:var(--faint)}
@media (max-width:760px){
  /* phones: title first, then one meta line "30 Sep · also fits: …" with a 44px tap box */
  .nr{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"t t" "d m";align-items:center;gap:0;padding:6px 0 4px}
  .nb{display:contents}
  .nt{grid-area:t}
  .nr time{grid-area:d;line-height:1.7}
  .nr.hasm time::after{content:"·";margin:0 8px;color:var(--faint)}
  .nm{grid-area:m;display:flex;align-items:center;margin:0;padding:0;min-width:0;position:relative;z-index:2}
  a.pmk{display:inline-flex;align-items:center;min-height:44px;text-align:left}
  /* paper page: the also-fits mark gets its own 44px line under the placement (no dangling separator) */
  p.place .sepd{display:none}
  p.place a.pmk{display:flex;align-items:center;min-height:44px;line-height:1.3;width:fit-content;padding:0;margin:0}
  /* confidence: fixed 64px column (CF-S2), 44px tap boxes */
  .dl-rows.area li{grid-template-columns:minmax(0,1fr) 64px 64px;gap:0 8px}
  .hrows li{grid-template-columns:minmax(0,1fr) 64px 52px;gap:4px 8px}
  .hrows li .strip,.hrows .hd .axisw{grid-column:1 / -1;grid-row:2}
  .confc .chip.conf{min-height:44px;min-width:44px;padding:0}
  .confc .chip.conf::after{display:none}
  .mast .chip.conf,.cover .chip.conf{min-height:0;padding:0}
  .mast .chip.conf::after,.cover .chip.conf::after{content:"";position:absolute;inset:auto;left:50%;top:50%;width:max(44px,calc(100% + 12px));height:48px;transform:translate(-50%,-50%)}
  .gloss a{display:inline-block;min-height:44px;line-height:44px;padding:0 4px;margin:-12px 0}
  /* direction day strip: always one line (the 320px strip wrapped and split this week's bold run); cells shrink to fit */
  .tl{flex-wrap:nowrap}
  .td{flex:0 1 22px;min-width:0}
}
@media (max-width:360px){.td .dn{font-size:12px}.td .dc{font-size:12px}.td:nth-last-child(even) .dn{visibility:hidden}.td .dn .mo{visibility:visible}} /* r5: >=12px labels; every other day label hidden at <=360 (21-day strip) */

/* ---- r6 (10 Oct 2026): Lineage = timeline (L2). Replaces the citation grid (.ladder/.lad/.ladfig rules above are retired, kept only
   because tools/swap_to_8771.sh greps for --cw). The longest chain: a 2px --rubric line through hollow --rubric squares (ring
   treatment: 10px, 2.5px stroke, paper inside), oldest first. Other papers: same rows without the line, in "N more". ---- */
.fl li{grid-template-columns:minmax(0,1fr)}
.tline,.tlist{list-style:none;margin:var(--s4) 0 0;padding:0}
.tline li,.tlist li{display:grid;grid-template-columns:52px 22px minmax(0,1fr);position:relative;scroll-margin-top:96px}
.tlist li{grid-template-columns:52px 22px minmax(0,1fr);border-bottom:1px solid var(--rule-soft);padding:4px 0}
.tlist .tb{grid-column:3}   /* titles line up with the timeline titles */
.tline li{padding-bottom:14px}
.tline li::after{content:"";position:absolute;left:62px;top:0;bottom:0;width:2px;background:var(--rubric)}
.tline li:first-child::after{top:13px}
.tline li:last-child::after{bottom:auto;height:13px}
.tline li:only-child::after{display:none}
.tdot{justify-self:center;width:10px;height:10px;box-sizing:border-box;border:2.5px solid var(--rubric);background:var(--paper);margin-top:8px;position:relative;z-index:1}
.ty{font:400 14px/26px var(--sans);color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.tb{min-width:0;padding-left:8px}
.tline .t{font-size:var(--fs-title);line-height:1.3}
.tlist .t{font-size:var(--fs-title-s);line-height:1.3}
.tm{display:block;font:400 13px/1.5 var(--sans);color:var(--muted)}
.tm b{font-weight:600}
.tline li:target .tb,.tlist li:target{background:var(--hl);box-shadow:inset 3px 0 0 var(--rubric)}
.linmore{margin-top:var(--s3)}
@media (max-width:760px){
  .tline li{grid-template-columns:44px 20px minmax(0,1fr)}
  .tline li::after{left:53px}
  .tlist li{grid-template-columns:44px 20px minmax(0,1fr)}
  .tline .t{font-size:17px}
  /* whole-row taps (site pattern): the title link's ::after covers the row; rows >=44px */
  .tline li,.tlist li{min-height:44px}
  .tline .tb,.tlist .tb{position:static}
  .tline li a.t::after,.tlist li a.t::after{content:"";position:absolute;inset:0;z-index:2}
}
/* About#lineage: the one static citation table left on the site (R6-L-S2); the logo is its top corner */
.agrid{margin:var(--s3) 0 var(--s4)}
.agrid svg{display:block;margin-bottom:8px}
.agrid .g0{fill:none;stroke:var(--rule);stroke-width:1}
.agrid .ge{fill:var(--muted)}
.agrid .gt{fill:var(--paper);stroke:var(--rubric);stroke-width:2.5}
.agrid figcaption{font:400 var(--fs-small)/1.5 var(--sans);color:var(--muted);max-width:40em}

/* r6 eve (R6c-M1): the day bar never shrinks, so its drawn height is its data height at every width; count and date keep their size too */
.td .bar,.td .dc,.td .dn{flex-shrink:0}
.yb .bar,.yb .dc,.yb .dn{flex-shrink:0}
/* r6 eve (R6c-C2): at <=360 the 21 cells are ~14px wide and two-digit counts ran together ("1212"); tighter digits leave a gap */
@media (max-width:360px){.td .dc{letter-spacing:-.07em;font-variant-numeric:proportional-nums}}
