/**
 * COLOR TOKENS — Boost Ressources
 * ---------------------------------------------------------------
 * Base ramps are generated in OKLCH from five swatches taken directly
 * from the brand's color chart (charte graphique BR):
 *   #F8C633  gold      (yellow-300)
 *   #403A47  ink       (neutral-700)
 *   #339189  teal      (from logo gradient, 0%)
 *   #455AE0  indigo    (from logo gradient, 38%)
 *   #903FE0  violet    (from logo gradient, 100%)
 * Each family is expanded into a full 50–900 ramp (same hue, tapered
 * chroma/lightness) so the brand colors are usable as UI tints/shades,
 * not just single flat swatches. The exact swatch is preserved verbatim
 * at its native step (marked below) — nothing here overrides the chart.
 * `danger` has no counterpart in the source chart; it's a harmonized
 * addition (same OKLCH construction, hue 25) — see readme "Intentional additions".
 * ------------------------------------------------------------------ */
:root {

  /* yellow */
  --yellow-50: oklch(97.50% 0.0200 88.40);
  --yellow-100: oklch(95.00% 0.0450 88.40);
  --yellow-200: oklch(90.50% 0.0950 88.40);
  --yellow-300: oklch(84.79% 0.1603 88.40);  /* exact brand swatch #F8C633 */
  --yellow-400: oklch(78.00% 0.1550 88.40);
  --yellow-500: oklch(70.00% 0.1500 88.40);
  --yellow-600: oklch(62.00% 0.1450 88.40);
  --yellow-700: oklch(52.00% 0.1300 88.40);
  --yellow-800: oklch(42.00% 0.1050 88.40);
  --yellow-900: oklch(32.00% 0.0800 88.40);

  /* neutral */
  --neutral-0: oklch(100.00% 0.0000 306.09);
  --neutral-50: oklch(98.00% 0.0040 306.09);
  --neutral-100: oklch(95.00% 0.0060 306.09);
  --neutral-200: oklch(89.00% 0.0080 306.09);
  --neutral-300: oklch(80.00% 0.0100 306.09);
  --neutral-400: oklch(68.00% 0.0140 306.09);
  --neutral-500: oklch(56.00% 0.0180 306.09);
  --neutral-600: oklch(46.00% 0.0200 306.09);
  --neutral-700: oklch(35.97% 0.0235 306.09);  /* exact brand swatch #403A47 */
  --neutral-800: oklch(26.00% 0.0220 306.09);
  --neutral-900: oklch(17.00% 0.0180 306.09);
  --neutral-950: oklch(11.00% 0.0140 306.09);

  /* teal */
  --teal-50: oklch(95.00% 0.0200 187.15);
  --teal-100: oklch(90.00% 0.0350 187.15);
  --teal-200: oklch(82.00% 0.0500 187.15);
  --teal-300: oklch(73.00% 0.0650 187.15);
  --teal-400: oklch(66.00% 0.0780 187.15);
  --teal-500: oklch(59.98% 0.0878 187.15);  /* exact brand swatch #339189 */
  --teal-600: oklch(52.00% 0.0850 187.15);
  --teal-700: oklch(44.00% 0.0780 187.15);
  --teal-800: oklch(36.00% 0.0650 187.15);
  --teal-900: oklch(28.00% 0.0500 187.15);

  /* indigo */
  --indigo-50: oklch(96.00% 0.0200 270.92);
  --indigo-100: oklch(91.00% 0.0450 270.92);
  --indigo-200: oklch(83.00% 0.0800 270.92);
  --indigo-300: oklch(74.00% 0.1300 270.92);
  --indigo-400: oklch(64.00% 0.1750 270.92);
  --indigo-500: oklch(53.28% 0.2038 270.92);  /* exact brand swatch #455AE0 */
  --indigo-600: oklch(46.00% 0.1900 270.92);
  --indigo-700: oklch(39.00% 0.1700 270.92);
  --indigo-800: oklch(32.00% 0.1400 270.92);
  --indigo-900: oklch(25.00% 0.1100 270.92);

  /* violet */
  --violet-50: oklch(96.00% 0.0200 302.33);
  --violet-100: oklch(91.00% 0.0500 302.33);
  --violet-200: oklch(83.00% 0.0900 302.33);
  --violet-300: oklch(74.00% 0.1500 302.33);
  --violet-400: oklch(65.00% 0.2000 302.33);
  --violet-500: oklch(55.78% 0.2303 302.33);  /* exact brand swatch #903FE0 */
  --violet-600: oklch(48.00% 0.2100 302.33);
  --violet-700: oklch(40.00% 0.1800 302.33);
  --violet-800: oklch(32.00% 0.1500 302.33);
  --violet-900: oklch(25.00% 0.1100 302.33);

  /* danger */
  --danger-50: oklch(96.00% 0.0200 25.00);
  --danger-100: oklch(91.00% 0.0500 25.00);
  --danger-200: oklch(83.00% 0.0900 25.00);
  --danger-300: oklch(74.00% 0.1400 25.00);
  --danger-400: oklch(66.00% 0.1700 25.00);
  --danger-500: oklch(58.00% 0.1900 25.00);
  --danger-600: oklch(50.00% 0.1900 25.00);
  --danger-700: oklch(42.00% 0.1700 25.00);
  --danger-800: oklch(34.00% 0.1400 25.00);
  --danger-900: oklch(26.00% 0.1100 25.00);

  /* ---------------------------------------------------------------
   * SEMANTIC ALIASES — reference these in components/UI, not the raw ramps
   * ------------------------------------------------------------------ */

  /* Brand */
  --color-brand-gold: var(--yellow-300);
  --color-brand-ink: var(--neutral-700);
  --gradient-brand: linear-gradient(135deg, var(--teal-500) 0%, var(--indigo-500) 38%, var(--violet-500) 100%);

  /* Accents (from the logo's gradient mark) */
  --color-accent-teal: var(--teal-500);
  --color-accent-indigo: var(--indigo-500);
  --color-accent-violet: var(--violet-500);

  /* Semantic feedback */
  --color-success: var(--teal-600);
  --color-success-bg: var(--teal-50);
  --color-success-border: var(--teal-200);
  --color-warning: var(--yellow-700);
  --color-warning-bg: var(--yellow-50);
  --color-warning-border: var(--yellow-200);
  --color-danger: var(--danger-600);
  --color-danger-bg: var(--danger-50);
  --color-danger-border: var(--danger-200);
  --color-info: var(--indigo-500);
  --color-info-bg: var(--indigo-50);
  --color-info-border: var(--indigo-200);

  /* Surfaces */
  --surface-page: var(--neutral-0);
  --surface-card: var(--neutral-0);
  --surface-sunken: var(--neutral-50);
  --surface-inverse: var(--neutral-900);
  --surface-brand: var(--yellow-300);
  --surface-brand-soft: var(--yellow-50);

  /* Text */
  --text-primary: var(--neutral-800);
  --text-secondary: var(--neutral-600);
  --text-muted: var(--neutral-500);
  --text-on-brand: var(--neutral-900);
  --text-inverse: var(--neutral-0);
  --text-link: var(--indigo-600);
  --text-link-hover: var(--indigo-700);

  /* Borders */
  --border-subtle: var(--neutral-100);
  --border-default: var(--neutral-200);
  --border-strong: var(--neutral-300);
  --border-focus: var(--indigo-500);
}
