:root {
  /* Core aliases */
  --color-base: var(--color-forest-base-dark);
  --color-accent: var(--color-forest-primary-accent);
  --color-light: var(--color-forest-light-neutral);
  --color-surface-light: var(--color-carbon-base-parchment);
  --color-surface-white: var(--color-common-white);
  --color-surface-section: var(--color-carbon-section-bg);
  --color-typography-primary: var(--color-carbon-primary-text);
  --color-typography-secondary: var(--color-carbon-secondary-text);
  --color-typography-white: var(--color-carbon-base-parchment);
  --color-buttons-primary: var(--color-carbon-primary-accent);
  --color-buttons-secondary: var(--color-carbon-secondary-accent);
  --color-support-border: var(--color-carbon-borders);

  /* Forest theme */
  --color-forest-base-dark: #212f2b;
  --color-forest-base-light: #f4f7f5;
  --color-forest-dark-neutral: #181f1d;
  --color-forest-mid-neutral: #6e7c76;
  --color-forest-light-neutral: #d7e0db;
  --color-forest-primary-accent: #4e9f7d;
  --color-forest-secondary-accent: #d4a373;
  --color-forest-cool-accent: #4a6fa5;
  --color-forest-success: #3e836e;
  --color-forest-warning: #c88a3d;
  --color-forest-error: #b94a48;

  /* Carbon theme */
  --color-carbon-base-carbon: #141414;
  --color-carbon-base-parchment: #f5f1eb;
  --color-carbon-primary-accent: #b85c38;
  --color-carbon-secondary-accent: #4f5d52;
  --color-carbon-tertiary-accent: #8b8178;
  --color-carbon-primary-text: var(--color-carbon-base-carbon);
  --color-carbon-secondary-text: #4a4a4a;
  --color-carbon-helper-text: #7a7a7a;
  --color-carbon-borders: #d6d0c8;
  --color-carbon-section-bg: #f6f7f8;
  --color-carbon-muted-icons-ui: #8b8178;
  --color-carbon-success: #5f7a6b;
  --color-carbon-warning: #9a6a3a;
  --color-carbon-error: #8a3f3f;

  /* Common neutrals */
  --color-common-white: #ffffff;

  /* Default active theme (carbon) */
  --color-theme-base: var(--color-carbon-base-carbon);
  --color-theme-surface: var(--color-carbon-base-parchment);
  --color-theme-text: var(--color-carbon-primary-text);
  --color-theme-text-muted: var(--color-carbon-secondary-text);
  --color-theme-accent: var(--color-carbon-primary-accent);
  --color-theme-border: var(--color-carbon-borders);
}

/* Optional explicit theme scopes */
[data-theme="forest"] {
  --color-theme-base: var(--color-forest-base-dark);
  --color-theme-surface: var(--color-forest-base-light);
  --color-theme-text: var(--color-forest-dark-neutral);
  --color-theme-text-muted: var(--color-forest-mid-neutral);
  --color-theme-accent: var(--color-forest-primary-accent);
  --color-theme-border: var(--color-forest-light-neutral);
}

[data-theme="carbon"] {
  --color-theme-base: var(--color-carbon-base-carbon);
  --color-theme-surface: var(--color-carbon-base-parchment);
  --color-theme-text: var(--color-carbon-primary-text);
  --color-theme-text-muted: var(--color-carbon-secondary-text);
  --color-theme-accent: var(--color-carbon-primary-accent);
  --color-theme-border: var(--color-carbon-borders);
}

/* Global color utility classes */
.bg-theme-base { background-color: var(--color-theme-base); }
.bg-theme-surface { background-color: var(--color-theme-surface); }
.bg-theme-accent { background-color: var(--color-theme-accent); }

.text-theme { color: var(--color-theme-text); }
.text-theme-muted { color: var(--color-theme-text-muted); }
.text-theme-accent { color: var(--color-theme-accent); }

.border-theme { border-color: var(--color-theme-border); }

.bg-forest-base-dark { background-color: var(--color-forest-base-dark); }
.bg-forest-base-light { background-color: var(--color-forest-base-light); }
.text-forest-dark-neutral { color: var(--color-forest-dark-neutral); }
.text-forest-mid-neutral { color: var(--color-forest-mid-neutral); }
.text-forest-primary-accent { color: var(--color-forest-primary-accent); }

.bg-carbon-base-carbon { background-color: var(--color-carbon-base-carbon); }
.bg-carbon-base-parchment { background-color: var(--color-carbon-base-parchment); }
.text-carbon-primary { color: var(--color-carbon-primary-text); }
.text-carbon-secondary { color: var(--color-carbon-secondary-text); }
.text-carbon-helper { color: var(--color-carbon-helper-text); }
.text-carbon-accent { color: var(--color-carbon-primary-accent); }

.border-carbon { border-color: var(--color-carbon-borders); }
.border-forest { border-color: var(--color-forest-light-neutral); }
