/* Preclari design tokens — the CANONICAL source.
   Shared by the marketing site (preclari.com) and the product app
   (app.preclari.com) so the two surfaces cannot drift on brand primitives.

   This file holds ONLY the primitive layer: colour, typography, spacing,
   layout and accent custom properties. Component and page styling stays in
   each surface's own stylesheet — the app deliberately does not inherit the
   marketing chrome (nav, i18n switcher, signup modal), only the brand.

   Consumed by:
     - site/public/tokens.css  (copied by site/prebuild.mjs, linked before styles.css)
     - app/public/tokens.css   (copied by app/prebuild.mjs, linked before app.css)
     - site/src/components/tokens.ts (generated from this file; byte-match gated)

   Brand standard: IBM Plex, navy #1E3A5F. Buttons/labels/pills are IBM Plex Mono,
   all-caps (see --mono). */

:root {
  /* ── Ink + accent ─────────────────────────────────────── */
  --rc-graphite:       #2A2A2C;
  --rc-graphite-deep:  #1f1f21;   /* dark surfaces inside duet pane */
  --rc-mid:            #6A675F;   /* tertiary text, meets AA on paper */
  --rc-mid-soft:       #8C8880;   /* legacy quiet label, AA Large only */
  --rc-blue:           #1E3A5F;   /* Preclari accent, graphite blue */
  --rc-blue-deep:      #16304F;
  --rc-blue-light:     #8aafe5;   /* on-dark accent reference */
  --rc-teal:           #1F4D4A;   /* PPP sibling reference */
  --rc-teal-light:     #9cc6a8;   /* on-dark success / ok */

  /* ── Surfaces ─────────────────────────────────────────── */
  --rc-paper:      #FAFAF8;
  --rc-paper-bright: #FFFFFF;     /* used only on hover where extra lift is needed */
  --rc-stone:      #F2F0EC;
  --rc-stone-deep: #ECE9E2;
  --rc-dust:       #E4E1DB;
  --rc-alert:      #7A3B2E;
  --rc-alert-light: #F5EAE7;       /* soft alert wash, consumed by SeamChart + RecoveryCostChart */

  /* ── Code-block syntax (on dark graphite ground) ──────── */
  --code-key:      #b0c4dd;
  --code-str:      #e6e2d6;
  --code-num:      #c2b0dd;

  /* ── On dark grounds (graphite + blue) ────────────────── */
  --rc-on-dark-primary:   #FAFAF8;
  --rc-on-dark-secondary: rgba(250, 250, 248, 0.62);
  --rc-on-dark-eyebrow:   rgba(250, 250, 248, 0.45);
  --rc-on-dark-hairline:  rgba(250, 250, 248, 0.22);

  /* ── Type ─────────────────────────────────────────────── */
  --serif: 'IBM Plex Serif', Georgia, serif;
  --sans:  'IBM Plex Sans', Arial, sans-serif;
  --mono:  'IBM Plex Mono', 'Courier New', monospace;

  /* ── Spacing 8px base ─────────────────────────────────── */
  --s-2: 4px;  --s-3: 8px;  --s-4: 12px; --s-5: 16px;
  --s-6: 20px; --s-7: 24px; --s-8: 32px; --s-9: 40px;
  --s-10: 48px; --s-11: 56px; --s-12: 64px; --s-13: 72px;
  --s-14: 80px; --s-15: 96px; --s-16: 120px;

  /* ── Layout ───────────────────────────────────────────── */
  --content-max: 1240px;
  --gutter: 48px;

  /* ── Accent ───────────────────────────────────────────── */
  --accent: var(--rc-blue);
  --accent-deep: var(--rc-blue-deep);
}
