/* Foretold design language: "the public ledger of the future" (docs/DESIGN.md).
   White paper, black ink, one seal-red reserved for the Oracle and seals. Single light theme. */
/* Fonts are self-hosted (no requests to Google). Latin + Turkish subsets; licenses in public/fonts/LICENSE-*.txt (SIL OFL). */
@font-face { font-family: "Inter"; src: url("../fonts/inter.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: optional; }
@font-face { font-family: "Source Serif 4"; src: url("../fonts/source-serif-4-italic.woff2") format("woff2"); font-weight: 400 500; font-style: italic; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }

:root {
  --paper: #ffffff;
  --wash: #f5f5f2;
  --ink: #111111;
  --ink-2: #5b5b58;
  --ink-3: #6f6f6a;
  --rule: #e4e4e0;
  --seal: #c92a1b;
  --seal-wash: #fdf0ee;

  /* Quora layout: content in serif (Tiempos ≈ Source Serif 4), interface in sans (Neutral ≈ Inter) */
  --f-ui: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --f-head: "Source Serif 4", Georgia, "Times New Roman", serif;
  --f-read: "Source Serif 4", Georgia, "Times New Roman", serif;
  --f-ledger: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --hatch: repeating-linear-gradient(135deg, var(--ink) 0 1.4px, transparent 1.4px 5.5px);
  --hatch-paper: repeating-linear-gradient(135deg, var(--paper) 0 1.4px, transparent 1.4px 5.5px);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--f-ui);
  font-size: 15.5px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, input { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--seal); outline-offset: 2px; }
.ledger {
  font-family: var(--f-ledger);
  font-size: 11.5px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}
.ledger b { color: var(--ink); font-weight: 600; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Header ---------- */
.bar { position: sticky; top: 0; z-index: 6; background: var(--paper); border-bottom: 1px solid var(--ink); }
.bar-inner { max-width: 1280px; margin-inline: auto; padding: 12px 20px; display: flex; align-items: center; gap: 24px; }
.wordmark { display: inline-flex; align-items: baseline; gap: 2px; text-decoration: none; font-weight: 700; font-size: 22px; letter-spacing: -.035em; flex: none; }
.wordmark i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--seal); margin-left: 1px; }
.search { flex: 1 1 auto; max-width: 420px; min-width: 0; display: flex; align-items: center; gap: 8px; background: var(--wash); border-radius: 4px; padding: 8px 12px; color: var(--ink-3); }
.search input { border: 0; outline: 0; background: transparent; width: 100%; min-width: 0; color: var(--ink); }
.bar-nav { display: flex; gap: 22px; margin-left: auto; font-size: 13.5px; font-weight: 600; }
.bar-nav a { text-decoration: none; color: var(--ink-2); }
.bar-nav a[aria-current] { color: var(--ink); box-shadow: 0 2px 0 var(--ink); }
.btn { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid var(--ink); background: var(--paper); border-radius: 4px; padding: 7px 12px; font-size: 13.5px; font-weight: 700; text-decoration: none; cursor: pointer; }
.btn:hover:not([aria-disabled="true"]) { background: var(--ink); color: var(--paper); }
.btn-solid { background: var(--ink); color: var(--paper); }
.btn i { width: 7px; height: 7px; border-radius: 50%; background: var(--seal); }
.btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.demo-note { max-width: 1280px; margin-inline: auto; padding: 8px 20px 0; font-size: 12.5px; color: var(--ink-3); }

/* ---------- Time Rail ---------- */

