/* Hallmark · genre: editorial · macrostructure: Ecosystem Index (front) + Long Document (records) · theme: Newsprint (tuned) · enrichment: none · nav: N6 · footer: Ft4 · design-system: receipts/design.md · designed-as-app */
/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font: 400 var(--text-base)/1.6 var(--font-body);
  font-feature-settings: "kern", "liga";
}
a { color: inherit; text-decoration-color: var(--color-rule-strong); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { color: var(--color-accent); text-decoration-color: var(--color-accent); }
a, .row-title { transition: color var(--dur-short) var(--ease-out), text-decoration-color var(--dur-short) var(--ease-out); }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

.skip { position: absolute; left: -999px; top: 0; }
.skip:focus { left: var(--gutter); top: var(--space-xs); background: var(--color-paper); padding: var(--space-xs) var(--space-sm); z-index: 10; }

.page { max-width: var(--page-max); margin: 0 auto; padding: 0 var(--gutter); }

/* Masthead (N6) */
.mast { text-align: center; padding-top: var(--space-lg); }
.mast-line {
  display: flex; justify-content: space-between; gap: var(--space-2xs) var(--space-md); flex-wrap: wrap;
  font: 500 var(--text-xs)/1.4 var(--font-figures); color: var(--color-muted);
  border-bottom: var(--rule-hair) solid var(--color-rule); padding-bottom: var(--space-xs);
}
.mast-name { font: 700 clamp(2.75rem, 7vw, 5rem)/0.95 var(--font-display); letter-spacing: -0.03em; margin: var(--space-md) 0 var(--space-2xs); }
.mast-name a { text-decoration: none; }
.mast-name a:hover { color: var(--color-ink); }
.mast-tag { margin: 0; color: var(--color-ink-2); font-size: var(--text-sm); }
.mast-nav ul {
  list-style: none; margin: var(--space-md) 0 0; padding: var(--space-xs) 0;
  display: flex; justify-content: center; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg);
  border-top: var(--rule-hair) solid var(--color-ink); border-bottom: var(--rule-hair) solid var(--color-ink);
}
.mast-nav a { text-decoration: none; font-weight: 600; font-size: var(--text-sm); white-space: nowrap; }
.mast-nav a[aria-current="page"] { color: var(--color-accent); box-shadow: inset 0 -2px 0 var(--color-accent); }
.mast-rule { height: 3px; border-bottom: var(--rule-hair) solid var(--color-ink); margin-bottom: var(--space-xl); }

/* Headings */
h1, h2, h3 { font-family: var(--font-display); font-style: normal; font-weight: 700; letter-spacing: -0.02em; margin: 0; overflow-wrap: anywhere; min-width: 0; }
h1 { font-size: var(--text-display); line-height: 1.02; max-width: 18ch; }
h2 { font-size: var(--text-xl); line-height: 1.1; }
h3 { font-size: var(--text-md); line-height: 1.2; }
.lede { font-size: var(--text-md); line-height: 1.5; color: var(--color-ink-2); max-width: var(--measure); margin: var(--space-md) 0 0; }
.muted { color: var(--color-muted); }
.small { font-size: var(--text-sm); }
.fig { font-family: var(--font-figures); font-variant-numeric: tabular-nums; font-size: 0.92em; letter-spacing: -0.01em; }

/* Front page */
.front-intro { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--space-xl); align-items: end; padding-bottom: var(--space-lg); }
.front-intro .cols { columns: 2 16rem; column-gap: var(--space-lg); text-align: justify; hyphens: auto; color: var(--color-ink-2); margin: var(--space-md) 0 0; }
.tally { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: var(--rule-heavy) solid var(--color-ink); margin: 0; }
.tally div { padding: var(--space-sm) var(--space-xs) 0 0; }
.tally dt { font-size: var(--text-xs); color: var(--color-muted); }
.tally dd { margin: 0; font: 700 var(--text-xl)/1.1 var(--font-display); font-variant-numeric: lining-nums tabular-nums; }

.rail { padding-top: var(--space-xl); }
.rail-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); border-top: var(--rule-heavy) solid var(--color-ink); padding-top: var(--space-xs); margin-bottom: var(--space-2xs); }
.rail-head .more { font-size: var(--text-sm); font-weight: 600; white-space: nowrap; }
.rail-note { margin: 0 0 var(--space-sm); color: var(--color-muted); font-size: var(--text-sm); max-width: var(--measure); }
.rail-pair { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-xl); }

