:root {
  /* ---- Ink: near-black neutrals, cooled very slightly ---- */
  --ink-900: #0e0f13;
  --ink-800: #191b21;
  --ink-700: #262931;
  --ink-600: #3a3e49;
  --ink-500: #565b69;
  --ink-400: #767c8b;
  --ink-300: #9ba1ae;
  --ink-200: #c3c7d0;
  --ink-100: #e0e3e8;
  --ink-050: #eef0f3;

  /* ---- Paper: warm off-whites ---- */
  --paper-000: #ffffff;
  --paper-050: #fbfaf8;
  --paper-100: #f5f3ef;
  --paper-200: #ebe8e2;

  /* ---- Velocity: the primary brand orange-red ---- */
  --velocity-700: #a82a08;
  --velocity-600: #c7320b;
  --velocity-500: #ff4a1c;
  --velocity-400: #ff7550;
  --velocity-200: #ffc3ae;
  --velocity-100: #ffe4d9;
  --velocity-050: #fff2ec;

  /* ---- Volt: electric lime, used sparingly for live/now moments ---- */
  --volt-600: #9dc400;
  --volt-500: #d6ff3d;
  --volt-200: #ecffab;
  --volt-050: #f7ffe0;

  /* ---- Semantic hues ---- */
  --green-600: #0d7a4a;
  --green-500: #12915a;
  --green-100: #d6f2e4;
  --amber-600: #a86a00;
  --amber-500: #e59500;
  --amber-100: #fdefd0;
  --red-600: #b42323;
  --red-500: #d22b2b;
  --red-100: #fadede;
  --blue-600: #2357bd;
  --blue-500: #2b6de0;
  --blue-100: #dbe7fb;

  /* ---- Channel palette: colour-codes connected accounts. Never platform logos. ---- */
  --channel-1: #ff4a1c;
  --channel-2: #2b6de0;
  --channel-3: #12915a;
  --channel-4: #8b3ce0;
  --channel-5: #e59500;
  --channel-6: #d6337a;

  /* ---- Semantic aliases: use these in components ---- */
  --text-strong: var(--ink-900);
  --text-body: var(--ink-700);
  --text-muted: var(--ink-500);
  --text-faint: var(--ink-400);
  --text-inverse: var(--paper-050);
  --text-brand: var(--velocity-600);
  --text-link: var(--velocity-600);
  --text-link-hover: var(--velocity-700);

  --surface-page: var(--paper-100);
  --surface-card: var(--paper-000);
  --surface-sunken: var(--paper-200);
  --surface-inverse: var(--ink-900);
  --surface-rail: var(--ink-900);
  --surface-brand: var(--velocity-500);
  --surface-brand-soft: var(--velocity-050);
  --surface-hover: rgba(14, 15, 19, 0.045);
  --surface-press: rgba(14, 15, 19, 0.09);
  --surface-selected: var(--velocity-050);
  --surface-scrim: rgba(14, 15, 19, 0.55);

  --border-hairline: var(--ink-100);
  --border-default: var(--ink-200);
  --border-strong: var(--ink-900);
  --border-brand: var(--velocity-500);
  --border-inverse: rgba(255, 255, 255, 0.14);

  --focus-ring: var(--velocity-500);
  --focus-ring-inverse: var(--volt-500);

  --status-published: var(--green-500);
  --status-published-bg: var(--green-100);
  --status-scheduled: var(--blue-500);
  --status-scheduled-bg: var(--blue-100);
  --status-draft: var(--ink-400);
  --status-draft-bg: var(--ink-050);
  --status-needs-review: var(--amber-500);
  --status-needs-review-bg: var(--amber-100);
  --status-failed: var(--red-500);
  --status-failed-bg: var(--red-100);
  --status-live: var(--volt-500);
}
