/* Real single source of truth for apps/marketing/src/'s design tokens
   (2026-08-28, color/typography consolidation follow-up -- see
   .docs/design/ audit report for the full before/after evidence).

   NOT a literal file-share with apps/web/src/styles/tokens.css --
   checked first, that's a real structural blocker: the marketing
   compose service bind-mounts apps/marketing/src DIRECTLY over the
   served nginx path (`./apps/marketing/src:/usr/share/nginx/html:ro`),
   which means only files that physically live under apps/marketing/src
   are ever reachable at runtime, in EITHER the baked-image deployment
   or the bind-mounted hot-reload one -- a symlink out to ../../web/...
   can't resolve inside the container either way (only marketing's own
   subtree is mounted/copied in, apps/web is never present alongside
   it). Duplicating the VALUES here, in exactly one file both apps'
   maintainers can find, is the explicitly-sanctioned fallback for
   exactly this case -- not a shortcut, a verified constraint.

   KEEP THIS IN SYNC with apps/web/src/styles/tokens.css by hand. If you
   change a value in one, change it in the other in the same commit --
   this comment exists on both files precisely so drift gets caught in
   review, not discovered later. Real live drift ALREADY existed across
   marketing's own 9 pages before this file existed (some pages missing
   the type-scale tokens entirely, one -- 404.html -- missing the whole
   dark-mode block) -- confirmed via md5sum diff across all 9 files
   before this consolidation.

   --tag-violet is marketing-ONLY (used on the homepage's suite-type
   tag pills, e.g. "sql"/"ai_conversation" -- differentiates a tag
   category from the app's own garnet accent) -- not part of apps/web's
   token set, kept here rather than force-added there since nothing in
   the app itself needs it. */

:root {
  --ink: #f4f0fa;
  --ink-strong: #251e33;
  --surface: #fdfcff;
  --surface-warm: #eee7f7;
  --garnet: #7c1f3e;
  --garnet-soft: #9a3e5c;
  --garnet-text: #7c1f3e;
  --gold: #7a5a1e;
  --gold-bright: #b6934c;
  --text: #251e33;
  --text-dim: #6c6280;
  --hairline: rgba(63, 42, 90, 0.13);
  --pass: #276b47;
  --fail: #b23a2e;
  --info: #3e679e;
  --tag-violet: #4b3f6b;
  --font-display: 700 clamp(1.75rem, 1.35rem + 1.6vw, 2.75rem) / 1.15 "Bodoni Moda", "Times New Roman", serif;
  --font-heading: 700 1.375rem / 1.25 "Bodoni Moda", "Times New Roman", serif;
  --font-body: 400 0.9375rem / 1.55 "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-label: 600 0.8125rem / 1.3 "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-mono: 400 0.8125rem / 1.4 "IBM Plex Mono", ui-monospace, monospace;
  --card-shadow:
    0 1px 2px rgba(45, 25, 70, 0.06),
    0 8px 24px rgba(45, 25, 70, 0.07);
  --radius: 3px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ink: #0f0d12;
    --ink-strong: #f4ede1;
    --surface: #1c1620;
    --surface-warm: #221a26;
    --garnet: #b23a5c;
    --garnet-soft: #8a2c48;
    --garnet-text: #d36987;
    --gold: #c9a45c;
    --gold-bright: #e0c07e;
    --text: #f4ede1;
    --text-dim: #a093a0;
    --hairline: rgba(244, 237, 225, 0.14);
    --pass: #4fae7c;
    --fail: #d9695d;
    --info: #7fa8d9;
    --tag-violet: #a595c9;
    --card-shadow:
      0 1px 2px rgba(0, 0, 0, 0.3),
      0 12px 32px rgba(0, 0, 0, 0.35);
  }
}

:root[data-theme="dark"] {
  --ink: #0f0d12;
  --ink-strong: #f4ede1;
  --surface: #1c1620;
  --surface-warm: #221a26;
  --garnet: #b23a5c;
  --garnet-soft: #8a2c48;
  --garnet-text: #d36987;
  --gold: #c9a45c;
  --gold-bright: #e0c07e;
  --text: #f4ede1;
  --text-dim: #a093a0;
  --hairline: rgba(244, 237, 225, 0.14);
  --pass: #4fae7c;
  --fail: #d9695d;
  --info: #7fa8d9;
  --tag-violet: #a595c9;
  --card-shadow:
    0 1px 2px rgba(0, 0, 0, 0.3),
    0 12px 32px rgba(0, 0, 0, 0.35);
}