/* Ledger rows */
.ledger { list-style: none; margin: 0; padding: 0; }
.ledger > li { border-bottom: var(--rule-hair) solid var(--color-rule); }
.row-link { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto auto; gap: var(--space-2xs) var(--space-md); align-items: baseline; padding: var(--space-sm) 0; text-decoration: none; }
.row-link:hover .row-title { color: var(--color-accent); }
.row-when { font: 400 var(--text-xs)/1.4 var(--font-figures); color: var(--color-muted); }
.row-title { font-weight: 600; min-width: 0; }
.row-title .sym { font-family: var(--font-display); font-size: var(--text-md); font-weight: 700; margin-right: var(--space-2xs); }
.row-ev { align-self: baseline; }
.handle { color: var(--color-muted); font-weight: 400; }
.row-meta { grid-column: 2 / -1; color: var(--color-ink-2); font-size: var(--text-sm); min-width: 0; overflow-wrap: anywhere; }
.row-state { justify-self: end; text-align: right; }
.ledger .quiet .row-title, .ledger .quiet .row-meta { color: var(--color-muted); }
.ledger .quiet .sym { font-weight: 400; }

.dir { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.dir-bull { color: var(--status-hit); } .dir-bear { color: var(--status-miss); } .dir-conditional { color: var(--status-open); }

/* Stamps: the one tag vocabulary */
.stamp { display: inline-block; font: 600 var(--text-xs)/1.3 var(--font-body); padding: 0.12rem 0.45rem; border: var(--rule-hair) solid currentColor; border-radius: 2px; white-space: nowrap; }
.stamp + .stamp { margin-left: var(--space-2xs); }
.st-open { color: var(--status-open); background: var(--status-open-soft); }
.st-hit { color: var(--status-hit); background: var(--status-hit-soft); }
.st-miss { color: var(--status-miss); background: var(--status-miss-soft); }
.st-quiet { color: var(--status-unscored); }
.st-warn { color: var(--color-ink-2); border-style: dashed; }

/* Index tables */
.index-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.index-table th { text-align: left; font-weight: 600; color: var(--color-muted); font-size: var(--text-xs); padding: 0 var(--space-xs) var(--space-2xs) 0; border-bottom: var(--rule-hair) solid var(--color-ink); }
.index-table td { padding: var(--space-xs) var(--space-xs) var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); vertical-align: baseline; }
.index-table td.num { text-align: right; font-family: var(--font-figures); font-variant-numeric: tabular-nums; }
.index-table th.num { text-align: right; }
.index-table a { font-weight: 600; }

/* Status band */
.status-band { overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--space-sm) var(--space-lg); align-items: center; padding: var(--space-sm) 0 var(--space-md); border-bottom: var(--rule-hair) solid var(--color-rule); }
.status-band p { margin: 0; font-size: var(--text-sm); }
.status-now { font-weight: 600; }
.status-now.down { color: var(--status-miss); }
.status-now.up { color: var(--status-hit); }
.strip { display: flex; gap: 0; height: 1.25rem; overflow: hidden; }
.strip-h { display: none; }
.cell { flex: 1 1 0; min-width: 0; box-shadow: inset -1px 0 0 var(--color-paper); }
.cell-ok { background: var(--status-hit); } .cell-down { background: var(--status-miss); } .cell-unmonitored { background: var(--color-rule); }
.strip-axis { display: flex; justify-content: space-between; font: 400 var(--text-xs)/1.4 var(--font-figures); color: var(--color-muted); margin-top: var(--space-2xs); }
.key { display: flex; gap: var(--space-md); flex-wrap: wrap; font-size: var(--text-xs); color: var(--color-muted); margin-top: var(--space-2xs); }
.key i { display: inline-block; width: 0.6rem; height: 0.6rem; margin-right: var(--space-2xs); vertical-align: -0.05rem; }

/* Record pages (Long Document) */
.record { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 0 var(--space-xl); }
.record > .margin { font: 400 var(--text-xs)/1.5 var(--font-figures); color: var(--color-muted); padding-top: 0.5rem; }
.record > .body { max-width: var(--measure); min-width: 0; }
.record + .record { margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); }
.record h2 { margin-bottom: var(--space-sm); }
.crumb { font-size: var(--text-sm); margin: 0 0 var(--space-md); }

.post { margin: var(--space-lg) 0 var(--space-sm); padding: var(--space-2xs) 0 var(--space-2xs) var(--space-lg); border-left: var(--rule-heavy) solid var(--color-ink); font: 400 var(--text-md)/1.55 var(--font-display); white-space: pre-wrap; overflow-wrap: anywhere; }
.byline { font-size: var(--text-sm); color: var(--color-muted); display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-md); align-items: center; }