/* ---------- Page grid ---------- */
.page { max-width: 1280px; margin-inline: auto; padding: 28px 20px 72px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.page.single { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
.right { display: grid; gap: 28px; position: sticky; top: 74px; }

/* ---------- Claim header ---------- */
.claim-ledger { display: flex; gap: 6px 16px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--ink); }
.claim-ledger a { text-decoration: none; }
.claim-ledger a:hover { text-decoration: underline; }
.claim-title { margin: 22px 0 14px; font-size: clamp(30px, 1.2rem + 2.6vw, 48px); line-height: 1.02; font-weight: 700; letter-spacing: -.035em; text-wrap: balance; max-width: 20ch; }
.criteria { margin: 0; font-family: var(--f-read); font-size: 18px; line-height: 1.5; color: var(--ink-2); max-width: 62ch; }
.criteria b { color: var(--ink); font-weight: 600; }

.scoreboard { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: end; gap: 8px 40px; margin-top: 30px; }
.score { display: grid; gap: 2px; }
.score-num { font-weight: 700; font-size: clamp(64px, 3rem + 4vw, 104px); line-height: .82; letter-spacing: -.02em; font-variant-numeric: tabular-nums; display: flex; align-items: flex-start; }
.score-num sup { font-size: .34em; margin-left: 4px; margin-top: .3em; font-weight: 700; }
.score-num.none { color: var(--ink-3); }
.score.oracle .ledger, .score.oracle .score-num { color: var(--seal); }
.countdown { justify-self: end; text-align: right; display: grid; gap: 4px; }
.countdown-digits { font-family: var(--f-ledger); font-size: 22px; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.countdown-digits small { font-size: 12.5px; color: var(--ink-3); margin: 0 8px 0 1px; }

/* The Seam */
.seam-block { margin-top: 26px; }
.seam-labels { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.seam-track { position: relative; }
.seam { display: flex; height: 22px; border: 1.5px solid var(--ink); }
.seam-yes { background: var(--ink); }
.seam-no { flex: 1 1 auto; background: var(--hatch); }
.seam.empty .seam-no { background: var(--wash); }
.pin { position: absolute; top: -8px; transform: translateX(-50%); display: grid; justify-items: center; }
.pin span:first-child { width: 2px; height: 38px; background: var(--seal); }
.pin span:last-child { font-family: var(--f-ledger); font-size: 11.5px; font-weight: 600; color: var(--seal); margin-top: 3px; white-space: nowrap; }
.seam-meta { margin-top: 34px; display: flex; gap: 18px; flex-wrap: wrap; font-size: 13.5px; color: var(--ink-2); }
.seam-meta b { font-family: var(--f-ledger); color: var(--ink); font-weight: 600; }

/* Mini seam (lists) */
.mini-seam { display: flex; height: 6px; border: 1px solid var(--ink); width: 100%; }
.mini-seam .seam-yes { background: var(--ink); }
.mini-seam .seam-no { background: var(--hatch); }
.mini-seam.empty { border-color: var(--rule); }
.mini-seam.empty .seam-no { background: var(--wash); }

/* Stamp */
.stamp { --c: var(--seal); display: inline-grid; justify-items: center; padding: 4px 8px; border: 2px solid var(--c); outline: 1px solid var(--c); outline-offset: 2px; color: var(--c); transform: rotate(-7deg); font-weight: 700; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; line-height: 1.1; white-space: nowrap; mix-blend-mode: multiply; }
.stamp small { font-family: var(--f-ledger); font-weight: 500; font-size: 11.5px; letter-spacing: .02em; }
.stamp.miss { --c: var(--ink); }
.stamp.pending { opacity: .28; }
.seal-row { margin-top: 18px; display: flex; gap: 14px; align-items: center; font-size: 13.5px; color: var(--ink-2); }

/* Side glyphs */
.glyph { display: inline-block; width: 14px; height: 14px; border: 1.5px solid var(--ink); flex: none; vertical-align: -2px; }
.glyph.yes { background: var(--ink); }
.glyph.no { background: var(--hatch); }

/* ---------- Section heads & tabs ---------- */
.section-head { margin-top: 44px; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; padding-bottom: 10px; border-bottom: 1px solid var(--ink); }
.section-head h2 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.tabs { display: flex; gap: 18px; }
.tab { padding: 0 0 2px; font-size: 13.5px; font-weight: 700; color: var(--ink-3); text-decoration: none; }
.tab[aria-current="true"] { color: var(--ink); box-shadow: 0 2px 0 var(--ink); }

/* ---------- Questions list (claim page) ---------- */
.questions { list-style: none; margin: 0; padding: 0; }
.q-item { padding-block: 20px; border-bottom: 1px solid var(--rule); display: grid; gap: 10px; }
.q-title { margin: 0; font-size: 20px; font-weight: 750; letter-spacing: -.015em; line-height: 1.3; }
.q-title a { text-decoration: none; }
.q-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.q-meta { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 16px; align-items: center; }
.q-split { display: grid; gap: 4px; }
.q-top { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; font-family: var(--f-read); font-size: 16.5px; color: var(--ink-2); }
.q-top b { font-family: var(--f-ui); font-size: 13.5px; color: var(--ink); }
.empty-state { padding: 28px 0; color: var(--ink-2); font-size: 14.5px; }

/* ---------- Question page ---------- */
.crumb-claim { display: grid; gap: 10px; padding: 16px 18px; background: var(--wash); border-radius: 4px; }
.crumb-claim a.claim-link { font-size: 17px; font-weight: 750; letter-spacing: -.015em; text-decoration: none; }
.crumb-claim a.claim-link:hover { text-decoration: underline; }
.crumb-scores { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.crumb-scores .mini-seam { width: 180px; }
.question-title { margin: 26px 0 10px; font-size: clamp(26px, 1.1rem + 1.8vw, 38px); line-height: 1.1; font-weight: 700; letter-spacing: -.03em; text-wrap: balance; }
.question-body { margin: 0; font-family: var(--f-read); font-size: 17px; color: var(--ink-2); max-width: 64ch; }

/* ---------- Answer (academic) ---------- */
.answer { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; padding-block: 26px; border-bottom: 1px solid var(--rule); }
.answer-side { display: grid; justify-items: center; align-content: start; gap: 6px; padding-top: 4px; }
.answer-side .glyph { width: 16px; height: 16px; }
.answer-side small { font-family: var(--f-ledger); font-size: 11.5px; color: var(--ink-2); }
.answer-body { display: grid; gap: 12px; min-width: 0; }
.byline { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; font-size: 13.5px; color: var(--ink-2); }
.byline b { color: var(--ink); font-size: 14.5px; }
.thesis { margin: 0; font-size: 20px; font-weight: 750; letter-spacing: -.015em; line-height: 1.3; }
.prose { font-family: var(--f-read); font-size: 18px; line-height: 1.6; max-width: 66ch; }
.prose p { margin: 0 0 .8em; }
.prose p:last-child { margin-bottom: 0; }
.cite { font-family: var(--f-ledger); font-size: .62em; line-height: 0; }
.cite a { text-decoration: none; color: var(--seal); padding-inline: 1px; }
.cite a:hover { text-decoration: underline; }
.steelman { border-left: 3px solid var(--ink); padding: 4px 0 4px 16px; display: grid; gap: 6px; }
.steelman .prose { font-size: 16.5px; color: var(--ink-2); }
.refs { margin: 0; padding: 12px 0 0; border-top: 1px dashed var(--rule); list-style: none; display: grid; gap: 10px; counter-reset: none; }
.ref { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px; font-size: 13.5px; }
.ref:target { background: var(--seal-wash); }
.ref-n { font-family: var(--f-ledger); color: var(--seal); font-weight: 600; }
.ref a { font-weight: 600; text-decoration: none; }
.ref a:hover { text-decoration: underline; }
.ref-meta { color: var(--ink-3); }
.ref q { display: block; margin-top: 3px; font-family: var(--f-read); font-style: italic; color: var(--ink-2); font-size: 14.5px; quotes: "\201C" "\201D"; }
.grade { font-family: var(--f-ledger); font-size: 11.5px; font-weight: 600; border: 1px solid var(--ink-2); padding: 0 4px; margin-left: 6px; color: var(--ink); }
.answer-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.minds { font-size: 13.5px; color: var(--ink-2); }
.minds b { font-family: var(--f-ledger); color: var(--ink); }
.flag-chip { font-family: var(--f-ledger); font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--seal); border: 1px solid var(--seal); padding: 2px 6px; }
.withdrawn { padding-block: 16px; border-bottom: 1px solid var(--rule); color: var(--ink-3); font-size: 13.5px; font-style: italic; }

/* Rebuttals */
.rebuttals { display: grid; gap: 0; margin-top: 4px; border-left: 1px solid var(--rule); padding-left: 18px; }
.rebuttal { display: grid; gap: 8px; padding-block: 14px; border-bottom: 1px dashed var(--rule); }
.rebuttal:last-child { border-bottom: 0; }
.rebuttal blockquote { margin: 0; padding: 6px 12px; background: var(--wash); font-family: var(--f-read); font-style: italic; color: var(--ink-2); font-size: 15.5px; }
.rebuttal .prose { font-size: 16.5px; }
.rebuttal .refs { padding-top: 8px; }

/* ---------- Oracle card ---------- */
.oracle-card { border-top: 3px solid var(--seal); padding-top: 14px; display: grid; gap: 14px; }
.oracle-card h2 { margin: 0; font-size: 15.5px; font-weight: 700; color: var(--seal); display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.oracle-card p { margin: 0; font-family: var(--f-read); font-size: 15.5px; line-height: 1.5; }
.oracle-figure { display: flex; align-items: baseline; gap: 10px; }
.oracle-figure strong { font-weight: 700; font-size: 56px; line-height: .9; color: var(--seal); font-variant-numeric: tabular-nums; }
.range { display: flex; justify-content: space-between; gap: 8px; }
.spark svg { width: 100%; height: 54px; display: block; overflow: visible; }
.watch { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: 13.5px; }
.watch li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 6px; }
.watch li span:first-child { font-family: var(--f-ledger); color: var(--seal); }

/* ---------- Side lists ---------- */
.side-list h2 { margin: 0 0 4px; }
.side-list ul { list-style: none; margin: 0; padding: 0; }
.side-list li { display: grid; grid-template-columns: minmax(0, 1fr) 54px; gap: 12px; align-items: center; padding-block: 11px; border-bottom: 1px solid var(--rule); }
.side-list a { text-decoration: none; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.side-list a:hover { text-decoration: underline; }
.side-list .pct { font-family: var(--f-ledger); font-size: 12.5px; text-align: right; }

/* ---------- Home ledger ---------- */
.home-title { margin: 0 0 6px; font-size: clamp(28px, 1.2rem + 2vw, 42px); font-weight: 700; letter-spacing: -.035em; }
.home-sub { margin: 0 0 24px; font-family: var(--f-read); font-size: 18px; color: var(--ink-2); }
.ledger-table { width: 100%; border-collapse: collapse; }
.ledger-table th { text-align: left; padding: 8px 10px 8px 0; border-bottom: 1px solid var(--ink); font-weight: 500; }
.ledger-table td { padding: 14px 10px 14px 0; border-bottom: 1px solid var(--rule); vertical-align: middle; }
.ledger-table td.num { font-family: var(--f-ledger); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ledger-table td.oracle { color: var(--seal); }
.ledger-table a { text-decoration: none; font-weight: 700; font-size: 16.5px; }
.ledger-table a:hover { text-decoration: underline; }
.table-scroll { overflow-x: auto; }

/* ---------- Responsive ---------- */
@media (max-width: 880px) {
  .page { grid-template-columns: minmax(0, 1fr); }
  .right { position: static; }
  .bar-nav { display: none; }
}
@media (max-width: 560px) {
  .btn-file span { display: none; }
  .scoreboard { grid-template-columns: auto auto; gap: 8px 28px; }
  .countdown { grid-column: 1 / -1; justify-self: start; text-align: left; }
  .q-meta { grid-template-columns: minmax(0, 1fr); }
  .ledger-table .hide-sm { display: none; }
}

/* ---------- Forms (phase 3) ---------- */
.status-note { max-width: 1280px; margin: 16px auto 0; padding: 10px 20px; }
.status-note p { margin: 0; padding: 10px 14px; background: var(--wash); border-left: 3px solid var(--ink); font-size: 14.5px; }
.user-chip { display: inline-flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; }
.user-chip img, .user-chip .avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--wash); display: grid; place-items: center; font-size: 12.5px; object-fit: cover; }
.link-btn { border: 0; background: none; padding: 0; font-size: 13.5px; color: var(--ink-2); text-decoration: underline; cursor: pointer; }
.btn-lg { padding: 12px 18px; font-size: 15.5px; }
.form-wrap { max-width: 720px; }
.form { display: grid; gap: 22px; margin-top: 24px; }
.field { display: grid; gap: 6px; border: 0; margin: 0; padding: 0; min-width: 0; }
.field > label, .field > legend { font-weight: 700; font-size: 14.5px; display: flex; justify-content: space-between; gap: 12px; padding: 0; margin-bottom: 4px; }
.optional, .counter { font-weight: 400; font-size: 12.5px; color: var(--ink-3); font-family: var(--f-ledger); }
.form input[type="text"], .form input[type="url"], .form input[type="date"], .form textarea {
  width: 100%; min-width: 0; border: 1.5px solid var(--rule); border-radius: 4px; padding: 10px 12px; background: var(--paper); font-size: 15.5px;
}
.form textarea { font-family: var(--f-read); font-size: 17px; line-height: 1.55; resize: vertical; }
.form input:focus, .form textarea:focus { outline: 0; border-color: var(--ink); }
.form [aria-invalid="true"] { border-color: var(--seal); }
.form textarea.over { border-color: var(--seal); }
.field-error { margin: 0; color: var(--seal); font-size: 13.5px; }
.form-note { margin: 0; color: var(--ink-2); font-size: 13.5px; }
.form-actions { display: flex; gap: 16px; align-items: center; }
.form-actions a { font-size: 14.5px; color: var(--ink-2); }
.form-errors { margin-top: 20px; padding: 14px 16px; border: 1.5px solid var(--seal); border-radius: 4px; font-size: 14.5px; }
.form-errors ul { margin: 8px 0 0; padding-left: 18px; color: var(--ink-2); }
.choice-row { display: flex; gap: 8px; flex-wrap: wrap; }
.choice, .side-choice { position: relative; }
.choice input, .side-choice input { position: absolute; opacity: 0; }
.choice span, .side-choice > span { display: inline-flex; align-items: center; gap: 10px; border: 1.5px solid var(--ink); border-radius: 4px; padding: 10px 14px; font-weight: 700; font-size: 14.5px; cursor: pointer; background: var(--paper); }
.choice input:checked + span, .side-choice input:checked + span { background: var(--ink); color: var(--paper); }
.side-choice input:checked + span .glyph { border-color: var(--paper); }
.side-choice input:checked + span .glyph.yes { background: var(--paper); }
.side-choice input:checked + span .glyph.no { background: var(--hatch-paper); }
.choice input:focus-visible + span, .side-choice input:focus-visible + span { outline: 2px solid var(--seal); outline-offset: 2px; }
.sides { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.side-choice > span { width: 100%; }
.source-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.source-row { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; }
.source-row .ref-n { padding-top: 10px; }
.source-fields { display: grid; gap: 8px; min-width: 0; }
.source-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; }
.source-grid input { font-size: 14.5px !important; }
.source-fields textarea { font-size: 15.5px !important; }
.parent-answer { margin-top: 18px; padding: 16px 18px; border: 1px solid var(--rule); border-radius: 4px; display: grid; gap: 8px; }
.parent-text { white-space: pre-line; font-size: 16.5px; color: var(--ink-2); }
.rules-card { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--ink); }
.rules-card h2 { margin: 0; }
.checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13.5px; color: var(--ink-2); }
.checks li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 6px; }
.checks li::before { content: "○"; font-family: var(--f-ledger); color: var(--ink-3); }
.checks li.ok { color: var(--ink); }
.checks li.ok::before { content: "●"; color: var(--ink); }
.house-rules { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 13.5px; color: var(--ink-2); }
.answer-actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: 13.5px; }
.answer-actions a { color: var(--ink-2); }
.answer-actions form { display: inline; }
.revision { padding-block: 22px; border-bottom: 1px solid var(--rule); display: grid; gap: 12px; }
.dev-login { margin-top: 32px; display: grid; gap: 10px; }
.dev-list { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 560px) {
  .source-grid { grid-template-columns: 1fr; }
}
.source-rows + template + .btn, [data-add-source] { justify-self: start; }

