@layer ed-utilities {
  :where(:root),
  .ed-brand,
  :host([variant='brand']) {
    --ed-color-fill-dark: var(--ed-color-brand-fill-dark);
    --ed-color-fill-normal: var(--ed-color-brand-fill-normal);
    --ed-color-fill-light: var(--ed-color-brand-fill-light);
    --ed-color-on-dark: var(--ed-color-brand-on-dark);
    --ed-color-on-normal: var(--ed-color-brand-on-normal);
    --ed-color-on-light: var(--ed-color-brand-on-light);
    --ed-color-on-surface: var(--ed-color-brand-on-surface);
    --ed-color-border-dark: var(--ed-color-brand-border-dark);
    --ed-color-border-normal: var(--ed-color-brand-border-normal);
    --ed-color-border-light: var(--ed-color-brand-border-light);
  }

  .ed-neutral,
  :host([variant='neutral']) {
    --ed-color-fill-dark: var(--ed-color-neutral-fill-dark);
    --ed-color-fill-normal: var(--ed-color-neutral-fill-normal);
    --ed-color-fill-light: var(--ed-color-neutral-fill-light);
    --ed-color-on-dark: var(--ed-color-neutral-on-dark);
    --ed-color-on-normal: var(--ed-color-neutral-on-normal);
    --ed-color-on-light: var(--ed-color-neutral-on-light);
    --ed-color-on-surface: var(--ed-color-neutral-on-surface);
    --ed-color-border-dark: var(--ed-color-neutral-border-dark);
    --ed-color-border-normal: var(--ed-color-neutral-border-normal);
    --ed-color-border-light: var(--ed-color-neutral-border-light);
  }

  .ed-ai,
  :host([variant='ai']) {
    --ed-color-fill-dark: var(--ed-color-ai-fill-dark);
    --ed-color-fill-normal: var(--ed-color-ai-fill-normal);
    --ed-color-fill-light: var(--ed-color-ai-fill-light);
    --ed-color-on-dark: var(--ed-color-ai-on-dark);
    --ed-color-on-normal: var(--ed-color-ai-on-normal);
    --ed-color-on-light: var(--ed-color-ai-on-light);
    --ed-color-on-surface: var(--ed-color-ai-on-surface);
    --ed-color-border-dark: var(--ed-color-ai-border-dark);
    --ed-color-border-normal: var(--ed-color-ai-border-normal);
    --ed-color-border-light: var(--ed-color-ai-border-light);
  }

  .ed-info,
  :host([variant='info']) {
    --ed-color-fill-dark: var(--ed-color-info-fill-dark);
    --ed-color-fill-normal: var(--ed-color-info-fill-normal);
    --ed-color-fill-light: var(--ed-color-info-fill-light);
    --ed-color-on-dark: var(--ed-color-info-on-dark);
    --ed-color-on-normal: var(--ed-color-info-on-normal);
    --ed-color-on-light: var(--ed-color-info-on-light);
    --ed-color-on-surface: var(--ed-color-info-on-surface);
    --ed-color-border-dark: var(--ed-color-info-border-dark);
    --ed-color-border-normal: var(--ed-color-info-border-normal);
    --ed-color-border-light: var(--ed-color-info-border-light);
  }

  .ed-success,
  :host([variant='success']) {
    --ed-color-fill-dark: var(--ed-color-success-fill-dark);
    --ed-color-fill-normal: var(--ed-color-success-fill-normal);
    --ed-color-fill-light: var(--ed-color-success-fill-light);
    --ed-color-on-dark: var(--ed-color-success-on-dark);
    --ed-color-on-normal: var(--ed-color-success-on-normal);
    --ed-color-on-light: var(--ed-color-success-on-light);
    --ed-color-on-surface: var(--ed-color-success-on-surface);
    --ed-color-border-dark: var(--ed-color-success-border-dark);
    --ed-color-border-normal: var(--ed-color-success-border-normal);
    --ed-color-border-light: var(--ed-color-success-border-light);
  }

  .ed-warning,
  :host([variant='warning']) {
    --ed-color-fill-dark: var(--ed-color-warning-fill-dark);
    --ed-color-fill-normal: var(--ed-color-warning-fill-normal);
    --ed-color-fill-light: var(--ed-color-warning-fill-light);
    --ed-color-on-dark: var(--ed-color-warning-on-dark);
    --ed-color-on-normal: var(--ed-color-warning-on-normal);
    --ed-color-on-light: var(--ed-color-warning-on-light);
    --ed-color-on-surface: var(--ed-color-warning-on-surface);
    --ed-color-border-dark: var(--ed-color-warning-border-dark);
    --ed-color-border-normal: var(--ed-color-warning-border-normal);
    --ed-color-border-light: var(--ed-color-warning-border-light);
  }

  .ed-danger,
  :host([variant='danger']) {
    --ed-color-fill-dark: var(--ed-color-danger-fill-dark);
    --ed-color-fill-normal: var(--ed-color-danger-fill-normal);
    --ed-color-fill-light: var(--ed-color-danger-fill-light);
    --ed-color-on-dark: var(--ed-color-danger-on-dark);
    --ed-color-on-normal: var(--ed-color-danger-on-normal);
    --ed-color-on-light: var(--ed-color-danger-on-light);
    --ed-color-on-surface: var(--ed-color-danger-on-surface);
    --ed-color-border-dark: var(--ed-color-danger-border-dark);
    --ed-color-border-normal: var(--ed-color-danger-border-normal);
    --ed-color-border-light: var(--ed-color-danger-border-light);
  }

  .ed-new,
  :host([variant='new']) {
    --ed-color-fill-dark: var(--ed-color-new-fill-dark);
    --ed-color-fill-normal: var(--ed-color-new-fill-normal);
    --ed-color-fill-light: var(--ed-color-new-fill-light);
    --ed-color-on-dark: var(--ed-color-new-on-dark);
    --ed-color-on-normal: var(--ed-color-new-on-normal);
    --ed-color-on-light: var(--ed-color-new-on-light);
    --ed-color-on-surface: var(--ed-color-new-on-surface);
    --ed-color-border-dark: var(--ed-color-new-border-dark);
    --ed-color-border-normal: var(--ed-color-new-border-normal);
    --ed-color-border-light: var(--ed-color-new-border-light);
  }
}