.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); margin: var(--space-md) 0; border-top: var(--rule-hair) solid var(--color-ink); }
.facts div { padding: var(--space-xs) var(--space-md) var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); min-width: 0; }
.facts dt { font-size: var(--text-xs); color: var(--color-muted); }
.facts dd { margin: var(--space-3xs) 0 0; font-weight: 600; overflow-wrap: anywhere; }

.spec { width: 100%; border-collapse: collapse; margin: var(--space-md) 0; font-size: var(--text-sm); }
.spec caption { text-align: left; font-size: var(--text-xs); color: var(--color-muted); padding-bottom: var(--space-2xs); }
.spec th { text-align: left; font-size: var(--text-xs); color: var(--color-muted); font-weight: 600; border-bottom: var(--rule-hair) solid var(--color-ink); padding: 0 var(--space-sm) var(--space-2xs) 0; }
.spec td { padding: var(--space-xs) var(--space-sm) var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); vertical-align: baseline; }

.checks { list-style: none; margin: var(--space-sm) 0; padding: 0; }
.checks li { padding: var(--space-sm) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.checks q { display: block; margin: var(--space-2xs) 0; font-family: var(--font-display); font-size: var(--text-md); }
.checks .note { font-size: var(--text-sm); color: var(--color-ink-2); }

.timeline { list-style: none; margin: var(--space-sm) 0; padding: 0; border-left: var(--rule-hair) solid var(--color-ink); }
.timeline li { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--space-sm); padding: var(--space-2xs) 0 var(--space-sm) var(--space-md); position: relative; }
.timeline .fig { white-space: nowrap; }
.timeline li::before { content: ""; position: absolute; left: -4px; top: 0.72rem; width: 7px; height: 7px; background: var(--color-paper); border: var(--rule-hair) solid var(--color-ink); border-radius: 50%; }
.timeline .fig { color: var(--color-muted); margin-right: var(--space-xs); }

.callout { border-top: var(--rule-hair) solid var(--color-ink); border-bottom: var(--rule-hair) solid var(--color-ink); padding: var(--space-sm) 0; margin: var(--space-md) 0; color: var(--color-ink-2); font-size: var(--text-sm); }
.callout strong { color: var(--color-ink); }

/* Decisions */
.desk { list-style: none; margin: 0; padding: 0; }
.desk > li { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: var(--space-xs) var(--space-md); padding: var(--space-md) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.desk .verdict { font: 700 var(--text-lg)/1 var(--font-display); }
.desk .verdict small { display: block; font: 600 var(--text-xs)/1.4 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; margin-top: var(--space-2xs); }
.v-follow small { color: var(--status-hit); } .v-decline small { color: var(--color-ink); } .v-no_signal small { color: var(--status-unscored); }
.desk p { margin: 0; }
.desk ul { margin: var(--space-2xs) 0 0; padding-left: var(--space-md); color: var(--color-ink-2); font-size: var(--text-sm); }
.desk details { margin-top: var(--space-xs); font-size: var(--text-sm); color: var(--color-muted); }
.desk summary { cursor: pointer; }

/* Colophon (Ft4) */
.colophon { margin-top: var(--space-3xl); padding: var(--space-md) 0 var(--space-2xl); border-top: var(--rule-heavy) solid var(--color-ink); font: 400 var(--text-xs)/1.7 var(--font-figures); color: var(--color-muted); }

@media (max-width: 860px) {
  .front-intro, .rail-pair, .status-band { grid-template-columns: minmax(0, 1fr); }
  .record { grid-template-columns: minmax(0, 1fr); }
  .record > .margin { padding-top: 0; margin-bottom: var(--space-2xs); }
}
@media (max-width: 560px) {
  .row-link { grid-template-columns: minmax(0, 1fr) auto; }
  .row-when, .row-meta { grid-column: 1 / -1; }
  .mast-line { justify-content: center; }
  .front-intro .cols { columns: 1; text-align: left; }
  .desk > li { grid-template-columns: minmax(0, 1fr); }
  .tally dd { font-size: var(--text-lg); }
  .index-table .hide-sm { display: none; }
}
.band-label { font: 600 var(--text-sm)/1.4 var(--font-body); letter-spacing: 0; margin-bottom: var(--space-2xs); }
.sub { margin-top: var(--space-lg); }
.gap-row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-md); padding: var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }

