/* k26polls — view: the archive.
 *
 * Namespaced .arch-*; every colour is a token from assets/teca.css and no new value is
 * introduced. Two inherited rules are load-bearing and easy to undo by accident:
 *   1. NO border-radius. The scheme is hairline-ruled throughout.
 *   2. Weights stop at 600.
 * A third is specific to this view: --mark is a NON-TEXT token (2.11:1 on the ground). The
 * mockup sets every caption in it; here every one of those is --muted.
 */

.arch{max-width:100%}

.arch-kicker{font-size:12.5px;color:var(--muted);margin-bottom:4px}
.arch-h1{font-size:26px;font-weight:500;color:var(--steel-900);margin:0 0 10px}
.arch .view-sub{font-size:14.5px;line-height:1.75;max-width:104ch;margin-bottom:12px}

/* ---- the ledger --------------------------------------------------------------------- */

.arch-table{table-layout:auto}
.arch-table thead th{white-space:nowrap}
.arch-table thead th:nth-child(3),
.arch-table thead th:nth-child(4){text-align:end}

.arch-table tbody th.arch-who{
  text-align:start;vertical-align:top;background:transparent;
  font-size:13.5px;font-weight:400;color:var(--ink);
  padding:12px 14px;border-bottom:1px solid var(--line-faint);
  min-width:14em;
}
.arch-table tbody td{vertical-align:top}

.arch-inst{display:block;font-size:15px;font-weight:600;color:var(--steel-900);
  line-height:1.35}
.arch-field{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.5}
.arch-seq{margin-top:5px;font-size:11.5px;color:var(--muted)}
.arch-sub{margin-top:4px;font-size:11.5px;color:var(--muted);line-height:1.6;max-width:60ch}

.arch-filed{white-space:nowrap;font-size:13px;color:var(--steel-500)}
.arch-n,.arch-moe{text-align:end;font-size:14px;color:var(--ink)}
.arch-what{min-width:22em}
.arch-doc{min-width:11em}

/* Three kinds of absence, three treatments — never let these converge. Both are TEXT and
   both are readable: an em-dash would collapse "the document does not publish it" into
   "the document states it, but no cell binds it", which the record distinguishes. */
.arch-absent{color:var(--muted);font-size:12.5px;line-height:1.55;
  display:inline-block;text-align:start}
.arch-unbound{color:var(--rose-text);font-size:12.5px;line-height:1.55;
  display:inline-block;text-align:start}
.arch-n .arch-absent,.arch-n .arch-unbound,
.arch-moe .arch-absent,.arch-moe .arch-unbound{max-width:12em}

/* ---- what the report contains --------------------------------------------------------- */

.arch-line{font-size:12.5px;line-height:1.65;color:var(--steel-500);max-width:66ch;
  margin-top:4px}
.arch-line:first-child{margin-top:0}
.arch-obs{font-size:12px;line-height:1.65;color:var(--muted);max-width:66ch;margin-top:7px}
.arch-obs-label{color:var(--steel-500)}
.arch-what .finding{margin-top:7px}
.arch-what .finding:first-child{margin-top:0}

.arch-quarantine{max-width:66ch}
.arch-unread{font-size:12.5px;line-height:1.65;color:var(--muted);max-width:66ch;
  margin-top:7px;padding:9px 12px;background:var(--surface-alt);
  border-inline-start:3px solid var(--line-soft)}
.arch-rules{margin-top:7px;font-size:12px;color:var(--steel-500)}

/* ---- details ---------------------------------------------------------------------------
   Native <details>: Tab reaches the summary, Enter and Space toggle it. No tabindex and no
   role override, so nothing has to be re-implemented and nothing can drift out of sync. */

.arch-more{margin-top:9px}
.arch-summary{font-size:12px;color:var(--teal-text);cursor:pointer;
  display:inline-block;padding:2px 0}
.arch-summary:hover{color:var(--teal-dark)}

.arch-dl{margin:8px 0 0;padding:9px 12px;background:var(--surface-alt);
  border-inline-start:1px solid var(--line-soft);
  display:grid;grid-template-columns:minmax(7em,auto) 1fr;gap:4px 12px;
  font-size:12px;line-height:1.6;max-width:72ch}
