/* GENERATED FILE. Do not edit by hand.
   Source: /brand/tokens.json  ->  python3 build/tokens.py
   Credential Press brand tokens, version 1.0.0, 2026-08-05. */

:root {
  /* ---- Brand colours. Each one has a job; see /brand ---- */
  --ink: #131A22; /* Headings, dark surfaces, the logo field. The near-black of a printed certificate. */
  --ink-deep: #0B1016; /* Dark-mode page background and the bottom of the hero gradient. */
  --certificate: #F6F4EF; /* Page background in light mode. Warm, the color of certificate stock, never plain white. */
  --seal: #C08327; /* The accent. Buttons, the logo ring, rules and marks. Large elements only, never body text on Certificate. */
  --seal-deep: #8A5D14; /* Links and small accent text on light backgrounds, where Seal Gold is too pale to read. */
  --seal-bright: #E5AE55; /* Links and accent text on dark backgrounds. */
  --field-slate: #3E5266; /* Secondary UI, table headers, quiet labels. The blue-gray of a form field. */
  --flag: #B3402F; /* Errors, warnings, and the do-not column. Used sparingly. */

  /* ---- Light mode surfaces ---- */
  --bg: var(--certificate);
  --surface: #FFFFFF;
  --surface-2: #FBFAF6;
  --text: #232C36;
  --heading: var(--ink);
  --muted: #5A6673;
  --link: var(--seal-deep);
  --accent: var(--seal);
  --on-seal: #1A1204;
  --hero-body: #B9C2CE;
  --border: rgba(19, 26, 34, 0.15);
  --border-soft: rgba(19, 26, 34, 0.08);
  --shadow: 0 1px 2px rgba(19,26,34,0.05), 0 14px 34px -20px rgba(19,26,34,0.28);
  --shadow-lift: 0 2px 4px rgba(19,26,34,0.06), 0 26px 52px -22px rgba(19,26,34,0.36);

  /* ---- Type ---- */
  --display: "Source Serif 4", "Charter", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --body: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* ---- Geometry ---- */
  --radius-sm: 8px;
  --radius-md: 11px;
  --radius-lg: 14px;
  --radius-xl: 20px;
}

[data-theme="dark"] {
  --bg: var(--ink-deep);
  --surface: #141C26;
  --surface-2: #111925;
  --text: #C6CEDA;
  --heading: var(--certificate);
  --muted: #909BAA;
  --link: var(--seal-bright);
  --border: rgba(246, 244, 239, 0.16);
  --border-soft: rgba(246, 244, 239, 0.08);
  --shadow: 0 1px 2px rgba(0,0,0,0.35), 0 14px 34px -20px rgba(0,0,0,0.65);
  --shadow-lift: 0 2px 4px rgba(0,0,0,0.4), 0 26px 52px -22px rgba(0,0,0,0.75);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --bg: var(--ink-deep);
    --surface: #141C26;
    --surface-2: #111925;
    --text: #C6CEDA;
    --heading: var(--certificate);
    --muted: #909BAA;
    --link: var(--seal-bright);
    --border: rgba(246, 244, 239, 0.16);
    --border-soft: rgba(246, 244, 239, 0.08);
    --shadow: 0 1px 2px rgba(0,0,0,0.35), 0 14px 34px -20px rgba(0,0,0,0.65);
    --shadow-lift: 0 2px 4px rgba(0,0,0,0.4), 0 26px 52px -22px rgba(0,0,0,0.75);
  }
}