/* Iteration 2 components */
.hero { padding-bottom: var(--space-md); }
.hero .lede { max-width: 60ch; }
.figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 44rem; margin: var(--space-lg) 0 var(--space-md); border-top: var(--rule-heavy) solid var(--color-ink); }
.figures div { padding: var(--space-xs) var(--space-sm) 0 0; }
.figures dt { font-size: var(--text-xs); color: var(--color-muted); }
.figures dd { margin: 0; font: 700 var(--text-xl)/1.1 var(--font-display); font-variant-numeric: lining-nums tabular-nums; }
.figures dd small { font: 400 var(--text-xs)/1 var(--font-body); color: var(--color-muted); }

.legend { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); margin: 0 0 var(--space-sm); font-size: var(--text-xs); color: var(--color-muted); }
.legend div { display: flex; align-items: center; gap: var(--space-xs); }
.legend dd { margin: 0; }
.st-wait { color: var(--status-open); background: repeating-linear-gradient(135deg, var(--color-paper) 0 4px, var(--status-open-soft) 4px 8px); border-style: dashed; }
.ev { font: 500 var(--text-xs)/1.3 var(--font-body); color: var(--color-ink-2); border-bottom: 1px dashed var(--color-rule-strong); white-space: nowrap; }
.ev-good { color: var(--status-hit); border-bottom-style: solid; border-bottom-color: currentColor; }
.why { color: var(--color-muted); }
.row-title .muted { font-weight: 400; }

.compact > li { border-bottom: var(--rule-hair) solid var(--color-rule); }
.quiet-link { display: grid; grid-template-columns: 7.5rem minmax(0, 14rem) minmax(0, 1fr); gap: var(--space-2xs) var(--space-md); align-items: baseline; padding: var(--space-2xs) 0; text-decoration: none; font-size: var(--text-sm); color: var(--color-ink-2); }
.quiet-link:hover strong { color: var(--color-accent); }
.jump { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); font-size: var(--text-sm); font-weight: 600; margin: var(--space-sm) 0 0; }

.tokens .split-h { padding-left: var(--space-lg); }
.split-c { padding-left: var(--space-lg) !important; white-space: nowrap; }
.split { display: inline-flex; width: 7rem; max-width: 100%; height: 0.55rem; vertical-align: middle; margin-right: var(--space-xs); background: var(--color-paper-2); }
.split i { display: block; height: 100%; flex-basis: 0; }
.s-bull { background: var(--status-hit); } .s-bear { background: var(--status-miss); } .s-cond { background: var(--status-open); }
.split-n { color: var(--color-muted); font-size: var(--text-xs); }

.vword { display: block; font: 600 var(--text-xs)/1.4 var(--font-body); letter-spacing: 0.06em; text-transform: uppercase; margin-top: var(--space-2xs); }
.index-table .vword { display: inline; margin: 0; }
.v-follow { color: var(--status-hit); } .v-decline { color: var(--color-ink); } .v-no_signal { color: var(--status-unscored); }
.desk .verdict { font: 700 var(--text-lg)/1 var(--font-display); }

.checklist { border-collapse: collapse; margin: var(--space-sm) 0 var(--space-2xs); font-size: var(--text-sm); }
.checklist th { font-weight: 600; font-size: var(--text-xs); color: var(--color-muted); text-align: center; padding: 0 var(--space-sm) var(--space-2xs); border-bottom: var(--rule-hair) solid var(--color-ink); }
.checklist th:first-child { text-align: left; padding-left: 0; }
.checklist td { padding: var(--space-2xs) var(--space-sm); border-bottom: var(--rule-hair) solid var(--color-rule); }
.checklist td:first-child { padding-left: 0; }
.checklist .mark { text-align: center; font-family: var(--font-figures); font-weight: 600; }
.mark.yes { color: var(--status-hit); } .mark.no { color: var(--status-miss); }
.token-reasons:empty { display: none; }

