/* ==========================================================================
   GENERATED FILE — DO NOT EDIT.
   Source: brand/tokens.json   Generator: brand/generate.py
   Run `python3 brand/generate.py` after changing tokens.json.
   Read brand/BRAND.md before touching Whisper's colours.
   ========================================================================== */

:root {
  /* Raw ramps — reach for a semantic token below before these. */
  --w-purple-50: #faf5ff;
  --w-purple-100: #f3e8ff;
  --w-purple-200: #e9d5ff;
  --w-purple-300: #d8b4fe;
  --w-purple-400: #c084fc;
  --w-purple-500: #a855f7;
  --w-purple-600: #9333ea;
  --w-purple-700: #7e22ce;
  --w-purple-800: #6b21a8;
  --w-purple-900: #581c87;
  --w-pink-300: #f9a8d4;
  --w-pink-400: #f472b6;
  --w-pink-500: #ec4899;
  --w-pink-600: #db2777;

  /* Brand constants, identical in every colour scheme. */
  --w-primary: #a855f7;
  --w-primary-light: #c084fc;
  --w-primary-lighter: #d8b4fe;
  --w-primary-deep: #9333ea;
  --w-primary-deeper: #7e22ce;
  --w-secondary: #ec4899;
  --w-gradient-from: #a855f7;
  --w-gradient-to: #ec4899;
  --w-glow: rgba(168, 85, 247, 0.22);
  --w-gradient: linear-gradient(135deg, #a855f7 0%, #ec4899 100%);
  --w-gradient-text: linear-gradient(90deg, #a855f7 0%, #ec4899 100%);

  /* Channel triplets, so alpha variants stay derived: rgba(var(--w-primary-rgb), .18) */
  --w-primary-rgb: 168, 85, 247;
  --w-secondary-rgb: 236, 72, 153;

  /* Scheme-neutral status hues. */
  --w-success: #22c55e;
  --w-warning: #fbbf24;
  --w-danger: #ef4444;
}

:root,
:root[data-theme='dark'] {
  color-scheme: dark;
  --w-bg: #06080d;
  --w-bg-alt: #08101a;
  --w-surface: #0e1219;
  --w-surface-raised: #161b27;
  --w-surface-hover: #1e2436;
  --w-surface-active: #2a3148;
  --w-text: #f5f7fa;
  --w-text-muted: #9aa4b2;
  --w-text-soft: #6b7280;
  --w-accent: #a855f7;
  --w-accent-hover: #c084fc;
  --w-on-accent: #1a0525;
  --w-border: rgba(255, 255, 255, 0.08);
  --w-border-strong: rgba(255, 255, 255, 0.16);
  --w-success: #27c08a;
  --w-warning: #d9a521;
  --w-danger: #f2647b;
}

:root[data-theme='light'] {
  color-scheme: light;
  --w-bg: #f6f4fb;
  --w-bg-alt: #efebf8;
  --w-surface: #ffffff;
  --w-surface-raised: #f5f1fc;
  --w-surface-hover: #ebe4f8;
  --w-surface-active: #e0d5f3;
  --w-text: #191325;
  --w-text-muted: #574d6b;
  --w-text-soft: #7c7291;
  --w-accent: #9333ea;
  --w-accent-hover: #7e22ce;
  --w-on-accent: #ffffff;
  --w-border: rgba(88, 28, 135, 0.12);
  --w-border-strong: rgba(88, 28, 135, 0.22);
  --w-success: #1d8a5a;
  --w-warning: #a2751a;
  --w-danger: #cf3d54;
}