/* ---------- Positions & receipts (phase 4) ---------- */
.call { margin-top: 36px; display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 28px; padding: 22px; background: var(--wash); border-radius: 4px; scroll-margin-top: 80px; }
.call h2 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.call-form, .call-fields { display: grid; gap: 14px; align-content: start; min-width: 0; }
.call .side-choice > span { background: var(--paper); }
.call .side-choice input:checked + span { background: var(--ink); }
.conf-row { display: flex; justify-content: space-between; gap: 12px; font-size: 13.5px; color: var(--ink-2); }
.conf-row output { font-family: var(--f-ledger); font-weight: 600; color: var(--ink); }
input[type="range"] { width: 100%; accent-color: var(--ink); }
.stakes { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.stakes div { background: var(--paper); padding: 10px 12px; display: grid; gap: 1px; }
.stakes b { font-family: var(--f-ledger); font-size: 18px; font-weight: 500; font-variant-numeric: tabular-nums; }
.note { margin: 0; font-size: 13.5px; color: var(--ink-2); }
.receipt-slot { display: grid; align-content: start; justify-items: center; min-width: 0; }
.receipt-empty { width: 100%; border: 1.5px dashed var(--ink-3); border-radius: 4px; padding: 22px 16px; text-align: center; font-size: 13.5px; color: var(--ink-2); display: grid; gap: 6px; }
.receipt {
  width: 100%; max-width: 300px; background: var(--paper); padding: 18px 16px 22px;
  font-family: var(--f-ledger); font-size: 11.5px; line-height: 1.55; font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 0 var(--rule), 0 10px 24px rgba(17, 17, 17, .08);
  -webkit-mask: radial-gradient(circle 5px at 50% 100%, transparent 98%, #000) 0 0 / 12px 100% repeat-x;
          mask: radial-gradient(circle 5px at 50% 100%, transparent 98%, #000) 0 0 / 12px 100% repeat-x;
  animation: print .55s cubic-bezier(.2, .7, .2, 1);
}
@keyframes print { from { transform: translateY(-14px); clip-path: inset(0 0 100% 0); } to { transform: none; clip-path: inset(0 0 0 0); } }
.receipt header { text-align: center; display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px dashed var(--ink-3); }
.receipt header strong { font-family: var(--f-ui); font-weight: 700; font-size: 16.5px; letter-spacing: -.03em; }
.receipt header strong i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--seal); margin-left: 1px; }
.receipt dl { margin: 10px 0; display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; }
.receipt dt { color: var(--ink-3); text-transform: uppercase; }
.receipt dd { margin: 0; text-align: right; min-width: 0; overflow-wrap: anywhere; }
.receipt .r-claim { padding-block: 10px; border-bottom: 1px dashed var(--ink-3); font-size: 12.5px; }
.receipt .r-call { font-size: 15.5px; font-weight: 600; text-align: center; padding-block: 8px; border-bottom: 1px dashed var(--ink-3); }
.barcode { height: 30px; margin-top: 12px; background: repeating-linear-gradient(90deg, var(--ink) 0 1px, transparent 1px 3px, var(--ink) 3px 5px, transparent 5px 6px, var(--ink) 6px 7px, transparent 7px 10px); }
.share { margin-top: 12px; width: 100%; border: 1.5px solid var(--ink); background: var(--paper); border-radius: 4px; padding: 8px; font-weight: 700; font-size: 13.5px; cursor: pointer; font-family: var(--f-ui); }
.share:hover { background: var(--ink); color: var(--paper); }
.pin.you { top: -8px; }
.pin.you span:first-child { background: repeating-linear-gradient(var(--ink) 0 3px, transparent 3px 6px); }
.pin.you span:last-child { color: var(--ink); }
.moved-btn { border: 1.5px solid var(--ink); background: var(--paper); border-radius: 4px; padding: 6px 12px; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.moved-btn:hover { background: var(--ink); color: var(--paper); }
.receipt-page { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.receipt-copy { display: grid; gap: 14px; align-content: start; }
.receipt-copy .home-title, .receipt-copy .home-sub { margin: 0; }
@media (max-width: 880px) {
  .call, .receipt-page { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .receipt { animation: none; } }
.receipt-copy .home-title { line-height: 1.05; text-wrap: balance; }
.home-title { line-height: 1.05; }

/* ---------- Review & moderation (phase 5) ---------- */
.review-summary { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.flag-pill { font-size: 12.5px; border: 1px solid var(--seal); color: var(--seal); padding: 1px 8px; border-radius: 999px; }
.answer-tools { display: flex; gap: 16px; flex-wrap: wrap; }
.tool summary { cursor: pointer; font-size: 13.5px; color: var(--ink-2); list-style: none; }
.tool summary::-webkit-details-marker { display: none; }
.tool summary::before { content: "+ "; font-family: var(--f-ledger); }
.tool[open] summary::before { content: "− "; }
.tool-form { margin-top: 10px; display: grid; gap: 10px; padding: 14px; background: var(--wash); border-radius: 4px; max-width: 520px; }
.tool-form input[type="text"], .tool-form select { width: 100%; border: 1.5px solid var(--rule); border-radius: 4px; padding: 8px 10px; background: var(--paper); font-size: 14.5px; }
.tool-form .btn { justify-self: start; }
.flag-options { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; font-size: 13.5px; }
.flag-options label { display: flex; gap: 6px; align-items: center; }
.mod-tabs { display: flex; gap: 22px; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--ink); }
.mod-tabs a { text-decoration: none; }
.mod-section { scroll-margin-top: 80px; }
.mod-item { padding-block: 20px; border-bottom: 1px solid var(--rule); display: grid; gap: 10px; }
.mod-quote { margin: 0; padding: 6px 12px; background: var(--wash); font-family: var(--f-read); font-style: italic; color: var(--ink-2); }
.mod-target { padding: 10px 14px; border-left: 3px solid var(--ink); display: grid; gap: 4px; }
.mod-flags { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; }
.mod-flags li { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.decide { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.decide input[type="text"] { flex: 1 1 240px; min-width: 0; border: 1.5px solid var(--rule); border-radius: 4px; padding: 8px 10px; font-size: 14.5px; }
.decide.inline .btn { padding: 4px 10px; }
@media (max-width: 560px) { .flag-options { grid-template-columns: 1fr; } }
.answer-foot .answer-actions { flex: 1 1 auto; justify-content: flex-end; min-width: 0; }

/* ---------- Oracle (phase 6) ---------- */
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form select { width: 100%; border: 1.5px solid var(--rule); border-radius: 4px; padding: 10px 12px; background: var(--paper); font-size: 15.5px; }
.oracle-note-box { margin-top: 16px; padding: 14px 16px; background: var(--seal-wash); border-left: 3px solid var(--seal); display: grid; gap: 6px; }
.oracle-note-box p { margin: 0; font-family: var(--f-read); font-size: 16.5px; }
.similar { margin-top: 18px; padding: 14px 16px; border: 1px solid var(--rule); border-radius: 4px; display: grid; gap: 8px; }
.similar ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.evidence-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13.5px; }
.evidence-list li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; }
.evidence-list .glyph { width: 11px; height: 11px; margin-top: 4px; }
.evidence-list a { color: var(--ink-2); }
.budget { margin-top: 18px; display: grid; gap: 10px; max-width: 560px; }
.budget-figures { display: flex; gap: 40px; }
.budget-figures div { display: grid; }
.budget-figures b { font-weight: 700; font-size: 40px; line-height: 1; font-variant-numeric: tabular-nums; }
.budget-bar { height: 10px; border: 1.5px solid var(--ink); }
.budget-bar span { display: block; height: 100%; background: var(--seal); }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }

/* ---------- Home & ledger (phase 7) ---------- */
.home { max-width: 1280px; margin-inline: auto; padding: 36px 20px 80px; display: grid; gap: 8px; }
.claim-card { display: grid; gap: 12px; padding: 18px 0 20px; border-top: 1.5px solid var(--ink); min-width: 0; }
.claim-card-lg { padding: 22px 24px 26px; background: var(--wash); border-top: 3px solid var(--ink); border-radius: 0 0 4px 4px; }
.claim-card-title { margin: 0; font-size: 20px; font-weight: 750; letter-spacing: -.015em; line-height: 1.25; text-wrap: balance; }
.claim-card-lg .claim-card-title { font-size: clamp(24px, 1rem + 1.2vw, 32px); font-weight: 700; letter-spacing: -.03em; line-height: 1.08; }
.claim-card-title a { text-decoration: none; }
.claim-card-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.card-scores { display: flex; gap: 26px; align-items: flex-end; }
.card-scores div { display: grid; gap: 0; }
.card-scores b { font-weight: 700; font-size: 40px; line-height: .9; font-variant-numeric: tabular-nums; }
.card-scores b small { font-size: .42em; margin-left: 2px; }
.claim-card-lg .card-scores b { font-size: 72px; }
.card-scores .oracle b, .card-scores .oracle .ledger { color: var(--seal); }
.card-scores .gap { margin-left: auto; text-align: right; }
.card-scores .gap b { color: var(--ink-2); font-size: 28px; }
.claim-card-lg .card-scores .gap b { font-size: 40px; }
.card-seam { position: relative; }
.card-seam .mini-seam { height: 10px; }
.claim-card-lg .card-seam .mini-seam { height: 16px; border-width: 1.5px; }
.card-pin { position: absolute; top: -5px; bottom: -5px; width: 2px; margin-left: -1px; background: var(--seal); }
.card-scores b .none { font-weight: 400; color: var(--ink-3); }
.card-pending { margin: 0; padding-top: 10px; border-top: 1px solid var(--rule); color: var(--ink-2); }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 32px; margin-top: 8px; }
.home-section { margin-top: 28px; }
.home-section .section-head { margin-top: 0; }
.home-section .section-head a { text-decoration: none; }
.home-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.home-list { list-style: none; margin: 0; padding: 0; }
.home-list li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-block: 14px; border-bottom: 1px solid var(--rule); }
.home-list a { text-decoration: none; font-weight: 650; font-size: 15.5px; line-height: 1.3; min-width: 0; }
.home-list a:hover { text-decoration: underline; }
.countdown-digits.small { font-size: 13.5px; white-space: nowrap; flex: none; }
.countdown-digits.small small { font-size: 11.5px; margin: 0 4px 0 1px; }
.filters { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.filters label { display: grid; gap: 4px; }
.filters select { border: 1.5px solid var(--rule); border-radius: 4px; padding: 7px 10px; background: var(--paper); font-size: 14.5px; min-width: 160px; }
.pager { display: flex; justify-content: space-between; gap: 12px; padding-top: 18px; }
.desk-link { font-size: 14.5px !important; font-weight: 500 !important; }
/* Time Rail zones */
@media (max-width: 980px) {
  .home-columns { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 560px) {
  .home { padding-inline: 16px; }
  .claim-card-lg { padding: 18px 16px 20px; }
  .claim-card-lg .card-scores b { font-size: 56px; }
}

/* Phase 8: verdicts, the Oracle's record, leaderboard, profiles */
.verdict { margin-top: 18px; display: grid; gap: 14px; }
.verdict-head { margin: 6px 0 0; font-weight: 600; color: var(--ink-2); }
.verdict-sources li { grid-template-columns: 22px minmax(0, 1fr); }
.my-score { margin: 0; padding: 10px 12px; background: var(--wash); }
.my-score .up { color: var(--ink); }
.my-score .down { color: var(--seal); }
.seal-row .ledger { display: block; margin-top: 4px; color: var(--ink-2); }
.byline-link { text-decoration: none; }
.byline-link:hover b { text-decoration: underline; }

.section-title { margin: 0 0 8px; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.record-figures { margin: 8px 0 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--ink); }
.record-figures > div { padding: 14px 16px 16px 0; }
.record-figures > div + div { padding-left: 16px; border-left: 1px solid var(--rule); }
.record-figures dt { color: var(--ink-2); }
.record-figures dd { margin: 4px 0 0; font-size: clamp(34px, 1.4rem + 2.4vw, 56px); font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.record-figures dd small { font-size: .55em; color: var(--ink-3); }
.record-figures .oracle dt, .record-figures .oracle dd { color: var(--seal); }
.record-grid { margin-top: 36px; display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 48px; align-items: start; }
.calibration { width: 100%; height: auto; display: block; margin-top: 8px; }
.calibration .tick { font-family: var(--f-ledger); font-size: 11.5px; fill: var(--ink-3); }
.calibration .axis { font-family: var(--f-ui); font-size: 11.5px; font-weight: 700; fill: var(--ink-2); }
.calibration .dot { cursor: default; outline: none; }
.calibration .dot:hover circle:last-of-type, .calibration .dot:focus circle:last-of-type { stroke: var(--ink); }
.chart-table { margin-top: 12px; }
.chart-table summary { cursor: pointer; color: var(--ink-2); }
.chart-table table { margin-top: 8px; }
.calls { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.calls li { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t s" "m s"; column-gap: 18px; row-gap: 4px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--rule); }
.calls a { grid-area: t; text-decoration: none; font-weight: 650; font-size: 15.5px; line-height: 1.3; }
.calls a:hover { text-decoration: underline; }
.calls .ledger { grid-area: m; color: var(--ink-2); }
.calls .stamp { grid-area: s; }

.lb-tabs { margin-top: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--ink); }
.lb { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.lb li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--rule); }
.lb li:nth-child(-n+3) .lb-value { font-size: 30px; }
.lb-rank { color: var(--ink-3); }
.lb-name a { font-weight: 700; font-size: 16.5px; text-decoration: none; }
.lb-name a:hover { text-decoration: underline; }
.lb-name small { display: block; margin-top: 2px; color: var(--ink-3); }
.lb-value { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }

.badges { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 22px 28px; }
.badge { display: grid; justify-items: start; gap: 8px; max-width: 200px; }
.badge .stamp { transform: rotate(-4deg); }
.badge p { margin: 0; font-size: 12.5px; color: var(--ink-2); }

@media (max-width: 760px) {
  .record-figures { grid-template-columns: 1fr 1fr; }
  .record-figures > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .record-figures > div:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .record-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
.home-list .ledger { white-space: nowrap; }

/* Phase 9: elections, polls, markets, blackout */
.scoreboard.has-markets { grid-template-columns: auto auto auto minmax(0, 1fr); }
.score.minor .score-num { font-size: clamp(44px, 2rem + 2.6vw, 68px); }
.score.minor .ledger, .score.minor .score-num { color: var(--ink-2); }
.seam-meta a { color: inherit; }

.polls { margin-top: 8px; }
.polls-subject { margin: 12px 0 0; font-family: var(--f-read); font-size: 17px; }
.polls-subject .ledger { margin-right: 8px; color: var(--ink-2); }
.polls-meta { margin: 10px 0 4px; color: var(--ink-2); }
.poll-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.poll-row { display: grid; grid-template-columns: minmax(0, 1.2fr) 78px minmax(120px, 1.4fr) 168px; gap: 18px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.poll-name { font-weight: 700; font-size: 15.5px; min-width: 0; }
.poll-share { font-size: 30px; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; line-height: 1; }
.poll-share small { font-size: .5em; margin-left: 2px; color: var(--ink-2); }
.poll-bar { position: relative; height: 18px; background: var(--wash); }
.poll-band { position: absolute; top: 4px; bottom: 4px; background: var(--hatch); opacity: .55; }
.poll-mark { position: absolute; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; background: var(--ink); }
.poll-half { position: absolute; top: -3px; bottom: -3px; width: 1px; background: var(--ink-3); }
.poll-spark { width: 168px; height: 40px; display: block; }
.poll-spark.empty { display: flex; align-items: center; color: var(--ink-3); }
.polls-axis { margin: 8px 0 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--ink-3); }
.polls-list td { font-size: 14.5px; }

.lock-notice { margin-top: 26px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: start; padding: 18px 20px; border: 2px solid var(--ink); }
.lock-notice p { margin: 0 0 6px; font-family: var(--f-read); font-size: 17px; }
.lock-notice .ledger { font-family: var(--f-ledger); font-size: 11.5px; color: var(--ink-2); }

.mod-form { max-width: none; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); align-items: end; }
.mod-form label { display: grid; gap: 4px; font-size: 13.5px; font-weight: 700; }
.mod-form label.wide, .mod-form .wide { grid-column: 1 / -1; }
.mod-form label.check { display: flex; gap: 8px; align-items: center; font-weight: 500; }
.mod-form input[type="date"], .mod-form input[type="datetime-local"], .mod-form input[type="number"], .mod-form textarea { width: 100%; border: 1.5px solid var(--rule); border-radius: 4px; padding: 8px 10px; background: var(--paper); font: inherit; font-size: 14.5px; }
.rate-row { padding: 8px 0; border-bottom: 1px solid var(--rule); }
.rate-row .rate-name { flex: 1 1 240px; font-weight: 600; }
.rate-row input[type="number"] { width: 90px; border: 1.5px solid var(--rule); border-radius: 4px; padding: 6px 8px; font: inherit; }
.form-errors { margin: 12px 0; padding: 10px 14px; border-left: 3px solid var(--seal); background: var(--seal-wash); }

@media (max-width: 760px) {
  .scoreboard.has-markets { grid-template-columns: auto auto; }
  .poll-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; }
  .poll-bar { grid-column: 1 / -1; }
  .poll-spark { grid-column: 1 / -1; width: 100%; }
  .lock-notice { grid-template-columns: minmax(0, 1fr); }
}
.polls-list a { font-size: 13.5px; font-weight: 500; }

/* Phase 10: footer, documents, account, search, system health, errors */
.site-footer { margin-top: 72px; border-top: 1px solid var(--ink); background: var(--paper); }
.footer-inner { max-width: 1280px; margin-inline: auto; padding: 24px 20px 40px; display: flex; justify-content: space-between; gap: 18px 40px; flex-wrap: wrap; align-items: flex-start; }
.footer-brand { margin: 0; display: grid; gap: 6px; max-width: 360px; color: var(--ink-2); font-size: 13.5px; }
.footer-brand .wordmark { font-size: 18px; color: var(--ink); }
.footer-nav { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.footer-nav a { text-decoration: none; color: var(--ink-2); }
.footer-nav a:hover { color: var(--ink); text-decoration: underline; }

.doc { max-width: 720px; }
.doc-nav { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-bottom: 12px; margin-bottom: 26px; border-bottom: 1px solid var(--ink); }
.doc-nav a { text-decoration: none; color: var(--ink-2); }
.doc-nav a[aria-current="page"] { color: var(--ink); box-shadow: 0 2px 0 var(--ink); }
.doc-updated { color: var(--ink-3); margin: 0 0 18px; }
.doc-body { font-family: var(--f-read); font-size: 18px; line-height: 1.6; }
.doc-body h2 { font-family: var(--f-ui); font-size: 20px; font-weight: 700; letter-spacing: -.015em; margin: 32px 0 8px; }
.doc-body p, .doc-body li { margin: 0 0 12px; }
.doc-body ol, .doc-body ul { padding-left: 22px; margin: 0 0 12px; }
.doc-body .lead { font-size: 20px; color: var(--ink); }
.doc-body .form, .doc-body .field, .doc-body .form-note { font-family: var(--f-ui); }
.contact-form, .danger-zone { display: grid; gap: 16px; margin-top: 12px; }
.contact-form select { width: 100%; border: 1.5px solid var(--rule); border-radius: 4px; padding: 10px 12px; background: var(--paper); font: inherit; font-size: 15.5px; }
.contact-form input[type="email"], .danger-zone input[type="text"] { width: 100%; border: 1.5px solid var(--rule); border-radius: 4px; padding: 10px 12px; font: inherit; font-size: 15.5px; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.btn-danger { background: var(--seal); border-color: var(--seal); color: var(--paper); }
.account-facts { margin: 8px 0 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px 24px; border-top: 2px solid var(--ink); padding-top: 14px; }
.account-facts dd { margin: 4px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.auth-name { text-decoration: none; }
.auth-name:hover { text-decoration: underline; }

.search-page { display: flex; gap: 10px; margin: 6px 0 8px; max-width: 640px; }
.search-page input { flex: 1; min-width: 0; border: 1.5px solid var(--ink); border-radius: 4px; padding: 10px 12px; font: inherit; font-size: 16.5px; }
.search-hit { padding: 14px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 4px; }
.search-hit h3 { margin: 0; font-size: 16.5px; line-height: 1.3; }
.search-hit h3 a { text-decoration: none; }
.search-hit h3 a:hover { text-decoration: underline; }
.search-hit p, .search-hit span { margin: 0; color: var(--ink-2); }

.health { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.health-row { display: grid; grid-template-columns: 64px 180px minmax(0, 1fr); gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.health-status { font-weight: 700; }
.health-row.ok .health-status { color: var(--ink-3); }
.health-row.warn .health-status { color: var(--ink); }
.health-row.fail .health-status, .health-row.fail .health-label { color: var(--seal); }
.health-label { font-weight: 700; }
.health-detail { color: var(--ink-2); }
.error-page { min-height: 50vh; }

@media (max-width: 640px) {
  .health-row { grid-template-columns: 56px minmax(0, 1fr); }
  .health-detail { grid-column: 2; }
}
.bar .btn { white-space: nowrap; }

/* Illustrations: pencil sketch + a single red (docs/DESIGN.md). They blend into the paper-white background, no frame. */
.desk-art, .doc-art { margin: 0 0 18px; }
.desk-art img, .doc-art img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
.doc-art img { max-height: 320px; }

/* Logo: Quora-style single-color serif wordmark, in seal red */
.wordmark { font-family: var(--f-ui); font-weight: 700; color: var(--seal); letter-spacing: -.02em; font-size: 28px; line-height: 1; }
.wordmark i { display: none; }
.footer-brand .wordmark { font-size: 24px; color: var(--seal); }

/* Headings, content and large numerals in serif (on Quora, questions and answers are serif); menus, buttons and labels in sans. */
h1, h2, h3, .home-title, .claim-title, .q-title, .thesis, .claim-card-title, .score-num, .poll-share,
.record-figures dd, .lb-value, .lb-name a, .search-hit h3, .calls a, .home-list a, .ledger-table a, .side-list a,
.section-head h2, .section-title, .call-form h2, .doc-body h2, .wordmark, .card-scores b {
  font-family: var(--f-head);
}

/* Phases 12–13: Fazoh's debate reading and Quick take */
.reading { margin-top: 8px; }
.reading-lean { display: flex; gap: 18px; align-items: center; margin: 16px 0 6px; font-family: var(--f-read); font-size: 17px; }
.reading-lean .stamp { flex: none; }
.reading-sides { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 14px; }
.reading-sides h3 { display: flex; gap: 8px; align-items: center; margin: 0 0 8px; color: var(--ink-2); }
.reading-point { margin: 0 0 10px; font-family: var(--f-read); font-size: 16.5px; line-height: 1.5; }
.reading-point a { margin-left: 4px; color: var(--seal); text-decoration: none; }
.reading-point.empty, .reading-point.weak { color: var(--ink-2); }
.reading-weak-title { margin: 14px 0 6px; color: var(--ink-2); }
.cited { color: var(--seal); font-weight: 600; }
p.cited { margin: 0 0 4px; }
.takes { margin-top: 8px; }
.take-form { display: grid; gap: 10px; margin: 14px 0 6px; padding: 14px; background: var(--wash); border-radius: 4px; }
.take-form textarea, .take-form input[type="url"] { width: 100%; border: 1.5px solid var(--rule); border-radius: 4px; padding: 9px 11px; font: inherit; font-size: 15.5px; background: var(--paper); }
.take-form textarea { font-family: var(--f-read); font-size: 16.5px; resize: vertical; }
.take-row { display: flex; gap: 10px; }
.take-row input { flex: 1; min-width: 0; }
.take-list { list-style: none; margin: 8px 0 0; padding: 0; }
.take { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--rule); scroll-margin-top: 90px; }
.take .glyph { margin-top: 6px; }
.take-body { margin: 0; font-family: var(--f-read); font-size: 16.5px; line-height: 1.45; }
.take-meta { margin: 4px 0 0; color: var(--ink-3); }
.take-meta a { color: var(--ink-2); }
.inline-form { display: inline; }
@media (max-width: 640px) { .reading-sides { grid-template-columns: 1fr; } .take-row { flex-direction: column; } .reading-lean { flex-direction: column; align-items: flex-start; } }
.reading-lean .stamp { margin: 6px 4px; }
.ai-note { margin: 14px 0 0; color: var(--ink-3); font-size: 11.5px; } .ai-note a { color: var(--ink-3); }

/* Phase 12b: notifications and watching */
.bell { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--ink); border-radius: 50%; }
.bell:hover { background: var(--wash); }
.bell-count { position: absolute; top: 1px; right: -2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 8px; background: var(--seal); color: var(--paper); font: 600 11.5px/17px var(--f-ui); text-align: center; }
.notice-list { list-style: none; margin: 18px 0 0; padding: 0; border-top: 1px solid var(--ink); }
.notice a { display: grid; gap: 3px; padding: 14px 12px; border-bottom: 1px solid var(--rule); text-decoration: none; }
.notice a:hover { background: var(--wash); }
.notice.new a { border-left: 3px solid var(--seal); padding-left: 9px; }
.notice-kind { color: var(--ink-3); }
.notice-title { font-family: var(--f-head); font-weight: 700; font-size: 17px; }
.notice-body { color: var(--ink-2); font-size: 14.5px; }
.watch { margin-top: 18px; }
.watch-form fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14.5px; }
.watch-form legend { margin-bottom: 4px; color: var(--ink-2); }
.watch-form label { display: flex; gap: 8px; align-items: center; }
.watch-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.watch-row label { display: grid; gap: 4px; font-size: 13.5px; font-weight: 600; }
.watch-row select { border: 1.5px solid var(--rule); border-radius: 4px; padding: 6px 8px; background: var(--paper); font: inherit; }
.unwatch { margin: 8px 0 0; }
.desk-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.watch-list { list-style: none; padding: 0; margin: 0 0 12px; font-family: var(--f-ui); font-size: 15.5px; }
.watch-list li { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.watch-list .ledger { color: var(--ink-3); }

/* Open Hunch label: links to the explainer page, looks like text */
.score-label { color: inherit; text-decoration: underline dotted; text-underline-offset: 3px; }
.score-label:hover { color: var(--seal); }

/* Support page: pledges, open books, donation links */
.pledges { padding-left: 0; list-style: none; display: grid; gap: 10px; }
.pledges li { padding-left: 18px; position: relative; }
.pledges li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; background: var(--seal); border-radius: 50%; }
.books { width: 100%; border-collapse: collapse; margin: 6px 0 8px; font-family: var(--f-ui); }
.books th, .books td { padding: 10px 0; border-bottom: 1px solid var(--rule); text-align: left; font-weight: 600; }
.books th span { display: block; font-weight: 400; font-size: 13.5px; color: var(--ink-3); }
.books td.num { text-align: right; font-family: var(--f-ledger); font-variant-numeric: tabular-nums; }
.books tr.total th, .books tr.total td { border-top: 1.5px solid var(--ink); border-bottom: 0; }
.give-links { display: flex; flex-wrap: wrap; gap: 10px; }
.footer-support { color: var(--seal); font-weight: 600; text-decoration: none; }
.footer-support:hover { text-decoration: underline; }

/* One-line ask box (Quora style): avatar, one wide input, one button */
.ask-box { margin: 8px 0 34px; padding: 14px 16px 12px; border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); box-shadow: 0 1px 2px rgb(0 0 0 / .04); }
.ask-form { display: flex; align-items: center; gap: 10px; }
.ask-avatar { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--wash); display: grid; place-items: center; font: 600 14.5px var(--f-ui); color: var(--ink-2); object-fit: cover; }
.ask-input { flex: 1; min-width: 0; height: 40px; padding: 0 16px; border: 1px solid var(--rule); border-radius: 999px; background: var(--wash); font: 16.5px var(--f-ui); color: var(--ink); }
.ask-input::placeholder { color: var(--ink-3); }
.ask-input:focus { background: var(--paper); border-color: var(--ink); outline: none; }
.ask-hint { margin: 8px 0 0 46px; font-size: 13.5px; color: var(--ink-3); }
.ask-box .field-error { margin: 6px 0 0 46px; }
@media (max-width: 640px) {
  .ask-box { padding: 12px; }
  .ask-avatar { display: none; }
  .ask-hint, .ask-box .field-error { margin-left: 0; }
}

/* Copyright page: the DMCA agent's contact block */
.agent-card { padding: 14px 16px; border-left: 3px solid var(--ink); background: var(--wash); font-family: var(--f-ui); font-size: 15.5px; line-height: 1.6; }

/* Growth dashboard: KPI tiles */
.kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); margin: 8px 0 32px; }
.kpis > div { padding: 14px 16px; display: grid; gap: 4px; align-content: start; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.kpis dd { margin: 0; font: 600 30px/1.1 var(--f-head); font-variant-numeric: tabular-nums; }
.kpis small { color: var(--ink-3); font-size: 12.5px; line-height: 1.4; }
.ledger-table th.num { text-align: right; }
.mod .ledger-table td.num { text-align: right; }

/* Docs: preformatted snippets (FazBot robots.txt example) */
.doc pre.code-block { background: var(--wash); border: 1px solid var(--rule); border-radius: 4px; padding: 12px 14px; font: 14.5px/1.5 var(--f-ledger); overflow-x: auto; }
.doc code { font-family: var(--f-ledger); font-size: .9em; overflow-wrap: anywhere; }

/* ---------- Navigation on phones and tablets ---------- */
.skip-link { position: absolute; left: 12px; top: -48px; z-index: 20; padding: 8px 12px; background: var(--ink); color: var(--paper); border-radius: 4px; font: 600 14.5px var(--f-ui); text-decoration: none; }
.skip-link:focus { top: 8px; }
#main:focus { outline: none; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: var(--ink); flex: none; }
.icon-btn:hover { background: var(--wash); }
.search-link { display: none; }
.avatar-link { display: inline-flex; border-radius: 50%; }
.tabbar { display: none; }

@media (max-width: 880px) {
  .bar-inner { gap: 12px; }
  .btn-file { display: none; }
  .tabbar { display: flex; max-width: 1280px; margin-inline: auto; border-top: 1px solid var(--rule); }
  .tabbar a { flex: 1 1 0; min-width: 0; display: grid; justify-items: center; gap: 2px; padding: 7px 2px 6px; font: 600 11.5px/1.2 var(--f-ui); color: var(--ink-2); text-decoration: none; position: relative; }
  .tabbar svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .tabbar span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tabbar a[aria-current="page"] { color: var(--seal); }
  .tabbar a[aria-current="page"]::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: -1px; height: 2px; background: var(--seal); }
  .tabbar .tab-file svg { color: var(--paper); background: var(--seal); border-radius: 50%; padding: 3px; stroke-width: 2.2; }
  .bell { width: 40px; height: 40px; }
}
@media (max-width: 560px) {
  .bar-inner { gap: 4px; padding-block: 8px; }
  .wordmark { margin-right: auto; font-size: 24px; }
  .search { display: none; }
  .search-link { display: inline-flex; }
  .user-chip .auth-name, .user-chip form { display: none; }
  .user-chip img, .user-chip .avatar { width: 32px; height: 32px; }
  .avatar-link { padding: 4px; }
}
.avatar-link { text-decoration: none; color: var(--ink); }
@media (max-width: 880px) { .search { max-width: none; } }

/* ---------- Dark mode: light by default; the reader can pick Dark, or Auto (follow the system), in the footer ---------- */
:root { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    color-scheme: dark;
    --paper: #121212; --wash: #1c1c1b; --ink: #ededea; --ink-2: #b4b4ae; --ink-3: #9a9a94;
    --rule: #2e2e2c; --seal: #ef5a4a; --seal-wash: #2a1714;
  }
  :root[data-theme="auto"] .stamp,
  :root[data-theme="auto"] .desk-art img,
  :root[data-theme="auto"] .doc-art img { mix-blend-mode: normal; }
  /* Graphite-on-paper sketches become chalk-on-slate; hue-rotate keeps the red accent red. */
  :root[data-theme="auto"] .desk-art img,
  :root[data-theme="auto"] .doc-art img { filter: invert(1) hue-rotate(180deg); opacity: .9; }
  :root[data-theme="auto"] .ask-box { box-shadow: none; }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #121212; --wash: #1c1c1b; --ink: #ededea; --ink-2: #b4b4ae; --ink-3: #9a9a94;
  --rule: #2e2e2c; --seal: #ef5a4a; --seal-wash: #2a1714;
}
:root[data-theme="dark"] .stamp,
:root[data-theme="dark"] .desk-art img,
:root[data-theme="dark"] .doc-art img { mix-blend-mode: normal; }
:root[data-theme="dark"] .desk-art img,
:root[data-theme="dark"] .doc-art img { filter: invert(1) hue-rotate(180deg); opacity: .9; }
:root[data-theme="dark"] .ask-box { box-shadow: none; }
body { background: var(--paper); color: var(--ink); }
.theme-toggle { font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--ink-2); cursor: pointer; }
.theme-toggle { text-decoration: none; }