.verdict-line { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2xs) var(--space-md); margin: var(--space-md) 0 0; font-size: var(--text-sm); color: var(--color-ink-2); }
.ladder { margin: var(--space-lg) 0 var(--space-xl); }
.axis { position: relative; height: 5rem; border-bottom: var(--rule-hair) solid var(--color-ink); margin: 0 var(--space-xl) 3rem; }
.lv { position: absolute; bottom: 0; min-width: 2px; height: 0.7rem; background: var(--color-ink-2); }
.lv-target { background: var(--status-hit); } .lv-invalidation, .lv-stop { background: var(--status-miss); } .lv-trigger { background: var(--status-open); }
.lv-support, .lv-resistance, .lv-entry { background: var(--color-rule-strong); }
.lv-band { height: 0.7rem; opacity: 1; background: repeating-linear-gradient(135deg, var(--status-hit-soft) 0 3px, var(--status-hit) 3px 4px); }
.lv-band.lv-invalidation, .lv-band.lv-stop { background: repeating-linear-gradient(135deg, var(--status-miss-soft) 0 3px, var(--status-miss) 3px 4px); }
.lv-band.lv-support, .lv-band.lv-resistance, .lv-band.lv-trigger, .lv-band.lv-entry { background: repeating-linear-gradient(135deg, var(--color-paper-2) 0 3px, var(--color-rule-strong) 3px 4px); }
.lv-label { position: absolute; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; line-height: 1.1; white-space: nowrap; }
.lv-label.tier-0 { bottom: 1rem; } .lv-label.tier-1 { bottom: 2.9rem; }
.lv-label b { font: 600 var(--text-xs)/1.2 var(--font-figures); }
.lv-label small { font: 600 0.72rem/1.2 var(--font-body); font-variant-caps: all-small-caps; letter-spacing: 0.04em; color: var(--color-muted); }
.mk { position: absolute; bottom: -1px; width: 1px; height: 0; }
.mk::before { content: ""; position: absolute; left: -5px; top: 0; border: 5px solid transparent; border-bottom: 7px solid var(--color-ink); transform: translateY(-100%); }
.mk-last::before { border-bottom-color: var(--status-open); }
.mk span { position: absolute; top: var(--space-xs); transform: translateX(-50%); font: 600 var(--text-xs)/1.2 var(--font-figures); white-space: nowrap; }
.mk-last span { color: var(--status-open); top: calc(var(--space-xs) + 1.15rem); }
.axis-end { position: absolute; bottom: -1.35rem; font: 400 0.72rem/1 var(--font-figures); color: var(--color-muted); }
.axis-lo { left: 0; transform: translateX(-100%); padding-right: var(--space-2xs); bottom: -0.35rem; }
.axis-hi { right: 0; transform: translateX(100%); padding-left: var(--space-2xs); bottom: -0.35rem; }

.rules { margin: var(--space-md) 0 0; padding-left: var(--space-lg); max-width: var(--measure); color: var(--color-ink-2); }
.rules li { padding: var(--space-3xs) 0; }
.analysts-list { display: none; }

