/* HELIX — Colour tokens
   Core four + supporting neutral ramp + minimal functional set.
   Guardrail: blue leads; orange is the spark, spent one place at a time; no gradients. */

:root {
  /* ---- Core four ---- */
  --helix-blue: #1e6bff;   /* primary — actions, active states, the brand */
  --helix-orange: #ff7a1a; /* the spark — highlights, key figures, sparingly */
  --helix-ink: #141821;    /* text + dark surfaces, the app-icon ground */
  --helix-paper: #f6f8fb;  /* light background */
  --helix-white: #ffffff;  /* cards / surfaces */

  /* ---- Blue ramp ---- */
  --blue-50: #eaf1ff;
  --blue-100: #b9d1ff;
  --blue-200: #7aa7ff;
  --blue-300: #3d8bff;  /* light-on-dark strand */
  --blue-500: #1e6bff;  /* = --helix-blue */
  --blue-700: #1450c2;
  --blue-900: #0c2e73;

  /* ---- Orange ramp ---- */
  --orange-50: #fff2e8;
  --orange-100: #ffd9b8;
  --orange-200: #ffa45c;
  --orange-300: #ff8c33;  /* light-on-dark strand */
  --orange-500: #ff7a1a;  /* = --helix-orange */
  --orange-700: #d45e08;
  --orange-900: #8f3d03;

  /* ---- Neutral ramp ---- */
  --neutral-0: #ffffff;
  --neutral-50: #f6f8fb;   /* paper */
  --neutral-100: #eef1f5;  /* disabled fills */
  --neutral-200: #e3e8ef;  /* borders / hairlines */
  --neutral-300: #c2c9d6;
  --neutral-400: #b9c0cc;  /* disabled text */
  --neutral-500: #7e879b;  /* secondary text */
  --neutral-700: #3a4150;  /* strong body */
  --neutral-900: #141821;  /* ink */

  /* ---- Functional (meaning only, never decoration) ---- */
  --positive: #16a75c;     /* shooting %, gains, success */
  --positive-50: #e6f6ee;
  --destructive: #e5484d;  /* delete, errors */
  --destructive-50: #fdeceb;

  /* ============ Semantic aliases ============ */
  /* text */
  --text-primary: var(--helix-ink);
  --text-secondary: var(--neutral-500);
  --text-strong: var(--neutral-700);
  --text-on-brand: #ffffff;
  --text-disabled: var(--neutral-400);
  --text-link: var(--helix-blue);

  /* surfaces */
  --surface-page: var(--helix-paper);
  --surface-card: var(--helix-white);
  --surface-ink: var(--helix-ink);
  --surface-ink-raised: #1d2333;  /* raised element on ink */
  --surface-sunken: var(--neutral-50);
  --surface-disabled: var(--neutral-100);

  /* lines */
  --border-default: var(--neutral-200);
  --border-strong: var(--neutral-300);
  --border-dashed: #cfd6e2;  /* opposition / tentative */

  /* interactive */
  --action-primary: var(--helix-blue);
  --action-primary-hover: var(--blue-700);
  --accent: var(--helix-orange);
  --accent-text: var(--orange-700);  /* orange that meets AA on light */
  --armed: var(--helix-orange);      /* the selected/armed recording state */
  --focus-ring: var(--helix-blue);
}