/* Home: "When time decides" horizon cards */
.horizons { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.horizon:last-child .horizon-link b { color: var(--seal); }
.horizon { border-top: 1.5px solid var(--ink); padding-top: 12px; display: grid; gap: 10px; align-content: start; }
.horizon-link { display: grid; gap: 2px; text-decoration: none; color: var(--ink); }
.horizon-link b { font: 700 40px/1.05 var(--f-head); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.horizon-link:hover b { color: var(--seal); }
.horizon-unit { font-size: 13.5px; color: var(--ink-2); }
.horizon-next { margin: 0; display: grid; gap: 3px; font: 600 15.5px/1.35 var(--f-head); }
.horizon-next a { text-decoration: none; }
.horizon-next a:hover { text-decoration: underline; }
@media (max-width: 1080px) { .horizons { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 880px) { .horizons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .horizons { grid-template-columns: minmax(0, 1fr); gap: 18px; } }


/* ---------- Home: masthead and front page (a portal, not a landing page) ---------- */
.masthead { padding-bottom: 6px; }
.masthead-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap; border-bottom: 1.5px solid var(--ink); padding-bottom: 10px; }
.masthead-title { margin: 0; font: 700 clamp(26px, 1rem + 1.6vw, 36px)/1.1 var(--f-head); letter-spacing: -.02em; }
.masthead-date { margin: 0; color: var(--ink-2); }
.masthead-counts { margin: 10px 0 18px; display: flex; flex-wrap: wrap; gap: 4px 0; color: var(--ink-2); }
.masthead-counts span:not(:last-child)::after { content: "·"; margin: 0 12px; color: var(--ink-3); }
.masthead-counts b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.masthead .ask-box { margin-bottom: 28px; }

.frontpage { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; margin-bottom: 8px; }
.front-lead { display: grid; gap: 10px; }
.front-kicker { margin: 0; color: var(--seal); }
.front-howto { margin: 2px 0 0; font-size: 14.5px; color: var(--ink-2); }
.front-opening { border-top: 1.5px solid var(--ink); padding-top: 10px; align-content: start; }
.front-opening-title { margin: 4px 0 0; font: 700 34px/1.12 var(--f-head); letter-spacing: -.015em; }
.front-opening-dek { margin: 0; font-size: 16.5px; line-height: 1.55; color: var(--ink-2); max-width: 46ch; }
.front-opening-actions { margin: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; font-size: 14.5px; }
@media (max-width: 640px) { .front-opening-title { font-size: 28px; } }
.front-col { border-top: 1.5px solid var(--ink); padding-top: 10px; min-width: 0; }
.front-col-title { margin: 0 0 4px; font: 700 18px/1.25 var(--f-head); }
.live-list { list-style: none; margin: 0; padding: 0; }
.live-list li { padding: 10px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 3px; }
.live-meta { margin: 0; color: var(--ink-2); }
.live-meta a { color: var(--ink); text-decoration: none; font-weight: 600; }
.live-meta a:hover { text-decoration: underline; }
.live-meta .side-yes, .live-meta .side-no { color: var(--ink); font-weight: 600; }
.live-meta .live-faz { color: var(--seal); font-weight: 600; }
.live-meta .up, .live-meta .down { margin-left: 6px; color: var(--ink); }
.live-claim { font: 600 15.5px/1.35 var(--f-head); text-decoration: none; color: var(--ink); }
.live-claim:hover { text-decoration: underline; }
.front-more { margin: 10px 0 0; }
.front-more a { text-decoration: none; }
@media (max-width: 1080px) {
  .frontpage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .front-lead { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .frontpage { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .masthead-counts span:not(:last-child)::after { margin: 0 8px; }
}
.front-soon { margin-top: 18px; border-top: 1.5px solid var(--ink); padding-top: 10px; }
.front-soon .home-list li:last-child { border-bottom: 0; }
.bar-nav a { white-space: nowrap; }
@media (max-width: 1024px) and (min-width: 881px) { .bar-nav { gap: 14px; } .bar-inner { gap: 16px; } }

/* ---------- Home: desk cards with the black Lucide icon set ---------- */
.icon { width: 1em; height: 1em; flex: none; }
.desk-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.desk-card { display: grid; grid-template-rows: auto 1fr auto; gap: 12px; padding: 22px 22px 20px 0; border-bottom: 1px solid var(--rule); min-width: 0; }
.desk-card:not(:nth-child(4n + 1)) { padding-left: 22px; border-left: 1px solid var(--rule); }
.desk-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: center; text-decoration: none; color: var(--ink); }
.desk-icon { grid-row: 1 / span 2; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 16px; background: var(--paper); border: 1px solid var(--rule); color: var(--ink); transition: border-color .15s, transform .15s, box-shadow .15s; }
.desk-glyph { width: 42px; height: 42px; overflow: visible; }
.desk-glyph .ink { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.desk-glyph .accent { fill: var(--seal); stroke: none; }
.desk-glyph .accent-line { fill: none; stroke: var(--seal); stroke-width: 2; stroke-linecap: round; }
.desk-card-head:hover .desk-icon { border-color: var(--ink); transform: translateY(-2px); box-shadow: 0 6px 16px -10px rgb(0 0 0 / .35); }
.desk-card-name { font: 700 22px/1.15 var(--f-head); letter-spacing: -.01em; }
.desk-card-meta { color: var(--ink-2); }
.desk-card-lead { font: 600 16.5px/1.35 var(--f-head); color: var(--ink); text-decoration: none; text-wrap: pretty; }
.desk-card-lead:hover { text-decoration: underline; }
.desk-card-odds { margin: 0; display: flex; gap: 14px; color: var(--ink-2); }
.desk-card-odds b { color: var(--ink); font-weight: 600; }
.desk-card-odds .faz, .desk-card-odds .faz b { color: var(--seal); }
.desk-card-empty { margin: 0; font-size: 14.5px; color: var(--ink-2); }
@media (prefers-reduced-motion: reduce) { .desk-icon { transition: none; } .desk-card-head:hover .desk-icon { transform: none; } }
@media (max-width: 1080px) {
  .desk-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desk-card:not(:nth-child(4n + 1)) { padding-left: 0; border-left: 0; }
  .desk-card:nth-child(2n) { padding-left: 22px; border-left: 1px solid var(--rule); }
}
@media (max-width: 560px) {
  /* Phones: a compact 2-column grid of desks; lead claims are already elsewhere on the page. */
  .desk-card { padding: 16px 12px 16px 0; gap: 0; }
  .desk-card:nth-child(2n) { padding-left: 14px; }
  .desk-card-lead, .desk-card-odds, .desk-card-empty { display: none; }
  .desk-card-head { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; row-gap: 10px; }
  .desk-icon { grid-row: auto; width: 52px; height: 52px; border-radius: 12px; }
  .desk-glyph { width: 36px; height: 36px; }
  .desk-card-name { font-size: 18px; }
}
.search-link .icon, .bell .icon { width: 20px; height: 20px; stroke-width: 1.8; }
.masthead-dot { color: var(--seal); }
.masthead-dek { margin: 10px 0 0; max-width: 70ch; font: 18px/1.5 var(--f-read); color: var(--ink-2); }
.masthead-top + .masthead-dek + .masthead-counts { margin-top: 12px; }
.footer-tagline { font-style: normal; font-family: var(--f-head); font-weight: 700; color: var(--ink); }

/* ---------- The wall (signed-in home): desks · feed · live ---------- */
.wall { max-width: 1280px; margin: 24px auto 0; padding-inline: 20px; display: grid; grid-template-columns: 220px minmax(0, 1fr) 300px; gap: 36px; align-items: start; }
.wall-left, .wall-right { position: sticky; top: 84px; display: grid; gap: 14px; }
.wall-me { padding-bottom: 14px; border-bottom: 1px solid var(--rule); display: grid; gap: 4px; }
.wall-me-name { font: 700 20px/1.2 var(--f-head); text-decoration: none; color: var(--ink); }
.wall-me p { margin: 0; color: var(--ink-2); }
.wall-me-scores { display: flex; gap: 20px; margin: 6px 0 0; }
.wall-me-scores div { display: grid; }
.wall-me-scores dd { margin: 0; font: 700 22px/1.1 var(--f-head); font-variant-numeric: tabular-nums; }
.wall-side-title { margin: 6px 0 0; font: 600 11.5px var(--f-ledger); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.wall-hint { margin: 0; font-size: 14.5px; color: var(--ink-2); }
.wall-desks { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.wall-desks li { display: flex; align-items: center; gap: 6px; }
.wall-desks a { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 5px 6px; margin-left: -6px; border-radius: 8px; text-decoration: none; color: var(--ink); font-weight: 600; font-size: 14.5px; }
.wall-desks a:hover { background: var(--wash); }
.wall-desks a .ledger { margin-left: auto; color: var(--ink-3); }
.desk-mini { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--rule); border-radius: 8px; background: var(--paper); flex: none; }
.desk-mini .desk-glyph { width: 20px; height: 20px; }
.desk-mini.sm { width: 22px; height: 22px; border-radius: 8px; }
.desk-mini.sm .desk-glyph { width: 15px; height: 15px; }
.follow-btn { border: 1px solid var(--rule); background: var(--paper); border-radius: 999px; padding: 3px 10px; font: 600 12.5px var(--f-ui); color: var(--ink); cursor: pointer; }
.follow-btn:hover { border-color: var(--ink); }

.wall-main { min-width: 0; }
.wall-main .ask-box { margin: 0 0 18px; }
.onboard { border: 1px solid var(--rule); border-radius: 12px; padding: 20px; margin-bottom: 18px; background: var(--paper); }
.onboard h2 { margin: 0 0 6px; font: 700 22px/1.2 var(--f-head); }
.onboard > p { margin: 0 0 14px; color: var(--ink-2); }
.onboard-desks { display: flex; flex-wrap: wrap; gap: 8px; }
.onboard-chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 5px; border: 1px solid var(--rule); border-radius: 999px; background: var(--paper); font: 600 14.5px var(--f-ui); color: var(--ink); cursor: pointer; }
.onboard-chip:hover { border-color: var(--ink); }
.onboard-chip .desk-mini { border: 0; width: 28px; height: 28px; }
.onboard-plus { color: var(--seal); font-weight: 700; }
.wall-tabs { display: flex; gap: 22px; border-bottom: 1px solid var(--rule); margin-bottom: 4px; }
.wall-tabs a { padding: 10px 0; font: 600 14.5px var(--f-ui); color: var(--ink-2); text-decoration: none; box-shadow: inset 0 -2px 0 transparent; }
.wall-tabs a[aria-current="page"] { color: var(--ink); box-shadow: inset 0 -2px 0 var(--seal); }

.feed-item { padding: 18px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 7px; }
.feed-kicker { margin: 0; color: var(--ink-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.feed-desk { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-2); }
.feed-action { margin: 0; font-size: 14.5px; color: var(--ink-2); }
.feed-action b { color: var(--ink); }
.feed-action .faz { color: var(--seal); }
.feed-action .stamp { transform: none; margin-left: 6px; font-size: 11.5px; padding: 2px 6px; }
.side { font: 600 12.5px var(--f-ledger); text-transform: uppercase; letter-spacing: .05em; color: var(--ink); }
.feed-title { margin: 0; font: 700 20px/1.28 var(--f-head); letter-spacing: -.01em; text-wrap: pretty; }
.feed-title a { text-decoration: none; color: var(--ink); }
.feed-title a:hover { text-decoration: underline; }
.feed-body { margin: 0; font: 16.5px/1.55 var(--f-read); color: var(--ink); }
.feed-body.ledger { font: 500 12.5px var(--f-ledger); color: var(--ink-2); }
.feed-quote { margin: 0; padding-left: 14px; border-left: 3px solid var(--ink); font: italic 17px/1.5 var(--f-read); }
.feed-context { margin: 0; font-size: 13.5px; color: var(--ink-2); }
.feed-context a { color: var(--ink); font-weight: 600; text-decoration: none; }
.feed-context a:hover { text-decoration: underline; }
.feed-stat { margin: 0; color: var(--ink-2); }
.feed-move { margin: 2px 0; display: flex; align-items: baseline; gap: 8px; font: 700 28px/1 var(--f-head); font-variant-numeric: tabular-nums; }
.feed-move .was { color: var(--ink-3); font-weight: 600; font-size: 22px; }
.feed-move .now { color: var(--seal); }
.feed-move .delta { font: 600 12.5px var(--f-ledger); color: var(--ink-2); }
.feed-odds { margin: 4px 0 0; display: flex; align-items: center; gap: 16px; color: var(--ink-2); }
.feed-odds b { color: var(--ink); font-weight: 600; }
.feed-odds .faz, .feed-odds .faz b { color: var(--seal); }
.feed-cta { margin-left: auto; font: 600 13.5px var(--f-ui); text-transform: none; letter-spacing: 0; color: var(--ink); text-decoration: none; border: 1px solid var(--rule); border-radius: 999px; padding: 5px 12px; }
.feed-cta:hover { border-color: var(--ink); }
.feed-more { text-align: center; margin: 22px 0; }

@media (max-width: 1180px) {
  .wall { grid-template-columns: 200px minmax(0, 1fr); }
  .wall-right { display: none; }
}
@media (max-width: 880px) {
  .wall { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 16px; padding-inline: 16px; }
  .wall-left { position: static; }
  .wall-me { display: none; }
  .wall-left .wall-side-title { display: none; }
  .wall-left .wall-hint { display: none; }
  .wall-desks { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .wall-desks li { flex: none; }
  .wall-desks a { margin: 0; border: 1px solid var(--rule); border-radius: 999px; padding: 4px 12px 4px 4px; font-size: 13.5px; white-space: nowrap; }
  .wall-desks a .ledger { display: none; }
  .wall-desks .follow-btn { display: none; }
  .desk-mini { width: 26px; height: 26px; border: 0; }
  .feed-title { font-size: 18px; }
  .feed-odds { flex-wrap: wrap; gap: 8px 14px; }
}

/* Filing: dated or threshold claim */
.kind-choice { border: 0; padding: 0; margin: 0; display: grid; gap: 6px; }
.kind-choice legend { font-weight: 600; margin-bottom: 6px; padding: 0; }
.kind-choice label { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-weight: 500; }
.threshold-age .countdown-digits { font-size: 20px; }
.early-callers { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.early-callers li { display: flex; gap: 8px; flex-wrap: wrap; align-items: baseline; padding: 6px 0; border-bottom: 1px solid var(--rule); }