@media (max-width: 860px) {
  .strip-q { display: none; }
  .strip-h { display: flex; }
}
@media (max-width: 560px) {
  .mast { padding-top: var(--space-md); }
  .mast-name { font-size: 2.6rem; margin-top: var(--space-sm); }
  .mast-tag { display: none; }
  .mast-nav ul { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; gap: var(--space-lg); -webkit-mask-image: linear-gradient(90deg, var(--color-ink) 85%, transparent); mask-image: linear-gradient(90deg, var(--color-ink) 85%, transparent); }
  .mast-rule { margin-bottom: var(--space-lg); }
  .figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .figures div:nth-child(n+3) { padding-top: var(--space-sm); }
  .analysts-table { display: none; }
  .analysts-list { display: block; }
  .quiet-link { grid-template-columns: minmax(0, 1fr); gap: 0; padding: var(--space-xs) 0; }
  .row-title .ev { display: inline-block; margin-top: var(--space-3xs); }
  .row-state { align-self: start; }
  .timeline li { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lv-label { font-size: 0.7rem; }
  .split { width: 4rem; }
}

/* Iteration 3 */
.date { font-size: var(--text-lg) !important; padding-top: 0.35rem; }
.legend-box { margin: 0 0 var(--space-sm); font-size: var(--text-xs); color: var(--color-muted); }
.legend-box summary { cursor: pointer; font-weight: 600; margin-bottom: var(--space-2xs); }
.legend-box[open] summary { margin-bottom: var(--space-xs); }
.rules-compact { font-size: var(--text-sm); padding-left: var(--space-lg); margin: 0 0 var(--space-sm); }
.kb { display: inline-block; width: 0.75rem; height: 0.5rem; vertical-align: 0.05rem; margin-left: var(--space-xs); }
.tokens .split-c { width: 40%; }
.nowrap { white-space: nowrap; }
.gaps td.num, .gaps th.num { width: 6rem; }
.specimen .steps { list-style: none; margin: var(--space-sm) 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-lg); counter-reset: step; }
.specimen .steps li { counter-increment: step; border-top: var(--rule-hair) solid var(--color-ink); padding-top: var(--space-xs); }
.specimen .steps h3 { font-size: var(--text-md); margin-bottom: var(--space-xs); }
.specimen .steps h3::before { content: counter(step) " · "; color: var(--color-muted); font-family: var(--font-figures); font-weight: 400; font-size: var(--text-sm); }
.specimen .steps p { margin: 0 0 var(--space-xs); font-size: var(--text-sm); }
.specimen .said { font-family: var(--font-display); font-size: var(--text-base) !important; }
@media (max-width: 860px) { .specimen .steps { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .row-link { grid-template-columns: minmax(0, 1fr) auto; }
  .row-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .row-ev { grid-column: 1 / -1; grid-row: 3; }
  .row-state { grid-row: 2; grid-column: 2; }
  .row-title { grid-row: 2; grid-column: 1; }
  .axis { margin-left: var(--space-lg); margin-right: var(--space-lg); }
  .lv-label b { font-size: 0.68rem; }
  .tokens .split-c { width: 30%; }
}
@media (max-width: 560px) { .gaps .nowrap { white-space: normal; } .gaps td.num, .gaps th.num { width: auto; } }
@media (max-width: 560px) { .checklist { width: 100%; table-layout: fixed; } .checklist th { font-size: 0.66rem; padding: 0 2px var(--space-2xs); overflow-wrap: anywhere; } .checklist th:first-child, .checklist td:first-child { width: 34%; } .checklist td { padding: var(--space-2xs) 2px; overflow-wrap: anywhere; } }

/* Iteration 4 */
.tk { font-family: var(--font-display); font-weight: 700; font-size: 1.12em; letter-spacing: -0.01em; }
.row-title .tk { font-size: var(--text-md); margin-right: var(--space-2xs); }
.status-key { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-lg); font-size: var(--text-xs); color: var(--color-muted); margin: var(--space-sm) 0 0; }
.nw { white-space: nowrap; }
.status-key .stamp, .status-key .ev { margin-right: var(--space-2xs); }
.promise { margin: var(--space-sm) 0 0; font-size: var(--text-sm); color: var(--color-ink-2); max-width: 60ch; }
.figures { max-width: 60ch; }
.figures .aside { border-left: var(--rule-hair) solid var(--color-rule); padding-left: var(--space-sm); }
.v-decline { color: var(--color-ink); border: var(--rule-hair) solid var(--color-ink); padding: 0.05rem 0.35rem; border-radius: 2px; display: inline-block; }
.desk .verdict .vword { display: inline-block; margin-top: var(--space-2xs); }
.rule-tag { font: 600 var(--text-xs)/1.3 var(--font-figures); color: var(--color-ink-2); background: var(--color-paper-2); padding: 0.05rem 0.35rem; border-radius: 2px; white-space: nowrap; }
.lead-reason { font-weight: 600; }
.desk-table td { vertical-align: top; }
.checklist .abbr { display: none; }
.group { border-bottom: var(--rule-hair) solid var(--color-rule); }
.group summary { cursor: pointer; padding: var(--space-xs) 0; display: flex; gap: var(--space-sm); align-items: baseline; }
.group-name { font-weight: 600; }
.group[open] summary { border-bottom: var(--rule-hair) solid var(--color-ink); }
.gutter { padding-left: var(--space-lg) !important; }
.record .ladder { margin-top: var(--space-sm); }
.record .post { margin-top: 0; }
h2 .stamp, h2 .ev { vertical-align: 0.35em; margin-left: var(--space-xs); font-size: var(--text-xs); }
@media (max-width: 560px) {
  .checklist .full { display: none; }
  .checklist .abbr { display: inline; }
  .checklist th { font-size: var(--text-xs); }
  .axis-lo, .axis-hi { transform: none; bottom: -2.6rem; padding: 0; }
  .axis-lo { left: 0; } .axis-hi { right: 0; }
  .axis { margin-left: var(--space-sm); margin-right: var(--space-sm); margin-bottom: 3.6rem; }
  .figures .aside { border-left: 0; padding-left: 0; }
  .desk-table th:nth-child(4), .desk-table td:nth-child(4) { display: none; }
}
.verdict-line { margin-bottom: var(--space-xl); }

