:root {
  color-scheme: light dark;
  --bg: #f7f6f0;
  --surface: #fffef9;
  --surface-soft: #ebeee8;
  --track: #dce3df;
  --ink: #18252c;
  --muted: #5d6a70;
  --accent: #236b50;
  --accent-ink: #f5fff8;
  --true: #1f6948;
  --true-surface: #dceee2;
  --false: #a8453b;
  --false-surface: #f4dfda;
  --unknown: #727a78;
  --unknown-surface: #e1e5e1;
  --stamp-paper: #fff9ed;
  --stamp-muted: #526066;
  --stamp-unknown: #59615d;
  --stamp-border: #d8cfbe;
  --stamp-shadow: #18252c1a;
  --stamp-grain-blend: multiply;
  --stamp-grain-opacity: 0.6;
  --stamp-meter-track: #84765f;
  --stamp-light: #ffd59a;
  --stamp-dim: #38210f;
  --stamp-dim-opacity: 0.25;
  --stamp-paper-dim: #38210f;
  --stamp-paper-dim-opacity: 0.25;
  --stamp-beam-haze: 0.3;
  --stamp-cone-opacity: 0.75;
  --stamp-pool-opacity: 0.35;
  --stamp-dust-opacity: 0.5;
  --stamp-flare-opacity: 0.65;
  --stamp-burst-opacity: 0.7;
  --severity-exact: #216a50;
  --severity-minor: #845600;
  --severity-moderate: #845600;
  --severity-major: #9a4515;
  --severity-severe: #a43f37;
  --without: #687982;
  --focus: #bb673d;
  --code-bg: #102027;
  --code-ink: #f4f7f0;
  --footer-bg: #18252c;
  --footer-ink: #f3f7f2;
  --footer-muted: #bdc9c4;
  --filing-period: #cfe4dc;
  --filing-row-label: #e5e9df;
  --filing-fact: #f2c66c;
  --filing-fact-ink: #1d241f;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-document: Georgia, "Times New Roman", "Noto Serif TC", serif;
  --filing-paper: #fff9ed;
  --filing-ink: #29271f;
  --filing-muted: #5b5549;
  --filing-rule: #c2b9a5;
  --filing-wash: #efe6d2;
  --filing-stamp: #853b2d;
}

