/* GoLeanStack tokens, generated from tokens.json by scripts/build-tokens.mjs. Do not edit. */
:root, [data-theme="web"] {
  --fg: #0e0f0c;
  --muted: #5d5f58;
  --line: #e6e4dc;
  --accent: #0a7d4f;
  --accent-d: #086640;
  --bg: #fbfaf6;
  --ink: #0b0d10;
  --paper: #e9e7e1;
  --signal: #c6f432;
  --fault: #b42318;
  --steel: #5b6370;
  --warm: #f3f1ea;
  --surface: #ffffff;
  --on-accent: #ffffff;
  --chip-ok: #e3f4ea;
  --chip-bad: #fbe9e7;
  --on-ink-muted: #a8adb6;
  --fault-on-ink: #ff4d3d;
  --ink-line: #23262c;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-form: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.05);
  --shadow-primary: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(10,125,79,0.18);
  --shadow-focus: 0 0 0 4px rgba(10,125,79,0.12);
}
:root {
  --space-6: 6px;
  --space-8: 8px;
  --space-12: 12px;
  --space-14: 14px;
  --space-18: 18px;
  --space-22: 22px;
  --space-24: 24px;
  --space-28: 28px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --radius-code: 6px;
  --radius-media: 8px;
  --radius-control: 10px;
  --radius-button: 12px;
  --radius-panel: 14px;
  --radius-card: 16px;
  --radius-pill: 999px;
  --width-main: 680px;
  --width-wide: 860px;
  --width-buy: 560px;
  --width-form: 480px;
  --measure: 60ch;
  --card-width: 1200px;
  --card-height: 630px;
  --still-width: 1600px;
  --still-height: 900px;
  --page-width: 210mm;
  --page-height: 279.4mm;
  --page-column: 126mm;
  --font-sans: "Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
.t-display { font-family: var(--font-sans); font-size: 4.25rem; line-height: 1.02; font-weight: 800; letter-spacing: -0.035em; }
.t-h1-data { font-family: var(--font-sans); font-size: 3rem; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; }
.t-h1 { font-family: var(--font-sans); font-size: 2.75rem; line-height: 1.08; font-weight: 800; letter-spacing: -0.03em; }
.t-h2-home { font-family: var(--font-sans); font-size: 1.5rem; line-height: 1.25; font-weight: 700; letter-spacing: -0.02em; }
.t-h2-sec { font-family: var(--font-sans); font-size: 1.35rem; line-height: 1.25; font-weight: 700; letter-spacing: -0.02em; }
.t-h2 { font-family: var(--font-sans); font-size: 1.25rem; line-height: 1.25; font-weight: 700; letter-spacing: -0.02em; }
.t-h3 { font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; }
.t-lead { font-family: var(--font-sans); font-size: 1.3rem; line-height: 1.55; font-weight: 400; }
.t-body { font-family: var(--font-sans); font-size: 1rem; line-height: 1.55; font-weight: 400; }
.t-small { font-family: var(--font-sans); font-size: 0.875rem; line-height: 1.55; font-weight: 400; }
.t-eyebrow { font-family: var(--font-sans); font-size: 0.75rem; line-height: 1.55; font-weight: 650; letter-spacing: 0.14em; }
.t-th { font-family: var(--font-sans); font-size: 0.78rem; line-height: 1.55; font-weight: 600; letter-spacing: 0.06em; }
.t-button { font-family: var(--font-sans); font-size: 1.05rem; line-height: 1.55; font-weight: 600; }
.t-score { font-family: var(--font-sans); font-size: 1.5rem; line-height: 1.2; font-weight: 800; letter-spacing: -0.03em; }
.t-proof { font-family: var(--font-mono); font-size: 0.9rem; line-height: 1.55; font-weight: 500; letter-spacing: -0.01em; }
.t-meta { font-family: var(--font-mono); font-size: 0.85rem; line-height: 1.55; font-weight: 500; }
.t-num { font-family: var(--font-mono); font-size: 0.92rem; line-height: 1.55; font-weight: 400; }
.t-code { font-family: var(--font-mono); font-size: 0.85em; line-height: 1.5; font-weight: 400; }
.og-title-l { font-family: var(--font-sans); font-size: 84px; line-height: 1.04; font-weight: 800; letter-spacing: -0.035em; }
.og-title-m { font-family: var(--font-sans); font-size: 72px; line-height: 1.04; font-weight: 800; letter-spacing: -0.035em; }
.og-title-s { font-family: var(--font-sans); font-size: 64px; line-height: 1.04; font-weight: 800; letter-spacing: -0.035em; }
.og-sub { font-family: var(--font-sans); font-size: 30px; line-height: 1.3; font-weight: 400; }
.og-row { font-family: var(--font-sans); font-size: 28px; line-height: 1.2; font-weight: 500; }
.og-mark { font-family: var(--font-sans); font-size: 22px; line-height: 1; font-weight: 700; letter-spacing: 0.08em; }
.og-eyebrow { font-family: var(--font-mono); font-size: 24px; line-height: 1.2; font-weight: 600; }
.og-value { font-family: var(--font-mono); font-size: 28px; line-height: 1.2; font-weight: 600; }
.og-strip { font-family: var(--font-mono); font-size: 22px; line-height: 1.3; font-weight: 500; }
.og-url { font-family: var(--font-mono); font-size: 22px; line-height: 1; font-weight: 600; }
.pdf-cover-title { font-family: var(--font-sans); font-size: 53.33px; line-height: 1.02; font-weight: 800; letter-spacing: -0.035em; }
.pdf-chapter { font-family: var(--font-sans); font-size: 34.67px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; }
.pdf-dek { font-family: var(--font-sans); font-size: 16px; line-height: 1.4; font-weight: 400; }
.pdf-h2 { font-family: var(--font-sans); font-size: 18.67px; line-height: 1.2; font-weight: 700; letter-spacing: -0.02em; }
.pdf-h3 { font-family: var(--font-sans); font-size: 14.67px; line-height: 1.3; font-weight: 650; letter-spacing: -0.01em; }
.pdf-body { font-family: var(--font-sans); font-size: 14px; line-height: 1.55; font-weight: 400; }
.pdf-bill { font-family: var(--font-sans); font-size: 17.33px; line-height: 1.35; font-weight: 600; letter-spacing: -0.01em; }
.pdf-terms { font-family: var(--font-sans); font-size: 12px; line-height: 1.45; font-weight: 400; }
.pdf-table { font-family: var(--font-sans); font-size: 11.33px; line-height: 1.3; font-weight: 400; }
.pdf-th { font-family: var(--font-sans); font-size: 9.33px; line-height: 1.25; font-weight: 600; letter-spacing: 0.06em; }
.pdf-eyebrow { font-family: var(--font-sans); font-size: 10px; line-height: 1.2; font-weight: 650; letter-spacing: 0.14em; }
.pdf-small { font-family: var(--font-sans); font-size: 10px; line-height: 1.4; font-weight: 400; }
.pdf-num { font-family: var(--font-mono); font-size: 10.67px; line-height: 1.3; font-weight: 400; }
.pdf-code { font-family: var(--font-mono); font-size: 11.33px; line-height: 1.45; font-weight: 400; }
.pdf-folio { font-family: var(--font-mono); font-size: 9.33px; line-height: 1; font-weight: 500; }
@font-face { font-family: "Inter Tight"; src: url("fonts/InterTight-Variable.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("fonts/InterTight-Italic-Variable.woff2") format("woff2"); font-weight: 400 800; font-style: italic; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/JetBrainsMono-Variable.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/JetBrainsMono-Italic-Variable.woff2") format("woff2"); font-weight: 400 700; font-style: italic; font-display: swap; }
