:root {
  color-scheme: dark;

  /* Primary: Tango green */
  --color-primary-100: #002922;
  --color-primary-200: #005244;
  --color-primary-300: #007a66;
  --color-primary-400: #00a388;
  --color-primary-500: #00ccaa;
  --color-primary-600: #33d6bb;
  --color-primary-700: #66e0cc;
  --color-primary-800: #99ebdd;
  --color-primary-900: #ccf5ee;

  /* Brand secondary: orange */
  --color-secondary-100: #31180c;
  --color-secondary-200: #623118;
  --color-secondary-300: #934925;
  --color-secondary-400: #c46231;
  --color-secondary-500: #f57a3d;
  --color-secondary-600: #f79564;
  --color-secondary-700: #f9af8b;
  --color-secondary-800: #fbcab1;
  --color-secondary-900: #fde4d8;

  /* Legacy tertiary aliases resolve to the secondary brand family. */
  --color-tertiary-100: var(--color-secondary-100);
  --color-tertiary-200: var(--color-secondary-200);
  --color-tertiary-300: var(--color-secondary-300);
  --color-tertiary-400: var(--color-secondary-400);
  --color-tertiary-500: var(--color-secondary-500);
  --color-tertiary-600: var(--color-secondary-600);
  --color-tertiary-700: var(--color-secondary-700);
  --color-tertiary-800: var(--color-secondary-800);
  --color-tertiary-900: var(--color-secondary-900);

  /* Brand neutral scale */
  --color-neutral-000: #ffffff;
  --color-neutral-050: #f0f2f4;
  --color-neutral-100: #111317;
  --color-neutral-200: #21242c;
  --color-neutral-300: #373c49;
  --color-neutral-400: #4e5566;
  --color-neutral-500: #697388;
  --color-neutral-600: #848fa4;
  --color-neutral-700: #aeb7c8;
  --color-neutral-800: #d5d9e0;
  --color-neutral-900: #f0f2f4;
  --color-neutral-950: #ffffff;

  /* Status colors */
  --color-success-100: #002922;
  --color-success-300: #007a66;
  --color-success-500: #00ccaa;
  --color-success-700: #66e0cc;
  --color-success-900: #ccf5ee;
  --color-warning-100: #31180c;
  --color-warning-300: #934925;
  --color-warning-500: #f57a3d;
  --color-warning-700: #f9af8b;
  --color-warning-900: #fde4d8;
  --color-error-100: #2b0608;
  --color-error-300: #811218;
  --color-error-500: #d71e28;
  --color-error-700: #e7787e;
  --color-error-900: #f7d2d4;
  --color-info-100: #042525;
  --color-info-300: #0c6e6e;
  --color-info-500: #14b8b8;
  --color-info-700: #72d4d4;
  --color-info-900: #d0f1f1;

  /* Mapped dark-mode roles from figma-color-variables/Mapped.json */
  --mapped-text-heading: #f0f2f4;
  --mapped-text-body: #f0f2f4;
  --mapped-text-caption: #848fa4;
  --mapped-text-placeholder: #4e5566;
  --mapped-text-primary: #00ccaa;
  --mapped-text-primary-hover: #33d6bb;
  --mapped-text-on-primary: #002922;
  --mapped-surface-page: #111317;
  --mapped-surface-page-secondary: #21242c;
  --mapped-surface-layer: #21242c;
  --mapped-surface-layer-secondary: #373c49;
  --mapped-surface-primary: #00ccaa;
  --mapped-surface-primary-hover: #33d6bb;
  --mapped-surface-primary-subtle: #002922;
  --mapped-surface-primary-subtle-hover: #005244;
  --mapped-surface-secondary: #f57a3d;
  --mapped-surface-secondary-hover: #f79564;
  --mapped-border-default: #848fa4;
  --mapped-border-subtle: #4e5566;
  --mapped-border-primary: #00ccaa;
  --mapped-border-primary-focus: #00ccaa;

  /* Semantic backgrounds and layers */
  --surface-page: var(--mapped-surface-page);
  --surface-page-subtle: var(--mapped-surface-page-secondary);
  --surface-layer-1: var(--mapped-surface-layer);
  --surface-layer-2: var(--mapped-surface-layer-secondary);
  --surface-layer-3: #4e5566;
  --surface-card: var(--mapped-surface-primary-subtle);
  --surface-card-hover: var(--mapped-surface-primary-subtle-hover);
  --surface-overlay: rgba(17, 19, 23, 0.86);
  --surface-scrim: rgba(17, 19, 23, 0.74);

  /* Semantic text */
  --text-heading: var(--mapped-text-heading);
  --text-body: var(--mapped-text-body);
  --text-muted: var(--mapped-text-caption);
  --text-subtle: #697388;
  --text-disabled: var(--mapped-text-placeholder);
  --text-on-primary: var(--mapped-text-on-primary);
  --text-link: var(--mapped-text-primary);
  --text-link-hover: var(--mapped-text-primary-hover);

  /* Semantic borders */
  --border-subtle: var(--mapped-border-subtle);
  --border-default: var(--mapped-border-default);
  --border-strong: var(--mapped-border-default);
  --border-interactive: var(--mapped-border-primary);
  --border-focus: var(--mapped-border-primary-focus);

  /* Semantic actions */
  --action-primary-bg: var(--mapped-surface-primary);
  --action-primary-bg-hover: var(--mapped-surface-primary-hover);
  --action-primary-text: var(--mapped-text-on-primary);
  --action-secondary-bg: var(--mapped-surface-secondary);
  --action-secondary-bg-hover: var(--mapped-surface-secondary-hover);
  --action-secondary-text: var(--color-secondary-100);
  --action-tertiary-bg: var(--color-secondary-100);
  --action-tertiary-bg-hover: var(--color-secondary-200);
  --action-tertiary-text: var(--color-secondary-600);
  --action-quiet-bg: var(--surface-layer-1);
  --action-quiet-bg-hover: var(--surface-layer-2);

  /* Semantic status roles */
  --status-success-bg: var(--color-success-100);
  --status-success-border: var(--color-success-500);
  --status-success-text: var(--color-success-500);
  --status-warning-bg: var(--color-warning-100);
  --status-warning-border: var(--color-warning-500);
  --status-warning-text: var(--color-warning-500);
  --status-error-bg: var(--color-error-100);
  --status-error-border: #df4b53;
  --status-error-text: #df4b53;
  --status-info-bg: var(--color-info-100);
  --status-info-border: var(--color-info-500);
  --status-info-text: var(--color-info-500);

  /* Shape, spacing, elevation, and motion */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --shadow-sm: 0 4px 14px rgba(17, 19, 23, 0.24);
  --shadow-md: 0 12px 32px rgba(17, 19, 23, 0.38);
  --shadow-lg: 0 24px 70px rgba(17, 19, 23, 0.52);
  --shadow-primary: 0 8px 24px rgba(0, 204, 170, 0.18);
  --focus-ring: 0 0 0 3px rgba(0, 204, 170, 0.32);
  --motion-fast: 130ms;
  --motion-default: 180ms;
  --motion-slow: 360ms;
  --ease-standard: cubic-bezier(0.2, 0.72, 0.18, 1);
}