@media (prefers-color-scheme: dark) {
  :root {
    --filing-paper: #e1dacb;
    --filing-wash: #d3cab6;
    --bg: #10181c;
    --surface: #19252b;
    --surface-soft: #202f35;
    --track: #3a4a50;
    --ink: #f0f5f1;
    --muted: #b6c2be;
    --accent: #7bd1a4;
    --accent-ink: #102119;
    --true: #85dcae;
    --true-surface: #1c3c2b;
    --false: #f29181;
    --false-surface: #4a2926;
    --unknown: #c6ccc7;
    --unknown-surface: #303c40;
    --stamp-paper: #202d36;
    --stamp-muted: #bcc9d2;
    --stamp-unknown: #c6ccc7;
    --stamp-border: #425563;
    --stamp-shadow: #00000052;
    --stamp-grain-blend: soft-light;
    --stamp-grain-opacity: 0.12;
    --stamp-meter-track: #9baebb;
    --stamp-light: #d9fff0;
    --stamp-dim: #03090d;
    --stamp-dim-opacity: 0.45;
    --stamp-paper-dim-opacity: 0.32;
    --stamp-beam-haze: 0.22;
    --stamp-cone-opacity: 0.6;
    --stamp-pool-opacity: 0.28;
    --stamp-dust-opacity: 0.45;
    --stamp-flare-opacity: 0.5;
    --stamp-burst-opacity: 0.6;
    --severity-exact: #85dcae;
    --severity-minor: #efc575;
    --severity-moderate: #efc575;
    --severity-major: #ffb27a;
    --severity-severe: #ffa294;
    --without: #9abac1;
    --focus: #f0a178;
    --code-bg: #0b1114;
    --code-ink: #f0f5f1;
    --footer-bg: #0b1114;
    --footer-ink: #f0f5f1;
    --footer-muted: #b6c2be;
    --filing-period: #25463a;
    --filing-row-label: #293438;
    --filing-fact: #d8a84e;
    --filing-fact-ink: #111a17;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--accent);
  color: var(--accent-ink);
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

button {
  font: inherit;
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1,
h2,
h3 {
  color: var(--ink);
  font-weight: 750;
  letter-spacing: -0.04em;
  line-height: 1.04;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2rem, 4.7vw, 4rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
}

h2 {
  font-size: clamp(2rem, 4.3vw, 4rem);
}

h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.5rem);
}

p {
  max-width: 65ch;
}

.shell {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding-inline: clamp(20px, 4vw, 56px);
}

.skip-link {
  position: absolute;
  z-index: 10;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  background: var(--ink);
  color: var(--bg);
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  padding-block: 18px;
  background: var(--bg);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 28px;
}

.brand {
  font-size: 1rem;
  font-weight: 760;
  letter-spacing: -0.02em;
  text-decoration: none;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 22px;
  color: var(--muted);
  font-size: 0.94rem;
}

.site-nav a,
.footer-links a {
  text-decoration-thickness: 0.07em;
}

.language-switch {
  display: flex;
  gap: 3px;
  padding: 3px;
  background: var(--surface-soft);
}

.language-button,
.example-button {
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.language-button {
  min-width: 38px;
  padding: 6px 8px;
  font-size: 0.82rem;
  font-weight: 760;
}

.language-button.is-active,
.example-button.is-active {
  background: var(--ink);
  color: var(--bg);
}

.hero {
  padding-block: clamp(24px, 3vw, 40px) 32px;
}

.hero-copy {
  max-width: 970px;
}

.hero h1 span {
  display: block;
}

.hero-lede {
  max-width: 48ch;
  margin-top: 16px;
  color: var(--muted);
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.42;
}

/* Two fixed review panels; only their contents move. All heights include the strip. */
.stamp-scene {
  --stamp-panel-height: 316px;
  --stamp-content-height: 0px;
  --stamp-label-height: 24px;
  --stamp-strip-height: 44px;
  --stamp-strip-gap: 12px;
  --stamp-robot-width: 190px;
  --stamp-robot-height: 260px;
  --stamp-column-gap: 16px;
  --stamp-letterbox-height: 12px;
  position: relative;
  isolation: isolate;
  height: calc(2 * var(--stamp-letterbox-height) + var(--stamp-label-height) + max(var(--stamp-panel-height), var(--stamp-content-height)) + var(--stamp-strip-gap) + var(--stamp-strip-height));
  max-width: 1180px;
  margin: 20px auto 0;
}

.stamp-scene[hidden], .stamp-scene [hidden] { display: none !important; }
.stamp-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--stamp-robot-width) minmax(0, 1fr);
  column-gap: var(--stamp-column-gap);
  height: calc(2 * var(--stamp-letterbox-height) + var(--stamp-label-height) + max(var(--stamp-panel-height), var(--stamp-content-height)));
  padding-block: var(--stamp-letterbox-height);
  isolation: isolate;
}
.stamp-post-panel { grid-column: 1; min-width: 0; }
.stamp-filing-panel { grid-column: 3; min-width: 0; }
.stamp-panel-label { height: var(--stamp-label-height); margin: 0; font-size: 0.75rem; font-weight: 650; line-height: 20px; letter-spacing: 0; }
.stamp-track { position: relative; isolation: isolate; height: max(var(--stamp-panel-height), var(--stamp-content-height)); overflow: hidden; border: 1px solid var(--stamp-border); border-radius: 14px; background: var(--stamp-paper); box-shadow: 0 4px 12px var(--stamp-shadow); pointer-events: none; } /* taste-skill-ignore: §9 requires a rounded community post and a contact shadow. */
.stamp-carrier { position: absolute; inset: 0; width: 100%; height: 100%; will-change: transform, opacity; }
.stamp-filing-box {
  position: relative;
  isolation: isolate;
  height: max(var(--stamp-panel-height), var(--stamp-content-height));
  padding: 12px;
  border: 1px solid var(--filing-rule); /* taste-skill-ignore: a physical paper edge. */
  background: var(--filing-paper);
  color: var(--filing-ink);
  overflow: hidden;
  box-shadow: 0 8px 16px var(--stamp-shadow); /* taste-skill-ignore: §9 specifies a paper stack's soft contact shadow. */
}
.stamp-filing-box::after { position: absolute; z-index: -2; inset: 3px 0 0 3px; border: 1px solid var(--filing-rule); background: var(--filing-paper); box-shadow: inset -3px -3px 0 var(--filing-wash); pointer-events: none; content: ""; } /* taste-skill-ignore: offset sheets stay inside the paper's clipped footprint. */
.stamp-filing-box::before, .stamp-passage.has-paper-grain::before { position: absolute; z-index: -1; inset: 0; background-size: 256px 256px; opacity: 0.5; mix-blend-mode: multiply; pointer-events: none; content: ""; }
.stamp-filing-box.has-paper-grain::before, .stamp-passage.has-paper-grain::before { background-image: url("img/polish/paper-grain.webp"); }
.stamp-paper-grain { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
.stamp-paperclip { position: absolute; z-index: 2; top: 0; right: 9px; width: 19px; height: 34px; object-fit: contain; pointer-events: none; }
.stamp-stack-edge { position: absolute; z-index: -1; bottom: 0; left: 3px; width: calc(100% - 3px); height: 4px; object-fit: cover; object-position: bottom; pointer-events: none; }
.stamp-polish-art.is-unavailable { visibility: hidden; }
.stamp-filing-content { position: relative; height: 100%; }
.stamp-filing-state { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; padding: 24px; color: var(--stamp-muted); font-size: 0.875rem; }
.stamp-filing-state p, .stamp-static-unavailable p { margin: 0; }
.stamp-filing-state-title, .stamp-no-number-title { font-weight: 650; }
.stamp-filing-state-explanation, .stamp-no-number-explanation { font-size: 0.8125rem; line-height: 1.45; }
.stamp-filing-state-kind, .stamp-no-number-kind { padding: 3px 7px; background: var(--surface-soft); font-size: 0.75rem; }
.stamp-robot-band { position: relative; z-index: 4; grid-column: 2; grid-row: 1; align-self: center; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.stamp-robot { position: relative; z-index: 1; flex-shrink: 0; width: var(--stamp-robot-width); height: var(--stamp-robot-height); transform-origin: bottom center; pointer-events: none; }
.stamp-floor-shadow { position: absolute; z-index: 0; top: 0; left: 0; width: 220px; height: 34px; border-radius: 50%; background: radial-gradient(ellipse, var(--stamp-shadow) 0%, var(--stamp-shadow) 25%, transparent 72%); transform-origin: 0 0; pointer-events: none; } /* taste-skill-ignore: the director's stationary hover shadow, not a background gradient. */
.stamp-thruster { position: absolute; z-index: 0; top: 0; left: 0; width: 160px; height: 160px; transform-origin: 0 0; opacity: 0; pointer-events: none; }
.stamp-thruster-frame { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; }
.stamp-robot-pose { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom center; opacity: 0; }
.stamp-robot-pose[data-facing="post"] { transform: scaleX(-1); }
.stamp-robot-pose[data-facing="front"], .stamp-robot-pose[data-facing="filing"] { transform: scaleX(1); }
.stamp-caption { display: flex; flex-direction: column; justify-content: center; align-self: stretch; flex-shrink: 0; height: 46px; min-height: 46px; margin: 0; padding: 6px 8px; border-radius: 10px; background: var(--surface-soft); color: var(--ink); font-size: 0.75rem; font-weight: 600; line-height: 1.35; text-align: center; }
.stamp-caption-verdict { margin-top: 3px; color: var(--stamp-muted); font-size: 0.625rem; font-weight: 750; }
/* The feathered gradients are baked into the overlay; no animated blur/filter.
   Both masks cut out the text boxes, so neither shade nor light washes the ink. */
.stamp-spotlight { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; overflow: hidden; color: var(--stamp-light); pointer-events: none; }
.stamp-stage-dim, .stamp-filing-dim { fill: var(--stamp-dim); fill-opacity: var(--stamp-dim-opacity); opacity: 0; }
.stamp-filing-dim, .stamp-paper-dim { fill: var(--stamp-paper-dim); fill-opacity: var(--stamp-paper-dim-opacity); opacity: 0; }
.stamp-filing-dim { fill: url(#stamp-filing-vignette); }
#stamp-filing-vignette stop { stop-color: var(--stamp-paper-dim); }
.stamp-beam-post, .stamp-beam-filing, .stamp-beam-year, .stamp-dust, .stamp-impact-flash, .stamp-letterbox { opacity: 0; }
.stamp-beam-haze { opacity: var(--stamp-beam-haze); }
.stamp-dust { fill: currentColor; }
.stamp-letterbox { fill: #03090d; }
.stamp-fx-screen { fill: currentColor; mix-blend-mode: screen; }
.stamp-fx-cone { opacity: var(--stamp-cone-opacity); }
.stamp-fx-pool { opacity: var(--stamp-pool-opacity); }
.stamp-fx-dust { opacity: var(--stamp-dust-opacity); }
.stamp-fx-flare { opacity: var(--stamp-flare-opacity); }
.stamp-fx-burst { opacity: var(--stamp-burst-opacity); }
.stamp-fx-grain { mix-blend-mode: soft-light; }

.stamp-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 14px;
  border: 1px solid var(--stamp-border); /* taste-skill-ignore: the brief requires a paper edge in both themes. */
  background: var(--stamp-paper);
  box-shadow: 0 5px 16px var(--stamp-shadow), 0 1px 2px var(--stamp-shadow); /* taste-skill-ignore: brief requires paper shadows. */
  color: var(--ink);
  text-decoration: none;
}

.stamp-static-item .stamp-card::before,
.stamp-track::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: url("img/stamp-paper.webp") repeat;
  background-size: 256px 256px;
  mix-blend-mode: var(--stamp-grain-blend);
  opacity: var(--stamp-grain-opacity);
  pointer-events: none;
  content: "";
}

/* The animated post's paper belongs to its fixed panel. */
.stamp-track .stamp-card { border: 0; background: transparent; box-shadow: none; } /* taste-skill-ignore: removes the moving card shadow; paper belongs to the fixed panel. */

.stamp-post-header {
  display: flex;
  flex-shrink: 0;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
}

.stamp-avatar {
  display: block;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}

.stamp-identity { flex: 1; min-width: 0; }
.stamp-author-row { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.stamp-author { min-width: 0; font-size: 0.8125rem; line-height: 1.35; overflow-wrap: anywhere; }
.stamp-example { flex-shrink: 0; padding: 2px 5px; background: var(--surface-soft); color: var(--stamp-muted); font-size: 0.5625rem; line-height: 1.4; white-space: nowrap; }
.stamp-byline { margin: 0; color: var(--stamp-muted); font-size: 0.625rem; line-height: 1.4; }
.stamp-byline[hidden] { display: none; }
.stamp-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; margin: 1px 0 0; color: var(--stamp-muted); font-size: 0.625rem; line-height: 1.4; }
.stamp-post-meta .stamp-post-date::before { content: "· "; }
.stamp-followers { display: block; color: var(--stamp-muted); font-size: 0.625rem; line-height: 1.4; }
.stamp-track .stamp-followers { display: none; }
.stamp-followers, .stamp-post-date { white-space: nowrap; }
.stamp-post-date { font-variant-numeric: tabular-nums; }
.stamp-reposted { margin: 6px 0 0; color: var(--stamp-muted); font-size: 0.6875rem; line-height: 1.4; }

.stamp-card-header {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 18px;
  flex-shrink: 0;
}

.stamp-ticker {
  display: inline-block;
  flex-shrink: 0;
  padding: 1px 4px;
  background: var(--surface-soft);
  font-size: 0.6875rem;
  font-weight: 800;
  line-height: 1.5;
}

.stamp-company {
  flex: 1;
  min-width: 0;
  font-size: 0.625rem;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.stamp-source {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  margin: 0;
  color: var(--stamp-muted);
  font-size: 0.5625rem;
  line-height: 1.5;
  white-space: nowrap;
}

.stamp-claim {
  flex-shrink: 0;
  min-height: 0;
  margin: 6px 0;
  font-family: var(--font);
  font-size: 1.0625rem;
  font-weight: 550;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.stamp-number {
  position: relative;
  isolation: isolate;
  display: inline-block;
  font-size: 1.625rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.04em;
}

.stamp-number-glow {
  position: absolute;
  z-index: -1;
  inset: 2px -3px;
  background: var(--accent);
  opacity: 0;
}

.stamp-period {
  align-self: flex-start;
  flex-shrink: 0;
  padding: 3px 6px;
  background: var(--surface-soft);
  font-size: 0.6875rem;
  line-height: 1.3;
}

.stamp-period[hidden] { display: none; }

/* Four fictional publication formats share the same recorded check. */
.stamp-post-content { flex-shrink: 0; min-width: 0; }
.stamp-input-badge { padding-inline: 4px; border: 1px solid var(--stamp-border); font-size: 0.5625rem; font-weight: 600; line-height: 1.4; } /* taste-skill-ignore: an actual input-format label. */
.stamp-thread-index { color: var(--ink); font-variant-numeric: tabular-nums; }
.stamp-actions { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-top: 7px; padding-top: 5px; border-top: 1px solid var(--stamp-border); color: var(--stamp-muted); font-size: 0.625rem; line-height: 1.2; } /* taste-skill-ignore: a post's quiet action row, per §9.2. */
.stamp-action { display: inline-flex; align-items: center; gap: 4px; font-variant-numeric: tabular-nums; }
.stamp-actions svg, .stamp-audience svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.stamp-activity-label { font-size: 0.5rem; white-space: nowrap; }
.stamp-reactions .stamp-action:first-child { order: 2; }
.stamp-reactions .stamp-action:nth-child(3) { order: -1; color: var(--false); }
.stamp-reactions .stamp-activity-label { order: 3; }
.stamp-audience { display: inline-flex; }
.stamp-card[data-source-kind="social"] { border-radius: 14px; }
.stamp-card[data-source-kind="social"] .stamp-claim { font-family: var(--font); font-size: 1.125rem; }
.stamp-quote-card { padding: 8px 10px; border: 1px solid var(--stamp-border); border-radius: 10px; } /* taste-skill-ignore: the original post is embedded in a quote card, per §9.2. */
.stamp-quote-header { display: flex; gap: 8px; align-items: center; }
.stamp-original-author { font-size: 0.75rem; line-height: 1.2; }
.stamp-original-byline { margin: 0; color: var(--stamp-muted); font-size: 0.625rem; line-height: 1.2; }
.stamp-quote-header .stamp-post-date { display: block; color: var(--stamp-muted); font-size: 0.5625rem; }
.stamp-card[data-source-kind="repost"] .stamp-reposted { margin: 0 0 4px; }
.stamp-card[data-source-kind="repost"] .stamp-claim { margin-block: 5px; font-size: 0.9375rem; }
.stamp-card[data-source-kind="repost"] .stamp-number { font-size: 1.375rem; }
.stamp-card[data-source-kind="repost"] .stamp-review { min-height: 60px; padding-top: 5px; }
.stamp-masthead { display: block; width: min(100%, 230px); height: 27px; object-fit: contain; object-position: left center; }
.stamp-card[data-source-kind="article"] { background: var(--filing-paper); color: var(--filing-ink); --stamp-muted: var(--filing-muted); --stamp-border: var(--filing-rule); --surface-soft: var(--filing-wash); --stamp-meter-track: #84765f; --stamp-unknown: #59615d; --true: #1f6948; --severity-exact: #216a50; }
.stamp-track[data-source-kind="article"], .stamp-track[data-source-kind="thread"] { border-radius: 2px; }
.stamp-card[data-source-kind="article"] .stamp-author { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.stamp-card[data-source-kind="article"] .masthead-unavailable .stamp-author { position: static; width: auto; height: auto; clip-path: none; font-family: var(--font-document); font-size: 1rem; }
.masthead-unavailable .stamp-masthead { display: none; }
.stamp-card[data-source-kind="article"] .stamp-card-header { display: none; }
.stamp-card[data-source-kind="article"] .stamp-source { display: none; }
.stamp-card[data-source-kind="article"] .stamp-byline { display: block; }
.stamp-card[data-source-kind="article"] .stamp-post-meta { gap: 2px 6px; }
.stamp-card[data-source-kind="article"] .stamp-post-header { padding-bottom: 5px; margin-bottom: 2px; border-bottom: 2px solid var(--filing-ink); } /* taste-skill-ignore: fictional newspaper masthead rule, per §9.2. */
.stamp-card[data-source-kind="article"] .stamp-claim { margin-block: 5px; font-family: var(--font-document); font-size: 1.1875rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; }
.stamp-card[data-source-kind="article"] .stamp-number { font-family: inherit; font-size: 1.375rem; }
.stamp-article-deck { display: grid; grid-template-columns: minmax(0, 1fr) 78px; gap: 8px; align-items: center; margin-block: 5px; }
.stamp-article-lead { margin: 0; font-size: 0.6875rem; line-height: 1.3; }
.stamp-article-pictures { position: relative; width: 100%; height: 44px; }
.stamp-article-picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.stamp-article-picture + .stamp-article-picture { opacity: 0; }
.stamp-scene[data-phase="compare"] .stamp-track .stamp-article-picture:first-child,
.stamp-scene[data-phase="react"] .stamp-track .stamp-article-picture:first-child { opacity: 0; }
.stamp-scene[data-phase="compare"] .stamp-track .stamp-article-picture + .stamp-article-picture,
.stamp-scene[data-phase="react"] .stamp-track .stamp-article-picture + .stamp-article-picture { opacity: 1; }
.stamp-static-item .stamp-article-pictures { display: flex; gap: 4px; }
.stamp-static-item .stamp-article-picture { position: static; width: calc(50% - 2px); opacity: 1; }
.stamp-card[data-source-kind="article"] .stamp-review { min-height: 60px; padding-top: 5px; }
.stamp-card[data-source-kind="article"] .stamp-input-badge { display: inline-block; }
.stamp-input-media { position: relative; margin-block: 6px; padding: 6px 8px; background: var(--surface-soft); }
.stamp-waveform { display: flex; height: 28px; align-items: center; gap: 3px; padding-right: 42px; }
.stamp-waveform span { flex: 1; max-width: 5px; height: calc(4px + var(--sample) * 24px); background: var(--accent); }
.stamp-media-time { position: absolute; right: 8px; top: 8px; padding: 2px 4px; background: var(--ink); color: var(--bg); font-size: 0.625rem; font-variant-numeric: tabular-nums; }
.stamp-transcript { margin: 5px 0 0; padding-inline-start: 8px; border-inline-start: 2px solid var(--accent); font-size: 0.8125rem; line-height: 1.3; }
.stamp-frame { display: block; width: 100%; height: 72px; object-fit: contain; }

.stamp-filed {
  min-height: 0;
  margin: 0 0 5px;
  font-size: 0.8125rem;
  font-weight: 750;
  line-height: 1.4;
}
.stamp-filed:empty { display: none; }

.stamp-review {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  margin-top: auto;
  padding-top: 8px;
  flex-shrink: 0;
}

.stamp-score-summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  margin: 0 0 5px;
  color: var(--stamp-severity);
  font-size: 0.75rem;
  line-height: 1.3;
}

.stamp-score {
  font-size: 0.6875rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.stamp-meter {
  position: relative;
  display: block;
  width: 100%;
  height: 6px;
  background: var(--stamp-meter-track);
}

.stamp-meter-fill {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--stamp-severity);
  transform-origin: left center;
}

.stamp-card[data-severity="exact"] { --stamp-severity: var(--severity-exact); }
.stamp-card[data-severity="minor"] { --stamp-severity: var(--severity-minor); }
.stamp-card[data-severity="moderate"] { --stamp-severity: var(--severity-moderate); }
.stamp-card[data-severity="major"] { --stamp-severity: var(--severity-major); }
.stamp-card[data-severity="severe"] { --stamp-severity: var(--severity-severe); }

/* A full-width transparent carrier lets the marker travel by percentage. Its
   ink stays four pixels wide, including at the zero and hundred endpoints. */
.stamp-meter-marker { position: absolute; inset: -3px 0; pointer-events: none; }
.stamp-meter-marker::after {
  position: absolute;
  inset-block: 0;
  left: 0;
  width: 4px;
  background: var(--stamp-severity);
  box-shadow: 0 0 0 1px var(--stamp-paper); /* taste-skill-ignore: separates the score marker from the track. */
  transform: translateX(-50%);
  content: "";
}

.stamp-gap { color: var(--stamp-severity); }

.stamp-gap,
.stamp-uncheckable {
  margin: 5px 0 0;
  font-size: 0.6875rem;
  line-height: 1.35;
}

.stamp-mark {
  position: relative;
  display: block;
  width: 96px;
  justify-self: center;
  color: var(--stamp-unknown);
  font-family: Impact, "Arial Narrow", "Roboto Condensed", var(--font);
  font-size: 1.5rem;
  font-stretch: condensed;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  transform: rotate(var(--stamp-angle));
  transform-origin: center;
}

.stamp-card.is-true .stamp-mark { color: var(--true); }
.stamp-card.is-false .stamp-mark { color: var(--severity-severe); }
.stamp-card.is-unknown .stamp-mark { font-size: 0.875rem; }

.stamp-impression,
.stamp-bleed {
  position: relative;
  display: block;
  padding: 7px 3px;
  border: 3px solid currentColor;
  white-space: nowrap;
}

.stamp-impression::after,
.stamp-bleed::after {
  position: absolute;
  inset: 3px;
  border: 1px solid currentColor; /* taste-skill-ignore: the required verdict stamp has a double ink edge. */
  content: "";
}

@supports (mask-mode: luminance) {
  .has-stamp-ink .stamp-impression {
    mask-image: url("img/stamp-ink.webp");
    mask-mode: luminance;
    mask-size: 340px 340px;
    mask-position: left top;
  }
}

.stamp-bleed { position: absolute; inset: 0; opacity: 0; }

.stamp-scan { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.stamp-scan-light { position: absolute; inset-block: 0; left: 0; width: 48px; background: var(--accent); opacity: 0; }

/* Filing geometry stays still: Reach reveals its header, Find reveals its rows. */
.stamp-passage { position: absolute; inset: 0; display: flex; flex-direction: column; color: var(--filing-ink); font-family: var(--font-document); }
.stamp-passage-header, .stamp-passage-details { flex-shrink: 0; }
.stamp-passage-meta, .stamp-passage-company, .stamp-passage-period, .stamp-passage-units, .stamp-derivation { margin: 0; }
.stamp-filing-authority { margin: 0; padding-inline: 8px; font-size: 0.5rem; font-weight: 700; font-variant-caps: small-caps; letter-spacing: 0.035em; line-height: 1.3; text-align: center; }
.stamp-form-line { display: flex; justify-content: space-between; align-items: center; min-height: 32px; gap: 5px; }
.stamp-passage-meta { color: var(--filing-ink); font-size: 0.9375rem; font-weight: 700; font-variant-caps: small-caps; letter-spacing: 0.04em; line-height: 1.3; }
.stamp-filing-date { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 112px; height: 30px; color: var(--filing-stamp); font-family: var(--font-document); font-size: 0.625rem; font-weight: 700; line-height: 1.2; transform: rotate(-5deg); }
.stamp-date-ring { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: fill; opacity: 0.85; }
.stamp-passage-company { margin-top: 2px; font-size: 0.875rem; font-weight: 750; line-height: 1.3; text-align: center; }
.stamp-passage-section { margin: 3px 0 0; color: var(--filing-muted); font-size: 0.5625rem; font-weight: 650; letter-spacing: 0.03em; line-height: 1.3; text-align: center; }
.stamp-passage-period { margin-top: 3px; font-size: 0.6875rem; line-height: 1.3; text-align: center; }
.stamp-passage-row { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin: 7px 0 0; padding-block: 4px; border-block: 1px solid var(--filing-rule); font-size: 0.8125rem; line-height: 1.3; } /* taste-skill-ignore: rules in a printed financial statement. */
.stamp-row-label { display: flex; align-items: baseline; flex: 1; gap: 5px; }
.stamp-row-label::after { flex: 1; min-width: 12px; border-bottom: 1px dotted var(--filing-rule); content: ""; } /* taste-skill-ignore: statement dotted leaders, per §9.1. */
.stamp-fact { position: relative; isolation: isolate; padding: 2px 5px; background: var(--filing-paper); color: inherit; white-space: nowrap; }
.stamp-fact strong { position: relative; font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.stamp-fact::before { position: absolute; z-index: -1; inset: -8px; background: radial-gradient(ellipse, var(--stamp-light), transparent 72%); opacity: var(--stamp-bloom, 0); pointer-events: none; content: ""; } /* taste-skill-ignore: the director specifies a searchlight bloom, behind the filed ink. */
.stamp-amber-sweep { position: absolute; z-index: -1; inset: 0; background: var(--filing-fact); opacity: 0.4; transform-origin: left center; }
.stamp-passage-units { margin-top: 3px; color: var(--filing-muted); font-size: 0.625rem; line-height: 1.3; text-align: right; }
.stamp-ledger-row { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin: 3px 0 0; padding: 0 3px; font-size: 0.6875rem; line-height: 1.3; }
.stamp-ledger-label { min-width: 0; color: var(--filing-muted); }
.stamp-ledger-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.stamp-ledger-row.is-result { padding-top: 3px; border-top: 1px solid var(--filing-rule); font-weight: 750; } /* taste-skill-ignore: this rule separates the result in the real SEC ledger. */
.stamp-ledger-row.is-result .stamp-ledger-label { color: var(--filing-ink); }
.stamp-derivation { margin-top: 4px; font-size: 0.6875rem; font-style: italic; font-weight: 400; line-height: 1.3; }
.stamp-compare { margin-top: 5px; padding: 4px; }
.stamp-compare.is-active { background: var(--filing-wash); }
.stamp-filing-content .stamp-compare { position: absolute; inset-inline: 0; top: var(--stamp-compare-top, 210px); margin-top: 0; }
.stamp-compare-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.stamp-compare-label { display: block; color: var(--filing-muted); font-size: 0.625rem; line-height: 1.3; }
.stamp-compare-stated, .stamp-compare-filed { display: block; font-size: 0.8125rem; line-height: 1.3; font-variant-numeric: tabular-nums; }
.stamp-passage-accession { margin: auto 0 0; padding-top: 4px; border-top: 1px solid var(--filing-rule); color: var(--filing-muted); font-size: 0.5625rem; line-height: 1.3; overflow-wrap: anywhere; } /* taste-skill-ignore: the accession is the printed page's footer line. */

.stamp-strip { display: flex; align-items: center; gap: 12px; height: var(--stamp-strip-height); margin-top: var(--stamp-strip-gap); padding: 0 8px; background: var(--surface-soft); }
.stamp-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 1; align-items: stretch; gap: 4px; margin: 0; padding: 0; list-style: none; }
.stamp-progress li { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 5px; color: var(--stamp-muted); font-size: 0.75rem; line-height: 1.2; }
.stamp-progress li.is-active { background: var(--accent); color: var(--accent-ink); }
.stamp-progress li.is-skipped { opacity: 0.4; text-decoration: line-through; }
.stamp-step-number { flex-shrink: 0; font-weight: 800; }
.stamp-next, .stamp-ticker-list { display: flex; align-items: center; gap: 5px; }
.stamp-next { margin: 0; color: var(--stamp-muted); font-size: 0.6875rem; white-space: nowrap; }
.stamp-next-chip { padding: 3px 5px; background: var(--stamp-paper); color: var(--ink); font-size: 0.6875rem; font-weight: 750; }
.stamp-pause { align-self: stretch; min-width: 44px; padding: 0 4px; border: 0; background: transparent; color: var(--ink); font-size: 0.75rem; cursor: pointer; }
.stamp-pause:hover, .stamp-pause:focus-visible { color: var(--accent); text-decoration: underline; }
.stamp-pause-icon { display: none; }

.stamp-static-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 20px; margin: 0; padding: 20px 0; list-style: none; }
.stamp-static-item { min-width: 0; }
.stamp-static-item .stamp-card { width: 100%; height: auto; min-height: 0; }
.stamp-static-item .stamp-passage { position: relative; isolation: isolate; inset: auto; width: 100%; height: auto; margin-top: 20px; padding: 14px; border: 1px solid var(--filing-rule); background: var(--filing-paper); } /* taste-skill-ignore: reduced motion keeps the same real paper filing. */
.stamp-static-item .stamp-claim { min-height: 0; }
.stamp-static-item .stamp-review { margin-top: 12px; }
.stamp-static-item .stamp-compare { background: var(--filing-wash); }
.stamp-static-unavailable { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 12px; color: var(--stamp-muted); font-size: 0.8125rem; }
.stamp-static-item .stamp-card:hover .stamp-claim { text-decoration: underline; text-underline-offset: 0.18em; }
/* The same complete list is accessible while the decorative scene animates. */
.stamp-static-list.is-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.stamp-static-list.is-sr-only .stamp-card { width: 360px; }
.stamp-scene[data-animated="false"] { height: auto; }
.stamp-scene[data-animated="false"] .stamp-stage, .stamp-scene[data-animated="false"] .stamp-strip { display: none; }

/* Intrinsic probes cover every publication format at every width. Playback
   reuses these maxima, so a taller repost never clips or resizes mid-loop. */
.stamp-scene.is-measuring .stamp-track .stamp-card { height: auto; min-height: 0; }
.stamp-scene.is-measuring .stamp-passage { position: relative; inset: auto; height: auto; }
.stamp-scene.is-measuring .stamp-filing-state { position: relative; inset: auto; }
.stamp-scene.is-measuring .stamp-filing-content .stamp-compare { position: static; inset: auto; }

@media (min-width: 640px) and (max-width: 1100px) {
  .stamp-scene { --stamp-panel-height: 334px; --stamp-strip-height: 44px; --stamp-strip-gap: 10px; --stamp-robot-width: 120px; --stamp-robot-height: 165px; --stamp-column-gap: 10px; }
  .stamp-card { padding: 8px 10px; }
  .stamp-post-header { gap: 6px; margin-bottom: 4px; }
  .stamp-author-row { flex-wrap: wrap; gap: 2px 5px; }
  .stamp-author { font-size: 0.75rem; }
  .stamp-card-header { flex-wrap: wrap; gap: 3px 5px; }
  .stamp-source { margin-left: auto; }
  .stamp-claim { margin-block: 4px; font-size: 0.875rem; line-height: 1.3; }
  .stamp-number { font-size: 1.5rem; }
  .stamp-review { grid-template-columns: minmax(0, 1fr) 80px; gap: 10px; min-height: 58px; }
  .stamp-source > span:first-child { display: none; }
  .stamp-company { font-size: 0.5625rem; }
  .stamp-byline, .stamp-post-meta { font-size: 0.5625rem; }
  .stamp-card[data-source-kind="social"] .stamp-claim { font-size: 1rem; }
  .stamp-card[data-source-kind="article"] .stamp-claim { font-size: 1rem; }
  .stamp-card[data-source-kind="article"] .stamp-review { min-height: 52px; }
  .stamp-card[data-source-kind="repost"] .stamp-review { min-height: 52px; }
  .stamp-article-deck { grid-template-columns: minmax(0, 1fr) 60px; gap: 5px; }
  .stamp-article-lead { font-size: 0.625rem; }
  .stamp-actions { gap: 3px; margin-top: 4px; padding-top: 4px; font-size: 0.5625rem; }
  .stamp-actions svg { width: 10px; height: 10px; }
  .stamp-action { gap: 2px; }
  .stamp-activity-label { font-size: 0.4375rem; }
  .stamp-quote-card { padding: 5px 6px; }
  .stamp-score-summary { flex-wrap: wrap; gap: 2px; }
  .stamp-mark { width: 70px; font-size: 1.125rem; }
  .stamp-card.is-unknown .stamp-mark { font-size: 0.625rem; }
  .stamp-filing-box { padding: 10px; }
  .stamp-passage-row { gap: 3px; }
  .stamp-filing-authority { padding-inline: 0; font-size: 0.4375rem; }
  .stamp-filing-date { width: 92px; height: 26px; font-size: 0.5625rem; }
  .stamp-passage-meta { font-size: 0.8125rem; }
  .stamp-compare-pair { gap: 4px; }
  .stamp-compare-stated, .stamp-compare-filed { font-size: 0.75rem; }
  .stamp-caption { height: 60px; min-height: 60px; padding: 6px; font-size: 0.6875rem; }
  .stamp-strip { gap: 8px; }
  .stamp-progress { display: flex; gap: 2px; }
  .stamp-progress li { flex: 0 0 auto; justify-content: center; min-width: 28px; padding: 4px 6px; font-size: 0.6875rem; }
  .stamp-progress li.is-active { flex: 1; justify-content: flex-start; }
  .stamp-progress li:not(.is-active) > [data-i18n] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .stamp-static-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
  .stamp-scene { --stamp-label-height: 16px; --stamp-letterbox-height: 4px; --stamp-post-height: 244px; --stamp-filing-height: 172px; --stamp-robot-band: 92px; --stamp-strip-height: 32px; --stamp-strip-gap: 0px; --stamp-robot-width: 88px; --stamp-robot-height: 88px; display: flex; flex-direction: column; height: calc(2 * var(--stamp-letterbox-height) + 2 * var(--stamp-label-height) + var(--stamp-post-height) + var(--stamp-robot-band) + var(--stamp-filing-height) + var(--stamp-strip-height)); margin-top: 18px; }
  .stamp-stage { flex-shrink: 0; grid-template-columns: minmax(0, 1fr); grid-template-rows: calc(var(--stamp-label-height) + var(--stamp-post-height)) var(--stamp-robot-band) calc(var(--stamp-label-height) + var(--stamp-filing-height)); gap: 0; height: calc(2 * var(--stamp-letterbox-height) + 2 * var(--stamp-label-height) + var(--stamp-post-height) + var(--stamp-robot-band) + var(--stamp-filing-height)); }
  .stamp-post-panel { grid-column: 1; grid-row: 1; }
  .stamp-filing-panel { grid-column: 1; grid-row: 3; }
  .stamp-track { height: var(--stamp-post-height); }
  .stamp-filing-box { height: var(--stamp-filing-height); padding: 6px 10px; }
  .stamp-robot-band { grid-column: 1; grid-row: 2; align-self: stretch; flex-direction: row; gap: 10px; padding: 4px 8px; }
  .stamp-caption { flex: 1; align-self: center; height: 48px; min-height: 48px; font-size: 0.75rem; text-align: left; }
  .stamp-filing-state { gap: 8px; padding: 16px; }
  .stamp-panel-label { font-size: 0.625rem; line-height: 16px; }
  .stamp-card { padding: 7px 10px; }
  .stamp-post-header { gap: 7px; margin-bottom: 3px; }
  .stamp-avatar { width: 44px; height: 44px; }
  .stamp-author { font-size: 0.75rem; line-height: 1.2; }
  .stamp-byline { margin-top: 0; font-size: 0.625rem; line-height: 1.1; }
  .stamp-post-meta { margin-top: 1px; font-size: 0.5625rem; line-height: 1.2; }
  .stamp-example { padding: 1px 4px; }
  .stamp-card-header { min-height: 20px; gap: 6px; }
  .stamp-ticker { padding: 1px 5px; font-size: 0.75rem; }
  .stamp-company { font-size: 0.75rem; }
  .stamp-source { font-size: 0.625rem; }
  .stamp-reposted { margin-top: 3px; font-size: 0.625rem; line-height: 1.2; }
  .stamp-claim { margin: 5px 0 4px; font-size: 0.875rem; line-height: 1.25; }
  .stamp-number { font-size: 1.5rem; line-height: 1.1; }
  .stamp-period { display: table; padding: 2px 5px; font-size: 0.625rem; line-height: 1.2; }
  .stamp-post-content { margin-bottom: 5px; }
  .stamp-review { grid-template-columns: minmax(0, 1fr) 100px; gap: 12px; min-height: 44px; margin-top: auto; padding-top: 3px; padding-bottom: 0; }
  .stamp-filed { margin-bottom: 2px; font-size: 0.625rem; line-height: 1.2; }
  .stamp-score-summary { margin-bottom: 3px; font-size: 0.625rem; line-height: 1.2; }
  .stamp-score { font-size: 0.5625rem; }
  .stamp-meter { height: 4px; }
  .stamp-gap, .stamp-uncheckable { margin-top: 3px; font-size: 0.5625rem; line-height: 1.2; }
  .stamp-mark { width: 86px; font-size: 1.25rem; }
  .stamp-card.is-unknown .stamp-mark { font-size: 0.6875rem; }
  .stamp-impression, .stamp-bleed { padding: 5px 2px; }
  .stamp-passage-meta { font-size: 0.75rem; line-height: 1.2; }
  .stamp-filing-authority { padding-inline: 0; font-size: 0.4375rem; letter-spacing: 0; white-space: nowrap; }
  .stamp-form-line { min-height: 22px; }
  .stamp-filing-date { width: 100px; height: 22px; font-size: 0.5625rem; }
  .stamp-actions { gap: 3px; margin-top: 3px; padding-top: 2px; font-size: 0.5625rem; }
  .stamp-actions svg { width: 10px; height: 10px; }
  .stamp-activity-label { font-size: 0.4375rem; }
  .stamp-action { gap: 3px; }
  .stamp-card[data-source-kind="social"] .stamp-claim { font-size: 1rem; }
  .stamp-card[data-source-kind="article"] .stamp-claim { font-size: 1.0625rem; }
  .stamp-card[data-source-kind="article"] .stamp-review, .stamp-card[data-source-kind="repost"] .stamp-review { min-height: 44px; }
  .stamp-article-deck { margin-block: 4px; }
  .stamp-quote-card { padding: 5px 7px; }
  /* The tallest formats set the shared phone panel height; trim their secondary rows so ordinary posts keep little spare space. */
  .stamp-quote-card .stamp-actions, .stamp-quote-card .stamp-reactions { display: none; }
  .stamp-quote-header .stamp-avatar { width: 28px; height: 28px; }
  .stamp-quote-header .stamp-original-byline { display: none; }
  .stamp-quote-header .stamp-post-date { display: inline; margin-left: 6px; }
  .stamp-article-lead { display: none; }
  .stamp-article-deck { grid-template-columns: 1fr; }
  .stamp-article-pictures { height: 36px; }
  .stamp-passage-company { margin-top: 1px; font-size: 0.75rem; line-height: 1.2; }
  .stamp-passage-section { display: none; }
  .stamp-passage-period { margin-top: 3px; font-size: 0.625rem; line-height: 1.2; }
  .stamp-passage-row { margin-top: 3px; padding-block: 2px; font-size: 0.75rem; line-height: 1.2; }
  .stamp-fact { padding: 1px 4px; }
  .stamp-fact strong { font-size: 1rem; }
  .stamp-passage-units { margin-top: 1px; font-size: 0.5625rem; line-height: 1.2; }
  .stamp-ledger-row { margin-top: 2px; font-size: 0.625rem; line-height: 1.2; }
  .stamp-ledger-row.is-result { padding-top: 2px; }
  .stamp-derivation { margin-top: 3px; font-size: 0.625rem; line-height: 1.2; }
  /* The visible −nine-month and =Q4 rows already show the full calculation.
     Keep the repeated prose footnote in the complete static presentation. */
  .stamp-filing-content .stamp-derivation { display: none; }
  .stamp-compare { margin-top: 3px; padding: 3px; }
  .stamp-filing-content .stamp-compare { position: static; inset: auto; margin-top: 3px; }
  .stamp-compare-label { font-size: 0.5625rem; line-height: 1.2; }
  .stamp-compare-stated, .stamp-compare-filed { font-size: 0.6875rem; line-height: 1.2; }
  .stamp-passage-accession { padding-top: 3px; font-size: 0.5rem; line-height: 1.2; }
  .stamp-strip { order: -1; flex-shrink: 0; display: flex; gap: 4px; padding: 0 4px; }
  .stamp-progress { display: flex; gap: 2px; }
  .stamp-progress li { flex: 0 0 auto; justify-content: center; gap: 4px; min-width: 24px; padding: 4px; font-size: 0.6875rem; line-height: 1.15; }
  .stamp-progress li.is-active { flex: 1; justify-content: flex-start; }
  .stamp-progress li:not(.is-active) > [data-i18n] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .stamp-next, .stamp-pause-label { display: none; }
  .stamp-pause { min-width: 32px; padding: 0 6px; }
  .stamp-pause-icon { display: inline; font-size: 0.875rem; }
  .stamp-static-list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .stamp-scene { display: block; height: auto; }
  .stamp-stage, .stamp-strip { display: none; }
  .stamp-spotlight { display: none; }
  .stamp-scene .stamp-static-list { position: relative; width: auto; height: auto; margin: 0; padding: 20px 0; overflow: visible; clip-path: none; }
}


.example-shell {
  margin-top: 0;
  padding: clamp(22px, 3.2vw, 40px);
  background: var(--surface-soft);
}

.section-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
}

.section-bar h2 {
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
}

.example-switch {
  display: flex;
  flex-shrink: 0;
  gap: 3px;
  padding: 3px;
  background: var(--surface);
}

.example-button {
  padding: 7px 10px;
  font-size: 0.86rem;
}

.example-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(20px, 3vw, 34px);
  align-items: start;
}

.post-panel {
  min-width: 0;
  padding: clamp(20px, 2.5vw, 30px);
  background: var(--surface);
}

.post-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 22px;
}

.post-panel-head h3 {
  font-size: 1rem;
  letter-spacing: -0.01em;
}

.post-count {
  color: var(--muted);
  font-size: 0.84rem;
}

.post-text {
  min-height: 430px;
  white-space: pre-wrap;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.72;
}

.post-text mark {
  padding: 0.04em 0.12em;
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.14em;
}

.post-text mark.is-true {
  background: var(--true-surface);
  text-decoration-color: var(--true);
}

.post-text mark.is-false {
  background: var(--false-surface);
  text-decoration-color: var(--false);
}

.post-text mark.is-unknown {
  background: var(--unknown-surface);
  text-decoration-color: var(--unknown);
}

.post-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 26px;
  color: var(--muted);
  font-size: 0.84rem;
}

.legend-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.legend-swatch {
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}

.legend-swatch.is-true {
  background: var(--true);
}

.legend-swatch.is-false {
  background: var(--false);
}

.legend-swatch.is-unknown {
  background: var(--unknown);
}

.claim-list {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.claim-card {
  min-width: 0;
  padding: 16px 18px 17px;
  background: var(--surface);
  border-left: 6px solid var(--unknown);
}

.claim-card.is-true {
  border-left-color: var(--true);
}

.claim-card.is-false {
  border-left-color: var(--false);
}

.claim-card.is-unknown {
  border-left-color: var(--unknown);
}

.claim-card-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.claim-verdict {
  font-size: 0.95rem;
  font-weight: 800;
}

.claim-card.is-true .claim-verdict {
  color: var(--true);
}

.claim-card.is-false .claim-verdict {
  color: var(--false);
}

.claim-card.is-unknown .claim-verdict {
  color: var(--unknown);
}

.claim-kind {
  color: var(--muted);
  font-size: 0.82rem;
}

.claim-text {
  margin-top: 7px;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.claim-source {
  margin-top: 9px;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.claim-source a {
  display: inline-block;
  margin-left: 4px;
  color: var(--ink);
  font-weight: 700;
}

.claim-filing-trigger {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-weight: 760;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.filing-dialog {
  width: min(760px, calc(100% - 32px));
  max-width: 760px;
  max-height: min(88dvh, 920px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 70px rgb(0 0 0 / 0.32); /* taste-skill-ignore: real floating dialog overlay */
}

.filing-dialog::backdrop {
  background: rgb(8 17 20 / 0.72);
}

.filing-dialog-shell {
  display: flex;
  max-height: min(88dvh, 920px);
  flex-direction: column;
}

.filing-dialog-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 28px 20px;
  background: var(--surface-soft);
}

.filing-dialog-head h2 {
  max-width: 18ch;
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
}

.filing-dialog-close {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 0;
  background: var(--ink);
  color: var(--bg);
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1;
}

.filing-dialog-body {
  display: grid;
  gap: 18px;
  overflow: auto;
  padding: 24px 28px 30px;
}

.filing-summary {
  margin: 0;
  padding: 13px 16px;
  background: var(--surface-soft);
  font-size: 1rem;
  font-weight: 720;
  line-height: 1.45;
}

.filing-summary.is-true {
  border-inline-start: 5px solid var(--true);
}

.filing-summary.is-false {
  border-inline-start: 5px solid var(--false);
}

.filing-summary.is-unknown {
  border-inline-start: 5px solid var(--unknown);
}

.filing-summary-verdict {
  font-weight: 850;
}

.filing-summary.is-true .filing-summary-verdict {
  color: var(--true);
}

.filing-summary.is-false .filing-summary-verdict {
  color: var(--false);
}

.filing-summary.is-unknown .filing-summary-verdict {
  color: var(--unknown);
}

.filing-evidence {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 20px;
  background: var(--surface-soft);
}

.filing-evidence h3 {
  font-size: 1.1rem;
}

.filing-evidence h4 {
  margin: 0;
  font-size: 0.98rem;
  letter-spacing: -0.01em;
}

.filing-section-title {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 760;
}

.filing-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.filing-excerpt-table {
  min-width: 0;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: var(--surface);
  font-size: 0.88rem;
  line-height: 1.35;
}

.filing-excerpt-table caption {
  padding: 0 0 7px;
  color: var(--muted);
  font-size: 0.76rem;
  text-align: left;
}

.filing-excerpt-table th,
.filing-excerpt-table td {
  min-width: 0;
  padding: 9px 7px;
  border-bottom: 2px solid var(--surface-soft);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.filing-excerpt-table th:first-child,
.filing-excerpt-table td:first-child {
  width: 34%;
}

.filing-excerpt-table th:not(:first-child),
.filing-excerpt-table td:not(:first-child) {
  width: 22%;
}

.filing-excerpt-table th {
  color: var(--muted);
  font-weight: 700;
}

.filing-excerpt-table th.is-period-header {
  background: var(--filing-period);
  color: var(--ink);
  font-weight: 800;
}

.filing-excerpt-table td.is-row-label {
  background: var(--filing-row-label);
  font-weight: 760;
}

.filing-excerpt-table td.is-fact {
  background: var(--filing-fact);
  color: var(--filing-fact-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.filing-excerpt-table td.is-fact strong {
  font-size: 1.05rem;
  font-weight: 850;
}

.filing-excerpt-text {
  margin: 0;
  padding: 18px 20px;
  background: var(--surface);
  font-size: 1.04rem;
  line-height: 1.58;
}

.filing-fact-highlight {
  padding: 0.08em 0.18em;
  background: var(--filing-fact);
  color: var(--filing-fact-ink);
  font-weight: 850;
}

.filing-empty {
  padding: 16px 18px;
  background: var(--surface);
}

.filing-empty p + p {
  margin-top: 9px;
  color: var(--muted);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.filing-facts {
  display: grid;
  grid-template-columns: minmax(110px, 0.34fr) minmax(0, 1fr);
  gap: 7px 15px;
  margin: 0;
  padding: 14px 16px;
  background: var(--surface);
}

.filing-facts dt {
  color: var(--muted);
  font-size: 0.87rem;
}

.filing-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 0.93rem;
  font-weight: 650;
}

.filing-facts dd.filing-concept {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 560;
}

.filing-value-line {
  margin: 0;
  padding: 12px 16px;
  background: var(--filing-fact);
  color: var(--filing-fact-ink);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  font-weight: 820;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.filing-comparison {
  display: grid;
  gap: 9px;
  padding: 16px 18px;
  background: var(--surface);
  line-height: 1.5;
}

.filing-comparison strong {
  font-weight: 800;
}

.filing-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  padding: 0 2px 2px;
}

.filing-links a {
  color: var(--ink);
  font-weight: 780;
}

.filing-no-link {
  color: var(--muted);
  font-size: 0.88rem;
}

.data-loading {
  color: var(--muted);
}

.section {
  position: relative;
  isolation: isolate;
  padding-block: clamp(70px, 9vw, 122px);
}
.section-grain { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; opacity: 0.28; pointer-events: none; }

.how-section,
.trust-section {
  background: var(--surface-soft);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: end;
}

.section-heading h2 {
  max-width: 10ch;
}
.section-heading h2, .section-bar h2, .trust-layout h2 { font-family: var(--font-document); font-weight: 500; letter-spacing: -0.035em; }

.section-heading p {
  max-width: 48ch;
  color: var(--muted);
  font-size: 1.1rem;
  line-height: 1.5;
}

.steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 62px);
  margin: 64px 0 0;
  padding: 0;
  list-style: none;
}

.step {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.step-illustration {
  display: block;
  width: min(100%, 230px);
  height: 160px;
  object-fit: contain;
  object-position: left bottom;
}

.step-icon {
  width: 50px;
  height: 50px;
  color: var(--accent);
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 2.4;
}

.step h3 {
  margin-top: 2px;
}

.step p {
  margin-top: 11px;
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.55;
}

.results-heading {
  align-items: start;
}

.chart {
  display: grid;
  gap: 18px;
  max-width: 940px;
  margin-top: 54px;
}

.chart-row {
  padding: 22px 0 26px;
  border-bottom: 1px solid var(--track); /* taste-skill-ignore: a measured results ledger, not ornamental chrome. */
}

.chart-provider {
  display: block;
  margin-bottom: 15px;
  font-size: 1.08rem;
  font-weight: 760;
}

.chart-bar-line {
  display: grid;
  grid-template-columns: minmax(130px, 0.28fr) minmax(120px, 1fr) 52px;
  gap: 14px;
  align-items: center;
}

.chart-bar-line + .chart-bar-line {
  margin-top: 13px;
}

.bar-label {
  color: var(--muted);
  font-size: 0.9rem;
}

.bar-track {
  height: 20px;
  overflow: hidden;
  background: var(--track);
}

.bar-fill {
  display: block;
  width: var(--bar-width);
  height: 100%;
  border-inline-end: 2px solid var(--ink); /* taste-skill-ignore: a precise endpoint on measured result bars. */
}

.bar-fill.is-without {
  background: var(--without);
}

.bar-fill.is-with-checks {
  background: var(--accent);
}

.bar-value {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  text-align: right;
}

.chart-caption {
  margin-top: 22px;
  color: var(--muted);
  font-size: 1rem;
}

.posthoc-rerun {
  max-width: 940px;
  margin-top: 36px;
  padding: 20px 22px;
  background: var(--surface-soft);
}

.posthoc-rerun h3 {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.35;
}

.posthoc-key {
  margin: 8px 0 14px;
  color: var(--muted);
  font-size: 0.85rem;
}

.posthoc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}

.posthoc-table th,
.posthoc-table td {
  padding: 9px 8px;
  text-align: right;
}

.posthoc-table thead th {
  color: var(--muted);
  font-weight: 500;
  vertical-align: bottom;
}

.posthoc-table th:first-child {
  padding-left: 0;
  text-align: left;
}

.posthoc-table :is(th, td):last-child {
  padding-right: 0;
}

.posthoc-table td {
  white-space: nowrap;
}

.posthoc-note {
  margin: 16px 0 12px;
  line-height: 1.6;
}

.posthoc-rerun > a {
  font-size: 0.9rem;
}

.research-details {
  max-width: 940px;
  margin-top: 36px;
  padding: 20px 22px;
  background: var(--surface-soft);
}

.research-details summary {
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 760;
}

.research-list {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
  padding-left: 22px;
}

.research-list li {
  padding-left: 4px;
  color: var(--muted);
  line-height: 1.5;
}

.trust-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(30px, 7vw, 100px);
  align-items: start;
}

.trust-list {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trust-list li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  font-size: clamp(1.02rem, 1.7vw, 1.25rem);
  line-height: 1.42;
}

.trust-icon {
  width: 28px;
  height: 28px;
  color: var(--accent);
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 2;
}

.site-footer {
  padding-block: 58px 22px;
  background: var(--footer-bg);
  color: var(--footer-ink);
}

.site-footer h2,
.site-footer a,
.site-footer code {
  color: var(--footer-ink);
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 40px;
  align-items: start;
}

.footer-grid h2 {
  max-width: 10ch;
  font-size: clamp(2rem, 4vw, 3.7rem);
}
.footer-hover { float: right; width: 102px; height: 118px; margin: 0 12px 0 18px; object-fit: cover; object-position: center top; }
.footer-grid h2 { font-family: var(--font-document); font-weight: 500; }

@media (prefers-color-scheme: dark) {
  .section-grain { mix-blend-mode: screen; opacity: 0.025; }
  .stamp-paper-grain, .stamp-paperclip, .stamp-stack-edge { filter: brightness(0.88) sepia(0.06); }
}

.footer-grid p {
  max-width: 42ch;
  margin-top: 18px;
  color: var(--footer-muted);
}

.footer-links {
  display: grid;
  gap: 18px;
  align-content: start;
  font-size: 1rem;
}

.run-command {
  display: grid;
  gap: 9px;
  margin-top: 5px;
  color: var(--footer-muted);
}

code {
  display: inline-block;
  max-width: 100%;
  padding: 13px 15px;
  overflow-wrap: anywhere;
  background: var(--code-bg);
  color: var(--code-ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.9rem;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 58px;
  padding-top: 20px;
  color: var(--footer-muted);
  font-size: 0.88rem;
}

.footer-bottom a {
  color: var(--footer-ink);
}

@media (max-width: 900px) {
  .header-inner {
    gap: 18px;
  }

  .site-nav {
    gap: 15px;
  }

  .example-grid,
  .section-heading,
  .trust-layout,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .post-text {
    min-height: 0;
  }

  .section-heading h2,
  .footer-grid h2 {
    max-width: 18ch;
  }

  .claim-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .site-header {
    padding-block: 14px;
  }

  .header-inner {
    grid-template-columns: 1fr auto;
  }

  .site-nav {
    display: none;
  }

  .hero {
    padding-top: 24px;
  }

  h1 {
    font-size: clamp(1.75rem, 8vw, 3.35rem);
  }

  .section-bar {
    align-items: start;
    flex-direction: column;
  }

  .example-switch {
    width: 100%;
  }

  .example-button {
    flex: 1;
  }

  .steps {
    grid-template-columns: 1fr;
    gap: 34px;
    margin-top: 45px;
  }
  .step { grid-template-columns: 104px minmax(0, 1fr); gap: 18px; }
  .step-illustration { width: 104px; height: 100px; }

  .claim-list {
    grid-template-columns: 1fr;
  }

  .chart-row {
    padding-inline: 16px;
  }

  .posthoc-rerun {
    padding-inline: 16px;
  }

  .posthoc-table {
    font-size: 0.8rem;
  }

  .posthoc-table th,
  .posthoc-table td {
    padding-inline: 5px;
  }

  .chart-bar-line {
    grid-template-columns: 1fr 48px;
    gap: 8px 14px;
  }

  .bar-label {
    grid-column: 1 / -1;
  }

  .bar-track {
    grid-column: 1;
    grid-row: 2;
  }

  .bar-value {
    grid-column: 2;
    grid-row: 2;
  }

  .footer-bottom {
    flex-direction: column;
    margin-top: 42px;
  }

  .filing-dialog {
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
  }

  .filing-dialog-shell {
    max-height: none;
    height: 100%;
  }

  .filing-dialog-head {
    padding: 20px 18px 16px;
  }

  .filing-dialog-body {
    padding: 18px 18px 28px;
  }

  .filing-evidence {
    padding: 16px;
  }

  .filing-excerpt-table {
    font-size: 0.82rem;
  }

  .filing-excerpt-table th,
  .filing-excerpt-table td {
    padding: 8px 5px;
  }

  .filing-excerpt-table th:first-child,
  .filing-excerpt-table td:first-child {
    width: 31%;
  }

  .filing-excerpt-table th:not(:first-child),
  .filing-excerpt-table td:not(:first-child) {
    width: 23%;
  }

  .filing-excerpt-table td.is-fact strong {
    font-size: 0.96rem;
  }

  .filing-facts {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .filing-facts dd + dt {
    margin-top: 8px;
  }
}

@media (max-width: 390px) {
  .shell {
    padding-inline: 17px;
  }

  h1 {
    font-size: clamp(1.5rem, 8.2vw, 2rem);
  }

  .example-shell {
    padding: 18px;
  }

  .post-panel {
    padding: 18px;
  }

  .post-text {
    font-size: 0.98rem;
  }
}

.trust-layout .section-heading {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}
