/* TYSU Canonical Colour Tokens v1.1 — DEC-017 + DEC-021 / VAL-022 — 2026-07-20
   Approved Neutral Foundation + H1 functional-state system. Primitives and semantic aliases are separate.
   Computed CMYK: REFERENCE ESTIMATE — NOT PRODUCTION APPROVED. */
:root {
  /* Primitives */
  --tysu-primitive-graphite: #161716;
  --tysu-primitive-ivory: #EEE9DE;
  --tysu-primitive-paper: #FAF8F5;
  --tysu-primitive-primary-ink: #1D1E1C;
  --tysu-primitive-secondary-ink: #565652;
  --tysu-primitive-light-decorative-rule: #CECAC1;
  --tysu-primitive-dark-decorative-rule: #373734;
  --tysu-primitive-dark-muted: #A6A39B;
  --tysu-primitive-logo-black: #000000;
  --tysu-primitive-logo-white: #FFFFFF;
  --tysu-primitive-utility-blue: #30465A;
  --tysu-primitive-success: #315C4A;
  --tysu-primitive-warning: #76651F;
  --tysu-primitive-error: #7A3737;

  /* Semantic aliases */
  --tysu-canvas-light: var(--tysu-primitive-paper);
  --tysu-canvas-dark: var(--tysu-primitive-graphite);
  --tysu-surface-elevated-light: var(--tysu-primitive-ivory);
  --tysu-text-on-light-primary: var(--tysu-primitive-primary-ink);
  --tysu-text-on-light-secondary: var(--tysu-primitive-secondary-ink);
  --tysu-text-on-dark-primary: var(--tysu-primitive-ivory);
  --tysu-text-on-dark-secondary: var(--tysu-primitive-dark-muted);
  --tysu-decorative-rule-light: var(--tysu-primitive-light-decorative-rule);
  --tysu-decorative-rule-dark: var(--tysu-primitive-dark-decorative-rule);
  --tysu-control-boundary-light: var(--tysu-primitive-primary-ink);
  --tysu-control-boundary-dark: var(--tysu-primitive-ivory);
  --tysu-focus-light: var(--tysu-primitive-utility-blue);
  --tysu-focus-dark: var(--tysu-primitive-ivory);
  --tysu-information-light: var(--tysu-primitive-utility-blue);
  --tysu-success-light: var(--tysu-primitive-success);
  --tysu-warning-light: var(--tysu-primitive-warning);
  --tysu-error-light: var(--tysu-primitive-error);
  --tysu-state-primary-dark: var(--tysu-primitive-ivory);
  --tysu-state-secondary-dark: var(--tysu-primitive-dark-muted);
}
/* H1 controls (DEC-021):
   - information/success/warning/error apply only on Ivory/Paper; body copy remains Primary/Secondary Ink.
   - Warning #76651F stays fully opaque and is not small lightweight text.
   - Graphite uses Ivory/Dark Muted plus labels, icons, patterns and structural boundaries; no semantic hue.
   - Semantic colours are product utilities, never brand/marketing/hero/CTA/navigation decoration. */