.arch-dl dt{color:var(--muted)}
.arch-dl dd{margin:0;color:var(--steel-700)}
.arch-cite{color:var(--muted)}

.arch-gate{margin:8px 0 0;padding-inline-start:1.2em;font-size:12px;line-height:1.6;
  color:var(--steel-500);max-width:72ch}
.arch-gate li{margin-bottom:6px}

/* ---- the document ---------------------------------------------------------------------- */

.arch-src{font-size:12.5px;display:inline-block}
.arch-fp{margin-top:6px;font-size:11px;line-height:1.5;color:var(--muted)}
.arch-fp-label{display:block}
/* The full hash is real, selectable text. Not a title tooltip: a tooltip is reachable by
   neither keyboard nor screen reader, and a truncated hash verifies nothing. */
.arch-sha{display:block;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:10.5px;color:var(--steel-500);overflow-wrap:anywhere;word-break:break-all;
  max-width:22em}

/* ---- a filing that is in the archive but whose numbers are not shown -------------------- */

.arch-row.is-quarantined > th,
.arch-row.is-quarantined > td{background:var(--surface-alt)}

.arch-notes{margin-top:4px}
/* Same fix as .insts-footnotes, same reason: an 80ch block in a 1140px row left 600px
   empty, and in RTL all of it collected on one side. Two columns fill the row and hold
   the measure near 80ch; one column below 900px, where two would be too narrow to be
   worth it. */
.arch-notes .footnotes{margin-top:10px;max-width:none;columns:2;column-gap:40px}
.arch-notes .footnotes p{margin-block-end:10px}
@media (max-width:900px){
  .arch-notes .footnotes{columns:1;max-width:80ch}
}
.arch-notes .footnotes:first-child{margin-top:16px}

/* ---- narrow screens ---------------------------------------------------------------------
   Below 940px the ledger stacks. The per-cell labels are REAL TEXT NODES present in the DOM
   at every width — not CSS `content:` — so they survive with CSS disabled and are announced
   reliably. .table-wrap keeps its overflow-x as belt and braces; the body never scrolls
   sideways.

   The breakpoint was 760px, which was a guess and was 160px short. The six columns declare
   14em + 22em + 11em of minimum plus three numeric columns; measured, the table cannot draw
   below 862px, and the shell's gutters put that at a 922px viewport — 940 here, for slack
   against a fallback font. So between 760 and 922, which is to say at every tablet and
   768px included, the ledger stayed a table and pushed 171px of itself into a horizontal
   scroll, on the one view that is mostly prose. */

.arch-cell-label{display:none}

@media (max-width:940px){
  .arch-table,
  .arch-table thead,
  .arch-table tbody,
  .arch-table tr,
  .arch-table th,
  .arch-table td{display:block;width:auto}

  .arch-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

  .arch-table tbody tr{border-bottom:1px solid var(--line);padding:4px 0 10px}
  .arch-table tbody tr:last-child{border-bottom:0}

  .arch-table tbody th.arch-who{min-width:0;border-bottom:0;padding-bottom:2px}
  .arch-table tbody td{border-bottom:0;padding:6px 14px;text-align:start}
  .arch-table tbody td.arch-n,
  .arch-table tbody td.arch-moe{text-align:start}

  .arch-cell-label{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
  /* inside the row header the label sits above the field dates, not above the institute */
  .arch-who .arch-cell-label{margin-top:6px}

  .arch-what,.arch-doc{min-width:0}
  .arch-dl{grid-template-columns:1fr;gap:0 0}
  .arch-dl dt{margin-top:6px}
  .arch-sha{max-width:100%}
  .arch-h1{font-size:22px}
}

/* No transitions and no animation are declared anywhere in this view, so
   prefers-reduced-motion is honoured without a query. */

/* A document the Committee replaced at the same URL. Marked, because every other line in
   the cell is a statement about a document, and this line says WHICH document.
   --rose-text is this site's findings colour; --warn and --edge-soft belong to the admin
   surface and resolve to nothing here, which would have drawn no rule at all. */
.arch-replaced{border-inline-start:3px solid var(--rose-mid);padding-inline-start:8px;
  font-weight:600;color:var(--rose-text)}
.arch-replaced-item{border-inline-start:3px solid var(--line-soft);padding-inline-start:8px}
