/* Contested facts (contested/): a researcher's ledger. Desktop: a dense captioned table with a sticky head, value tiles,
   verdict pills and filters. ≤900px: each row becomes a dispute card with side-by-side value tiles. Tokens only. */

.ldg-head{border-bottom:1px solid var(--line)}
.ldg-head .wrap{padding-block:28px 32px}
.ldg-head h1{font-size:var(--t-display);line-height:.92;letter-spacing:-.025em;margin:.1em 0 .22em}
.ldg-head .lede{font-size:var(--t-lg);line-height:1.45;color:var(--dim);max-width:52ch;margin:0 0 14px}
.ldg-tally{font:400 var(--t-lg)/1.3 var(--display);margin:0}

/* ---------- tools: filters, live count, CSV */
.no-js .ldg-filters{display:none}
.ldg-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.ldg-filters .search{flex:1 1 260px}
.ld-unres{min-height:44px}
.ld-unres input{accent-color:var(--blue);width:18px;height:18px;margin:0}
.ldg-status{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:10px 0 18px;font-size:var(--t-sm);color:var(--dim)}
.ldg-csv{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.ldg-empty{padding:18px 0;color:var(--dim)}

/* ---------- the ledger table */
.ledger{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.ledger caption{caption-side:top;text-align:left;color:var(--dim);font-size:var(--t-sm);padding:0 0 10px;max-width:80ch}
.ledger thead th{position:sticky;top:var(--head-h);z-index:3;background:var(--bg);box-shadow:inset 0 -1px 0 var(--line-strong);
  font-size:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:700;text-align:left;padding:10px 10px}
.ledger tbody tr{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--head-h) + 48px)}
.ledger td,.ledger tbody th{padding:16px 10px;vertical-align:top;text-align:left}
.ledger .ld-link{width:52px;padding-inline:0 4px}
.ld-link a{display:inline-grid;place-items:center;width:44px;height:44px;margin-top:-10px;border-radius:10px;color:var(--dim)}
.ld-link a:hover{color:var(--blue);background:var(--bg3)}
.ld-link svg{width:16px;height:16px}
.ld-item{width:18%;font-weight:400}
.ld-title{display:block;font:400 var(--t-lg)/1.2 var(--display);color:var(--ink)}
.ld-years{display:block;margin-top:4px;color:var(--dim);font-size:var(--t-xs)}
.ld-vals{width:36%}
.ld-verdict{width:25%}
.ld-era{width:13%}
.ld-isl{width:8%}
.ld-k{display:none}
.ledger tbody tr:target{background:color-mix(in srgb,var(--blue) 9%,transparent);box-shadow:inset 3px 0 0 var(--blue)}

/* value tiles */
.vtiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vt{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:6.5rem;max-width:100%;padding:8px 12px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg2)}
.vt.is-best{border:2px solid var(--blue);padding:7px 11px 8px}
.vt-v{font:400 1.25rem/1.2 var(--display);color:var(--ink)}
.vt-src{font-size:var(--t-xs);color:var(--dim);line-height:1.35}
.vt-src a{color:var(--dim)}
.vt-best{font-size:var(--t-xs);font-weight:700;color:var(--blue)}

/* verdict */
.pill{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;font-size:var(--t-xs);font-weight:700;line-height:1.2}
.pill.sup{background:var(--blue);color:var(--blue-ink);border:1.5px solid var(--blue)}
.pill.unres{color:var(--weak);border:1.5px dashed var(--weak)}
.ld-note{margin:8px 0 0;color:var(--ink)}
.ld-note a,.ld-src a,.ld-ev a{display:inline-block;padding-block:3px}
.ld-src,.ld-ev{margin:6px 0 0;color:var(--dim);font-size:var(--t-xs)}
.ld-ev a{margin-right:10px}
.era-chip{display:inline-block;padding:3px 0;margin-right:10px;color:var(--ink);text-decoration-color:var(--line-strong)}
.era-chip:hover{color:var(--blue)}

/* ≤900px: dispute cards (the one place on the site a card is the right container) */
@media (max-width:900px){
  .ledger,.ledger tbody,.ledger tr,.ledger td,.ledger tbody th,.ledger caption{display:block;width:auto}
  .ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .ledger tbody tr{position:relative;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg2);padding:16px 16px 14px;margin-bottom:14px}
  .ledger td,.ledger tbody th{padding:0}
  .ledger .ld-link{position:absolute;top:10px;right:6px;width:auto}
  .ld-link a{margin:0}
  .ld-item{padding-right:44px!important;margin-bottom:12px}
  .ld-title{font-size:var(--t-h3)}
  .vtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr))}
  .vt{min-width:0;background:var(--bg)}
  .vt-v{font-size:1.75rem;line-height:1.1;overflow-wrap:anywhere}
  .ld-verdict{margin-top:14px}
  .ld-era,.ld-isl{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;margin-top:10px;font-size:var(--t-sm)}
  .ld-k{display:inline-block;color:var(--dim);font-size:var(--t-xs);min-width:4.5em}
  .era-chip{min-height:32px;display:inline-flex;align-items:center}
}

/* ---------- disputed timeline events: a rail, no boxes */
.dl-intro{margin-bottom:16px}
.dlist{list-style:none;margin:0;padding:0;max-width:880px}
.dlist li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:0 22px;position:relative}
.dlist li::before{content:"";position:absolute;left:calc(8.5rem + 10px);top:0;bottom:0;width:2px;background:var(--line-strong)}
.dlist li::after{content:"";position:absolute;left:calc(8.5rem + 5px);top:.7em;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--c,var(--national))}
.dl-when{text-align:right;padding-top:.3em;line-height:1.25}
.dl-when time{display:block;font:400 var(--t-lg)/1.1 var(--display)}
.dl-when span{display:block;font-size:var(--t-xs);color:var(--dim)}
.dl-body{padding:0 0 20px 14px;min-width:0}
.dl-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:28px}
.dl-body > p{margin:.25em 0 .3em}
.dl-src{font-size:var(--t-sm);color:var(--dim);display:flex;flex-wrap:wrap;gap:0 12px;align-items:baseline}
.dl-src a{color:var(--dim);padding-block:6px;display:inline-block}
.dl-src .dl-open{color:var(--blue)}
@media (max-width:640px){
  .dlist li{grid-template-columns:minmax(0,1fr);padding-left:26px}
  .dlist li::before{left:5px}
  .dlist li::after{left:0}
  .dl-when{text-align:left;display:flex;gap:10px;align-items:baseline}
  .dl-when time,.dl-when span{display:inline}
  .dl-body{padding-left:0}
}

/* ---------- gap notes by period */
.gap{border-top:1px solid var(--line)}
.gap:last-child{border-bottom:1px solid var(--line)}
.gap summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:56px;padding:14px 2px}
.gap-t{font:400 var(--t-lg)/1.2 var(--display)}
.gap .prose{padding-bottom:16px}

@media print{.ledger thead th{position:static}.ld-link{display:none}}

/* gap notes cite bare URLs in <code>: let them break anywhere so a 320px screen never scrolls sideways */
.gap .prose code,.gap .prose a{overflow-wrap:anywhere;word-break:break-word}

/* the era menu holds long chapter names: it may shrink to the column at 320px instead of widening the page */
.ldg-filters select.sel{min-width:0;max-width:100%}