/* Iteration 5 */
.show-sm { display: none; }
.row-fig { color: var(--color-muted); font-size: var(--text-xs); margin-right: var(--space-xs); white-space: nowrap; }
.stalled { color: var(--status-miss); font-size: var(--text-xs); font-weight: 600; text-decoration-color: currentColor; }
.summary-line { margin: 0 0 var(--space-xs); padding: var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.summary-line .vword { display: inline-block; margin: 0 var(--space-xs) 0 0; }
.tk-list { margin-right: var(--space-xs); }
.checklist { width: 100%; max-width: 44rem; table-layout: fixed; }
.checklist .c-who { width: 30%; } .checklist .c-when { width: 20%; } .checklist .c-mark { width: 10%; }
.checklist td.when { white-space: nowrap; color: var(--color-muted); font-size: var(--text-xs); }
.checklist td.who { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.status-key { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--space-2xs) var(--space-lg); margin: var(--space-sm) 0 0; max-width: 60rem; }
.status-key div { display: flex; align-items: baseline; gap: var(--space-xs); }
.status-key dt { flex: none; } .status-key dd { margin: 0; }
.group summary { list-style: none; justify-content: space-between; }
.group summary::-webkit-details-marker { display: none; }
.group summary::before { content: "▸"; color: var(--color-muted); margin-right: var(--space-xs); transition: transform var(--dur-short) var(--ease-out); display: inline-block; }
.group[open] summary::before { transform: rotate(90deg); }
.group-name { flex: 1; }
.group-count { color: var(--color-muted); min-width: 3ch; text-align: right; }
.split i { min-width: 3px; }
.mk-row { display: none; }
.record .body > h2 + .ladder { margin-top: var(--space-md); }
.record h2 { font-size: var(--text-xl); }
.record h3 { font-size: var(--text-md); }
.strip-h.never { display: none !important; }
@media (max-width: 860px) {
  .strip-q.keep { display: flex; }
}
@media (max-width: 560px) {
  .show-sm { display: inline; }
  .desk .verdict { display: flex; align-items: baseline; gap: var(--space-sm); }
  .row-fig { display: none; }
  .mk span, .axis-end { display: none; }
  .mk-row { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-md); font-size: var(--text-xs); margin: var(--space-xs) 0 0; }
  .mk-last-t { color: var(--status-open); }
  .axis { margin: 0 var(--space-md) var(--space-sm); }
  .checklist .c-who { width: 34%; } .checklist .c-when { display: none; }
  .checklist th:nth-child(2), .checklist td.when { display: none; }
  .status-key { grid-template-columns: minmax(0, 1fr); }
  .summary-line .tk-list { display: block; margin: var(--space-2xs) 0; }
}
@media (max-width: 560px) { .gaps { font-size: 0.72rem; } .gaps .stamp { font-size: 0.68rem; padding: 0.1rem 0.3rem; white-space: normal; } .gaps td { padding-right: var(--space-2xs); } }

