/*
 * posterRegister · tokens
 *
 * The canonical palette + type + spacing tokens for the MixOps Poster
 * visual register. Locked 2026-06-06 from the iterated state across
 * meal-portal pages (splash, /me, /a, /p, /f, plan, order, help,
 * quickstart). Future surfaces consume these via var(--...).
 *
 * Sister files:
 *   primitives.css   — component patterns built from these tokens
 *   index.css        — single-import entry point (loads both)
 *   PALETTE.md       — human-readable palette reference + WCAG notes
 *
 * Naming convention: --pr-<category>-<role>-<modifier>
 *   pr = poster register prefix (avoids collision with registerV5,
 *        v4, mo-ui tokens that share the codebase).
 */

:root {
  color-scheme: only light;
  forced-color-adjust: none;

  /* ── Backgrounds: the parchment → cream → paper ladder ───
   * Each step a few RGB points lighter so adjacent surfaces tell
   * the eye which one is the focal area. The page is parchment,
   * cards sit on top in cream, input surfaces are paper-light. */
  --pr-bg-parchment:    #f0eadf;  /* page bg — the canonical "tan" */
  --pr-bg-cream-shadow: #ede5d2;  /* bands (sess-head, action footer) */
  --pr-bg-cream:        #faf5e9;  /* card surfaces */
  --pr-bg-paper:        #fefcf3;  /* input surfaces, focal sheets */
  --pr-bg-cream-deep:   #e3dcc9;  /* deeper cream — focus emphasis */
  --pr-bg-warm-tan:     #ebe4d0;  /* hairline between cream-shadow and cream */

  /* ── Ink: dark text on the light bg ──────────────────────
   * Three steps of text emphasis. ink-shadow doubles as the
   * driftwood neutral for borders, captions, eyebrow text. */
  --pr-ink:        #0a0a0a;   /* primary text, h1/h2, ink frames */
  --pr-ink-mid:    #2a2a2a;   /* body, secondary headings */
  --pr-ink-faint:  #5e5446;   /* tertiary, deeper driftwood */
  --pr-ink-shadow: #8a7d6a;   /* driftwood — quiet captions/eyebrows */

  /* ── Driftwood family: borders, hairlines, quiet chrome ─ */
  --pr-driftwood:        #8a7d6a;
  --pr-driftwood-warm:   #9a8a72;
  --pr-driftwood-pale:   #c9bfa8;   /* mid-weight hairlines */
  --pr-driftwood-fog:    #d4cdbd;   /* finest hairlines, internal seps */
  --pr-driftwood-edge:   #ebe4d0;   /* faintest divider (within bg-paper) */
  --pr-driftwood-deep:   #6b5f50;

  /* ── Earth-tone accents (used for kanban lanes, status pills,
   *    tags). Each has a paired surface bg so the accent can carry
   *    a tinted card without losing contrast.
   *
   * Progression: cool → warm = "more attention needed."
   *   sage-stone (calm)  → hay → honey → terracotta (urgent)
   *   plus quiet-stone for "settled / read-only."
   * ─────────────────────────────────────────────────────── */
  --pr-sage:           #8a9d83;
  --pr-sage-bg:        #ede8d1;
  --pr-sage-deep:      #5e6649;

  --pr-hay:            #a59774;
  --pr-hay-bg:         #ede8d1;   /* shares sage's tinted bg (warm earth) */
  --pr-hay-deep:       #6b5f3d;

  --pr-honey:          #c89c3a;   /* the canonical attention/warning */
  --pr-honey-bg:       #f5e7b3;
  --pr-honey-deep:     #8a6a18;

  --pr-terracotta:     #a87858;   /* strongest "act now" */
  --pr-terracotta-bg:  #ecd9c9;
  --pr-terracotta-deep:#6a4632;

  --pr-stone:          #9a958d;   /* quiet / settled / done */
  --pr-stone-bg:       #e3dfd5;

  /* ── Brand action color · driftwood ──────────────────────
   * Buttons / CTAs that need to feel branded but not loud. Use
   * --pr-ink (#0a0a0a) for primary CTAs; this is the secondary
   * brand voice. */
  --pr-brand:          #8a7d6a;
  --pr-brand-warm:     #a89a82;
  --pr-brand-text-on:  #faf5e9;   /* text color on dark brand bg */

  /* ── Rules / hairlines ──────────────────────────────────── */
  --pr-rule-fog:        rgba(10, 10, 10, 0.14);
  --pr-rule-fog-strong: rgba(10, 10, 10, 0.24);
  --pr-rule-row:        rgba(10, 10, 10, 0.04);

  /* ── Type ─────────────────────────────────────────────────
   * IBM Plex Sans for everything human-readable. IBM Plex Mono
   * for data, file paths, eyebrows, code, monospaced tags. */
  --pr-font-sans:  'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Helvetica, sans-serif;
  --pr-font-mono:  'IBM Plex Mono', ui-monospace, Menlo, monospace;

  --pr-text-xs:    10.5px;  /* eyebrows, monospace captions */
  --pr-text-sm:    11.5px;  /* meta rows, small labels */
  --pr-text-base:  14.5px;  /* body */
  --pr-text-md:    16px;    /* large body, comfortable read */
  --pr-text-lg:    18px;    /* input fields, prominent text */
  --pr-text-xl:    22px;    /* small headings */
  --pr-text-2xl:   28px;    /* section titles */
  --pr-text-3xl:   38px;    /* hero titles */
  --pr-text-4xl:   44px;    /* display headlines on splash */

  --pr-leading-tight: 1.1;
  --pr-leading-snug:  1.3;
  --pr-leading-base:  1.55;

  --pr-tracking-tight:  -0.025em;
  --pr-tracking-normal: -0.005em;
  --pr-tracking-mono:   0.04em;   /* IBM Plex Mono body */
  --pr-tracking-eyebrow: 0.10em;  /* uppercase eyebrows + meta */
  --pr-tracking-display: 0.18em;  /* tightly-spaced display caps */

  --pr-weight-regular: 400;
  --pr-weight-medium:  500;
  --pr-weight-semi:    600;
  --pr-weight-bold:    700;

  /* ── Spacing scale ─────────────────────────────────────── */
  --pr-s-1:  4px;
  --pr-s-2:  8px;
  --pr-s-3:  12px;
  --pr-s-4:  14px;
  --pr-s-5:  18px;
  --pr-s-6:  22px;
  --pr-s-7:  28px;
  --pr-s-8:  36px;
  --pr-s-9:  48px;

  /* ── Geometry ──────────────────────────────────────────── */
  --pr-radius:        3px;        /* universal corner radius — small */
  --pr-radius-none:   0;          /* most poster surfaces are square */

  --pr-border-hair:   1px;
  --pr-border-rule:   1.5px;      /* the most common visible rule */
  --pr-border-frame:  2px;        /* card frames */
  --pr-border-heavy:  3px;        /* heavy chrome (legacy facility-poster) */
  --pr-border-block:  4px;        /* kanban frames + left-accent bars */

  /* ── Effects ───────────────────────────────────────────────
   * Color of the brutalist offset drop-shadow (the `Nx Nx 0 0`
   * lift on cards / panels). Defaults to honey (#c89c3a) but is
   * its OWN token, deliberately separate from --pr-honey, so the
   * shadow tint can be tuned independently of the honey
   * attention/warning accent. Change here → every offset shadow
   * site-wide updates. */
  --pr-shadow:        #c89c3a;
}
