/* additions.css: styles for the September 21 revision. Loaded after styles.css and pages.css, which are
   unchanged from production, so everything new is reviewable in this one file. */

/* ---------- Footer ---------- */
.footer-provenance a { color: var(--accent); }

/* ---------- Homepage: how-to-read box above the ranking ---------- */
.top .answer.reading { margin: 0 0 2rem; max-width: 56rem; }

/* ---------- Tool page: one-sentence index summary under the overview ---------- */
.tp-summary { margin-top: 1rem; max-width: var(--measure); font-family: var(--sans); font-size: 0.9375rem; line-height: 1.55; color: var(--ink-2); }
.tp-summary strong { color: var(--ink); font-weight: 600; }

/* ---------- Tool page: rank, tie and date span under the gauge ---------- */
.tp-score-rank { display: block; margin-top: 0.35rem; font-family: var(--sans); font-size: 0.75rem; line-height: 1.4; color: var(--ink-2); text-align: center; font-variant-numeric: tabular-nums; }

/* ---------- Breadcrumb: production colors every span like a separator, which hides the current page ---------- */
.tp-crumb .crumb-here { color: var(--muted); margin-inline: 0; }

/* ---------- Tables: a text column that follows a right-aligned number needs its own gutter ---------- */
.data-table .num + td:not(.num), .data-table .num + th:not(.num) { padding-left: 1.5rem; }

/* ---------- Tool page: topic table ---------- */
.tp-topics .tp-sec-title { margin-bottom: 0.6rem; }
.tp-quotes-dek { color: var(--ink-2); max-width: var(--measure); margin: -1.25rem 0 2rem; font-size: 0.9375rem; }
.tp-quotes-dek a { color: var(--accent); }
.topic-table td:last-child { width: 34%; min-width: 9rem; }
.topic-bar { display: flex; height: 0.6rem; border-radius: 999px; overflow: hidden; background: var(--rule-2); }
.topic-bar span { display: block; height: 100%; }
.topic-bar span[data-s="positive"] { background: var(--accent); }
.topic-bar span[data-s="neutral"] { background: var(--muted); opacity: 0.4; }
.topic-bar span[data-s="negative"] { background: var(--neg); }
.thin { display: inline-block; margin-left: 0.4rem; font-family: var(--sans); font-size: 0.625rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.12em 0.5em; border-radius: 999px; border: 1px solid var(--rule); color: var(--muted); vertical-align: middle; }
.tp-topics .method-note { margin-top: 1rem; }
.tp-report { padding-block: 1.5rem; }

/* ---------- Registry: sort control ---------- */
.sortsel { font: inherit; font-family: var(--sans); font-size: 0.8125rem; background: var(--paper); color: var(--ink); border: 1px solid var(--rule); border-radius: var(--radius); padding: 0.3rem 0.5rem; }
label.fl { cursor: default; }

/* ---------- Text pages: about, method, corrections, privacy, terms ---------- */
.prose { max-width: var(--measure); }
.prose h2 { font-size: 1.6rem; line-height: 1.2; margin: 0 0 0.9rem; }
.prose h3 { font-size: 1.15rem; margin: 1.75rem 0 0.5rem; }
.prose p, .prose li { color: var(--ink-2); font-size: 1.0625rem; line-height: 1.65; }
.prose p { margin: 0 0 1rem; }
.prose ul, .prose ol { margin: 0 0 1.1rem; padding-left: 1.25rem; }
.prose li { margin-bottom: 0.45rem; }
.prose a { color: var(--accent); }
.prose strong { color: var(--ink); font-weight: 600; }
.prose code { font-family: var(--mono); font-size: 0.9em; background: var(--paper-2); padding: 0.1em 0.35em; border-radius: 3px; }
.prose .eq { font-family: var(--mono); font-size: 0.95rem; background: var(--paper-2); border: 1px solid var(--rule); border-radius: 8px; padding: 0.9rem 1.1rem; overflow-x: auto; color: var(--ink); }
.pg-section .prose + .table-scroll, .pg-section .table-scroll + .prose { margin-top: 1.5rem; }
.status-list { list-style: none; padding-left: 0 !important; }
.status-list li { padding-left: 1.6rem; position: relative; }
.status-list li::before { position: absolute; left: 0; top: 0; font-family: var(--sans); font-weight: 600; }
.status-list li[data-state="yes"]::before { content: "✓"; color: var(--accent); }
.status-list li[data-state="no"]::before { content: "✗"; color: var(--neg); }

/* ---------- 404 ---------- */
.notfound { padding-block: clamp(4rem, 12vw, 9rem); }
.notfound h1 { font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem); margin-bottom: 1rem; }
.notfound ul { font-family: var(--sans); padding-left: 1.2rem; margin-top: 1.25rem; }
.notfound li { margin-bottom: 0.4rem; }
.notfound a { color: var(--accent); }