/* Iteration 6 */
.row-fig-sm { display: none; }
.stalled { color: var(--color-ink-2); font-weight: 400; }
.stalled a { color: inherit; }
.status-key { grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr)); max-width: none; }
.figures { max-width: none; }
.rule-sentence { font-size: var(--text-md); line-height: 1.45; color: var(--color-ink); }
.plain-list { list-style: none; padding: 0; }
.plain-list li { padding: var(--space-3xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.rule-tag { font: 600 var(--text-xs)/1.3 var(--font-body); background: none; padding: 0; border-radius: 0; color: var(--color-ink); font-variant-caps: all-small-caps; letter-spacing: 0.05em; }
.checklist th { text-align: center; } .checklist th.l { text-align: left; }
.checklist th:nth-child(5) { padding-left: var(--space-sm); }
.token-key { margin-top: calc(-1 * var(--space-xs)); }
@media (max-width: 560px) {
  .row-fig-sm { display: block; grid-column: 1 / -1; color: var(--color-muted); font-size: var(--text-xs); }
  .analysts-list strong { text-decoration: underline; text-decoration-color: var(--color-rule-strong); text-underline-offset: 0.18em; }
  .analysts-list strong::after { content: " →"; text-decoration: none; }
}

/* Iteration 7 */
.timeline li.t-gap::before { background: repeating-linear-gradient(45deg, var(--color-muted) 0 1px, var(--color-paper) 1px 3px); border-color: var(--color-muted); }
.timeline li.t-gap span:last-child { color: var(--color-muted); }
.mk-last::before { border: 2px solid var(--status-open); background: var(--color-paper); width: 9px; height: 9px; border-radius: 50%; left: -6.5px; top: 1px; transform: translateY(-50%); box-sizing: border-box; }
.mk-last::after { content: ""; position: absolute; left: 0; bottom: 4px; height: 2.4rem; border-left: 1px dashed var(--status-open); }
.mk-last-t::before { content: "● "; }
.mk-baseline-t::before, .mk-base-t::before { content: "▲ "; }
@media (max-width: 640px) {
  .lv-label small { display: none; }
  .lv-label.tier-1 { bottom: 2.2rem; }
}
.nw { white-space: nowrap; }
@media (max-width: 640px) {
  .row-title { white-space: normal; overflow: visible; }
  .row-title .handle { white-space: nowrap; }
  .checklist td.who { white-space: normal; overflow-wrap: anywhere; }
}
.statebar { display: flex; width: 7rem; height: 0.55rem; border: var(--rule-hair) solid var(--color-ink); gap: 1px; background: var(--color-ink); vertical-align: middle; }
.analysts-list .statebar { margin-top: var(--space-2xs); }
.sb-resolved { background: var(--color-ink); }
.sb-tracking { background: var(--status-open); }
.sb-paused, .sb-waiting { background: repeating-linear-gradient(45deg, var(--status-open) 0 1px, var(--color-paper) 1px 3px); }
.sb-waiting { background: repeating-linear-gradient(45deg, var(--color-muted) 0 1px, var(--color-paper) 1px 4px); }
.sb-paths { background: var(--color-rule, var(--color-muted)); }
.statebar-key { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-md); margin: var(--space-xs) 0 var(--space-md); color: var(--color-muted); }
.statebar-key .kb { display: inline-block; width: 0.8rem; height: 0.55rem; border: var(--rule-hair) solid var(--color-ink); vertical-align: middle; }
/* Iteration 8 */
.checklist td.nc { white-space: nowrap; font-size: var(--text-xs); }
a.status-now { text-decoration: none; }
.ladder figcaption { margin-top: var(--space-lg); }
@media (min-width: 641px) { .figures { grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); } }
@media (max-width: 640px) {
  .mast-nav ul { flex-wrap: wrap; justify-content: center; overflow: visible; gap: var(--space-2xs) var(--space-md); -webkit-mask-image: none; mask-image: none; }
  .lv-label.tier-1 { bottom: 2.6rem; }
}
.sb-waiting { background: color-mix(in oklch, var(--color-muted) 35%, var(--color-paper)); }
.cell-partial { background: repeating-linear-gradient(45deg, var(--status-miss) 0 1.5px, var(--color-paper) 1.5px 3.5px); }
.key i.cell-partial { background: repeating-linear-gradient(45deg, var(--status-miss) 0 1.5px, var(--color-paper) 1.5px 3.5px); }
/* Iteration 9: one marker per meaning — ▲ baseline (ink), ● last price (accent), no dashed stem */
.mk-baseline::before { border: 6px solid transparent; border-bottom: 9px solid var(--color-ink); left: -6px; transform: translateY(-100%); background: none; border-radius: 0; width: 0; height: 0; }
.mk-last::before { border: 0; background: var(--status-open); width: 9px; height: 9px; border-radius: 50%; left: -4.5px; top: 0; transform: translateY(-50%); }
.mk-last::after { content: none; }
.cap-key > span { margin-left: var(--space-sm); white-space: nowrap; }
.mk-last-t::before { content: "● "; color: var(--status-open); }
.mk-baseline-t::before { content: "▲ "; color: var(--color-ink); }
@media (max-width: 640px) { .cap-key { display: none; } }
.gaps code { overflow-wrap: anywhere; word-break: break-word; }
/* Mark beside the wordmark: sits on the baseline, drops on phones */
.mast-name a { display: inline-flex; align-items: center; gap: 0.18em; }
.mast-mark { width: 0.72em; height: 0.72em; margin-bottom: 0.04em; }
@media (max-width: 640px) { .mast-mark { width: 0.8em; height: 0.8em; } }
.mast-name a { gap: 0.02em; }
.mast-mark { width: 1.05em; height: 1.05em; margin: -0.1em 0 0 -0.2em; }
@media (max-width: 640px) { .mast-mark { width: 1.1em; height: 1.1em; } }
/* Against the crowd */
.crowd-tally { font-size: var(--text-md, 1.05rem); margin: var(--space-sm) 0; }
.crowd-table tr.differs td:first-child { box-shadow: inset 3px 0 0 var(--color-accent); padding-left: var(--space-sm); }
.crowd-table td { vertical-align: top; }
@media (max-width: 640px) {
  .crowd-table thead { display: none; }
  .crowd-table tr { display: grid; grid-template-columns: auto 1fr; gap: 0 var(--space-sm); padding: var(--space-xs) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
  .crowd-table td { display: block; border: 0; padding: 0; }
  .crowd-table td:nth-child(2) { text-align: left; }
  .crowd-table td:nth-child(3)::before { content: "Majority: "; color: var(--color-muted); font-size: var(--text-xs); }
  .crowd-table td:nth-child(4)::before { content: "Agent: "; color: var(--color-muted); font-size: var(--text-xs); }
  .crowd-table td:nth-child(5) { grid-column: 1 / -1; }
}
