@import '../palettes/dracula.css';

@theme {
  /* Background colors */
  --background-color-subtle: var(--color-stone-50);
  --background-color-muted: var(--color-stone-100);
  --background-color-default: var(--color-white);
  --background-color-highlight: var(--color-stone-200);
  --background-color-emphasis: var(--color-stone-300);

  /* Text colors */
  --text-color-subtle: var(--color-stone-400);
  --text-color-muted: var(--color-stone-600);
  --text-color-default: var(--color-stone-800);
  --text-color-highlight: var(--color-stone-900);
  --text-color-emphasis: var(--color-stone-950);

  /* neutral */
  --color-light: var(--color-stone-100);
  --color-dark: var(--color-stone-950);
  --color-contrast: var(--color-white);

  /* primary */
  --color-primary-lighter: var(--color-violet-50);
  --color-primary-light: var(--color-violet-400);
  --color-primary: var(--color-violet-500);
  --color-primary-dark: var(--color-violet-600);
  --color-primary-darker: var(--color-violet-900);

  /* secondary */
  --color-secondary-lighter: var(--color-pink-50);
  --color-secondary-light: var(--color-pink-300);
  --color-secondary: var(--color-pink-500);
  --color-secondary-dark: var(--color-pink-700);
  --color-secondary-darker: var(--color-pink-900);

  /* danger */
  --color-danger-lighter: var(--color-red-50);
  --color-danger-light: var(--color-red-300);
  --color-danger: var(--color-red-500);
  --color-danger-dark: var(--color-red-600);
  --color-danger-darker: var(--color-red-900);

  /* warning */
  --color-warning-lighter: var(--color-orange-50);
  --color-warning-light: var(--color-orange-400);
  --color-warning: var(--color-orange-500);
  --color-warning-dark: var(--color-orange-700);
  --color-warning-darker: var(--color-orange-900);

  /* success */
  --color-success-lighter: var(--color-green-50);
  --color-success-light: var(--color-green-400);
  --color-success: var(--color-green-500);
  --color-success-dark: var(--color-green-700);
  --color-success-darker: var(--color-green-900);

  /* info */
  --color-info-lighter: var(--color-cyan-50);
  --color-info-light: var(--color-cyan-300);
  --color-info: var(--color-cyan-500);
  --color-info-dark: var(--color-cyan-700);
  --color-info-darker: var(--color-cyan-900);

  /* actions */
  --color-active: var(--color-stone-500);
  --color-hover: var(--color-stone-100);
  --color-selected: var(--color-stone-100);
  --color-disabled-color: var(--color-stone-400);
  --color-disabled: var(--color-stone-200);
  --color-focus: var(--color-stone-300);

  /* borders */
  --border-color-subtle: --alpha(var(--color-stone-300) / 60%);
  --border-color-default: var(--color-stone-300);
  --border-color-emphasis: var(--color-stone-600);
}

@layer theme {
  :root,
  :host {
    @variant dark {
      /* Background colors */
      --background-color-subtle: var(--color-stone-900);
      --background-color-muted: var(--color-stone-800);
      --background-color-default: var(--color-stone-950);
      --background-color-highlight: var(--color-stone-700);
      --background-color-emphasis: var(--color-stone-600);

      /* Text colors */
      --text-color-subtle: var(--color-stone-500);
      --text-color-muted: var(--color-stone-400);
      --text-color-default: var(--color-stone-100);
      --text-color-highlight: var(--color-stone-50);
      --text-color-emphasis: var(--color-white);

      /* Neutral */
      --color-light: var(--color-stone-800);
      --color-dark: var(--color-stone-700);
      --color-contrast: var(--color-stone-950);

      /* Primary */
      --color-primary-lighter: var(--color-violet-900);
      --color-primary-light: var(--color-violet-700);
      --color-primary: var(--color-violet-400);
      --color-primary-dark: var(--color-violet-300);
      --color-primary-darker: var(--color-violet-100);

      /* Secondary */
      --color-secondary-lighter: var(--color-pink-900);
      --color-secondary-light: var(--color-pink-700);
      --color-secondary: var(--color-pink-400);
      --color-secondary-dark: var(--color-pink-300);
      --color-secondary-darker: var(--color-pink-100);

      /* Danger */
      --color-danger-lighter: var(--color-red-900);
      --color-danger-light: var(--color-red-600);
      --color-danger: var(--color-red-400);
      --color-danger-dark: var(--color-red-300);
      --color-danger-darker: var(--color-red-200);

      /* Warning */
      --color-warning-lighter: var(--color-orange-900);
      --color-warning-light: var(--color-orange-800);
      --color-warning: var(--color-orange-400);
      --color-warning-dark: var(--color-orange-300);
      --color-warning-darker: var(--color-orange-200);

      /* Success */
      --color-success-lighter: var(--color-green-900);
      --color-success-light: var(--color-green-700);
      --color-success: var(--color-green-400);
      --color-success-dark: var(--color-green-300);
      --color-success-darker: var(--color-green-200);

      /* Info */
      --color-info-lighter: var(--color-cyan-900);
      --color-info-light: var(--color-cyan-700);
      --color-info: var(--color-cyan-400);
      --color-info-dark: var(--color-cyan-300);
      --color-info-darker: var(--color-cyan-200);

      /* Actions */
      --color-active: var(--color-stone-500);
      --color-hover: var(--color-stone-700);
      --color-selected: var(--color-stone-900);
      --color-disabled-color: var(--color-stone-500);
      --color-disabled: var(--color-stone-700);
      --color-focus: var(--color-stone-700);

      /* Borders */
      --border-color-subtle: var(--color-stone-800);
      --border-color-default: var(--color-stone-700);
      --border-color-emphasis: var(--color-stone-600);
    }
  }
}
