/* =============================================================================
   DARK MODE TOKEN SWAP
   =============================================================================
   When [data-theme="dark"] is set, swap base tokens to their dark equivalents.
   This allows components to use var(--rs-text-primary) and automatically
   get the correct value for the current theme.

   Requires: colors.semantic.css (must be loaded first)
   ============================================================================= */

[data-theme="dark"] {
  /* --- Text --- */
  --rs-text-primary: var(--rs-text-primary-dark);
  --rs-text-primary-on-brand: var(--rs-text-primary-on-brand-dark);
  --rs-text-secondary: var(--rs-text-secondary-dark);
  --rs-text-secondary-hover: var(--rs-text-secondary-hover-dark);
  --rs-text-secondary-on-brand: var(--rs-text-secondary-on-brand-dark);
  --rs-text-tertiary: var(--rs-text-tertiary-dark);
  --rs-text-tertiary-hover: var(--rs-text-tertiary-hover-dark);
  --rs-text-tertiary-on-brand: var(--rs-text-tertiary-on-brand-dark);
  --rs-text-quaternary: var(--rs-text-quaternary-dark);
  --rs-text-quaternary-on-brand: var(--rs-text-quaternary-on-brand-dark);
  --rs-text-white: var(--rs-text-white-dark);
  --rs-text-disabled: var(--rs-text-disabled-dark);
  --rs-text-placeholder: var(--rs-text-placeholder-dark);
  --rs-text-placeholder-subtle: var(--rs-text-placeholder-subtle-dark);
  --rs-text-brand-primary: var(--rs-text-brand-primary-dark);
  --rs-text-brand-secondary: var(--rs-text-brand-secondary-dark);
  --rs-text-brand-secondary-hover: var(--rs-text-brand-secondary-hover-dark);
  --rs-text-brand-tertiary: var(--rs-text-brand-tertiary-dark);
  --rs-text-brand-tertiary-alt: var(--rs-text-brand-tertiary-alt-dark);
  --rs-text-error-primary: var(--rs-text-error-primary-dark);
  --rs-text-warning-primary: var(--rs-text-warning-primary-dark);
  --rs-text-success-primary: var(--rs-text-success-primary-dark);

  /* --- Foreground/Icons --- */
  --rs-fg-primary: var(--rs-fg-primary-dark);
  --rs-fg-secondary: var(--rs-fg-secondary-dark);
  --rs-fg-secondary-hover: var(--rs-fg-secondary-hover-dark);
  --rs-fg-tertiary: var(--rs-fg-tertiary-dark);
  --rs-fg-tertiary-hover: var(--rs-fg-tertiary-hover-dark);
  --rs-fg-quaternary: var(--rs-fg-quaternary-dark);
  --rs-fg-quaternary-hover: var(--rs-fg-quaternary-hover-dark);
  --rs-fg-quinary: var(--rs-fg-quinary-dark);
  --rs-fg-quinary-hover: var(--rs-fg-quinary-hover-dark);
  --rs-fg-senary: var(--rs-fg-senary-dark);
  --rs-fg-white: var(--rs-fg-white-dark);
  --rs-fg-disabled: var(--rs-fg-disabled-dark);
  --rs-fg-disabled-subtle: var(--rs-fg-disabled-subtle-dark);
  --rs-fg-brand-primary: var(--rs-fg-brand-primary-dark);
  --rs-fg-brand-primary-alt: var(--rs-fg-brand-primary-alt-dark);
  --rs-fg-brand-secondary: var(--rs-fg-brand-secondary-dark);
  --rs-fg-error-primary: var(--rs-fg-error-primary-dark);
  --rs-fg-error-secondary: var(--rs-fg-error-secondary-dark);
  --rs-fg-warning-primary: var(--rs-fg-warning-primary-dark);
  --rs-fg-warning-secondary: var(--rs-fg-warning-secondary-dark);
  --rs-fg-success-primary: var(--rs-fg-success-primary-dark);
  --rs-fg-success-secondary: var(--rs-fg-success-secondary-dark);

  /* --- Backgrounds --- */
  --rs-bg: var(--rs-bg-primary-dark);
  --rs-bg-primary: var(--rs-bg-primary-dark);
  --rs-bg-primary-alt: var(--rs-bg-primary-alt-dark);
  --rs-bg-primary-hover: var(--rs-bg-primary-hover-dark);
  --rs-bg-primary-solid: var(--rs-bg-primary-solid-dark);
  --rs-bg-secondary: var(--rs-bg-secondary-dark);
  --rs-bg-secondary-alt: var(--rs-bg-secondary-alt-dark);
  --rs-bg-secondary-hover: var(--rs-bg-secondary-hover-dark);
  --rs-bg-secondary-subtle: var(--rs-bg-secondary-subtle-dark);
  --rs-bg-secondary-solid: var(--rs-bg-secondary-solid-dark);
  --rs-bg-tertiary: var(--rs-bg-tertiary-dark);
  --rs-bg-quaternary: var(--rs-bg-quaternary-dark);
  --rs-bg-active: var(--rs-bg-active-dark);
  --rs-bg-disabled: var(--rs-bg-disabled-dark);
  --rs-bg-disabled-subtle: var(--rs-bg-disabled-subtle-dark);
  --rs-bg-overlay: var(--rs-bg-overlay-dark);
  --rs-bg-brand-primary: var(--rs-bg-brand-primary-dark);
  --rs-bg-brand-primary-alt: var(--rs-bg-brand-primary-alt-dark);
  --rs-bg-brand-secondary: var(--rs-bg-brand-secondary-dark);
  --rs-bg-brand-solid: var(--rs-bg-brand-solid-dark);
  --rs-bg-brand-solid-hover: var(--rs-bg-brand-solid-hover-dark);
  --rs-bg-brand-section: var(--rs-bg-brand-section-dark);
  --rs-bg-brand-section-subtle: var(--rs-bg-brand-section-subtle-dark);
  --rs-bg-error-primary: var(--rs-bg-error-primary-dark);
  --rs-bg-error-secondary: var(--rs-bg-error-secondary-dark);
  --rs-bg-error-solid: var(--rs-bg-error-solid-dark);
  --rs-bg-error-solid-hover: var(--rs-bg-error-solid-hover-dark);
  --rs-bg-error-solid-active: var(--rs-bg-error-solid-active-dark);
  --rs-bg-warning-primary: var(--rs-bg-warning-primary-dark);
  --rs-bg-warning-secondary: var(--rs-bg-warning-secondary-dark);
  --rs-bg-warning-solid: var(--rs-bg-warning-solid-dark);
  --rs-bg-success-primary: var(--rs-bg-success-primary-dark);
  --rs-bg-success-secondary: var(--rs-bg-success-secondary-dark);
  --rs-bg-success-solid: var(--rs-bg-success-solid-dark);

  /* --- Borders --- */
  --rs-border-primary: var(--rs-border-primary-dark);
  --rs-border-secondary: var(--rs-border-secondary-dark);
  --rs-border-secondary-alt: var(--rs-border-secondary-alt-dark);
  --rs-border-tertiary: var(--rs-border-tertiary-dark);
  --rs-border-disabled: var(--rs-border-disabled-dark);
  --rs-border-disabled-subtle: var(--rs-border-disabled-subtle-dark);
  --rs-border-brand: var(--rs-border-brand-dark);
  --rs-border-brand-solid: var(--rs-border-brand-solid-dark);
  --rs-border-brand-solid-alt: var(--rs-border-brand-solid-alt-dark);
  --rs-border-error: var(--rs-border-error-dark);
  --rs-border-error-solid: var(--rs-border-error-solid-dark);
  --rs-border-error-subtle: var(--rs-border-error-subtle-dark);

  /* --- Form Elements --- */
  --rs-form-bg: var(--rs-form-bg-dark);
  --rs-form-bg-disabled: var(--rs-form-bg-disabled-dark);
  --rs-form-border: var(--rs-form-border-dark);
  --rs-form-border-hover: var(--rs-form-border-hover-dark);
  --rs-form-border-focus: var(--rs-form-border-focus-dark);
  --rs-form-text: var(--rs-form-text-dark);
  --rs-form-text-disabled: var(--rs-form-text-disabled-dark);
  --rs-form-placeholder: var(--rs-form-placeholder-dark);
  --rs-form-shadow: var(--rs-form-shadow-dark);
  --rs-form-focus-ring: var(--rs-form-focus-ring-dark);

  /* --- Utility Gray --- */
  --rs-utility-gray-50: var(--rs-utility-gray-50-dark);
  --rs-utility-gray-100: var(--rs-utility-gray-100-dark);
  --rs-utility-gray-200: var(--rs-utility-gray-200-dark);
  --rs-utility-gray-300: var(--rs-utility-gray-300-dark);
  --rs-utility-gray-400: var(--rs-utility-gray-400-dark);
  --rs-utility-gray-500: var(--rs-utility-gray-500-dark);
  --rs-utility-gray-600: var(--rs-utility-gray-600-dark);
  --rs-utility-gray-700: var(--rs-utility-gray-700-dark);
  --rs-utility-gray-800: var(--rs-utility-gray-800-dark);
  --rs-utility-gray-900: var(--rs-utility-gray-900-dark);
  --rs-utility-gray-950: var(--rs-utility-gray-950-dark);

  /* --- Utility Brand --- */
  --rs-utility-brand-50: var(--rs-utility-brand-50-dark);
  --rs-utility-brand-100: var(--rs-utility-brand-100-dark);
  --rs-utility-brand-200: var(--rs-utility-brand-200-dark);
  --rs-utility-brand-300: var(--rs-utility-brand-300-dark);
  --rs-utility-brand-400: var(--rs-utility-brand-400-dark);
  --rs-utility-brand-500: var(--rs-utility-brand-500-dark);
  --rs-utility-brand-600: var(--rs-utility-brand-600-dark);
  --rs-utility-brand-700: var(--rs-utility-brand-700-dark);
  --rs-utility-brand-800: var(--rs-utility-brand-800-dark);
  --rs-utility-brand-900: var(--rs-utility-brand-900-dark);
  --rs-utility-brand-950: var(--rs-utility-brand-950-dark);

  /* --- Utility Error --- */
  --rs-utility-error-50: var(--rs-utility-error-50-dark);
  --rs-utility-error-100: var(--rs-utility-error-100-dark);
  --rs-utility-error-200: var(--rs-utility-error-200-dark);
  --rs-utility-error-300: var(--rs-utility-error-300-dark);
  --rs-utility-error-400: var(--rs-utility-error-400-dark);
  --rs-utility-error-500: var(--rs-utility-error-500-dark);
  --rs-utility-error-600: var(--rs-utility-error-600-dark);
  --rs-utility-error-700: var(--rs-utility-error-700-dark);
  --rs-utility-error-800: var(--rs-utility-error-800-dark);
  --rs-utility-error-900: var(--rs-utility-error-900-dark);
  --rs-utility-error-950: var(--rs-utility-error-950-dark);

  /* --- Utility Warning --- */
  --rs-utility-warning-50: var(--rs-utility-warning-50-dark);
  --rs-utility-warning-100: var(--rs-utility-warning-100-dark);
  --rs-utility-warning-200: var(--rs-utility-warning-200-dark);
  --rs-utility-warning-300: var(--rs-utility-warning-300-dark);
  --rs-utility-warning-400: var(--rs-utility-warning-400-dark);
  --rs-utility-warning-500: var(--rs-utility-warning-500-dark);
  --rs-utility-warning-600: var(--rs-utility-warning-600-dark);
  --rs-utility-warning-700: var(--rs-utility-warning-700-dark);
  --rs-utility-warning-800: var(--rs-utility-warning-800-dark);
  --rs-utility-warning-900: var(--rs-utility-warning-900-dark);
  --rs-utility-warning-950: var(--rs-utility-warning-950-dark);

  /* --- Utility Success --- */
  --rs-utility-success-50: var(--rs-utility-success-50-dark);
  --rs-utility-success-100: var(--rs-utility-success-100-dark);
  --rs-utility-success-200: var(--rs-utility-success-200-dark);
  --rs-utility-success-300: var(--rs-utility-success-300-dark);
  --rs-utility-success-400: var(--rs-utility-success-400-dark);
  --rs-utility-success-500: var(--rs-utility-success-500-dark);
  --rs-utility-success-600: var(--rs-utility-success-600-dark);
  --rs-utility-success-700: var(--rs-utility-success-700-dark);
  --rs-utility-success-800: var(--rs-utility-success-800-dark);
  --rs-utility-success-900: var(--rs-utility-success-900-dark);
  --rs-utility-success-950: var(--rs-utility-success-950-dark);

  /* --- Utility Blue Light --- */
  --rs-utility-blue-light-500: var(--rs-utility-blue-light-500-dark);
  --rs-utility-blue-light-600: var(--rs-utility-blue-light-600-dark);
  --rs-utility-blue-light-700: var(--rs-utility-blue-light-700-dark);

  /* --- Utility Pink --- */
  --rs-utility-pink-50: var(--rs-utility-pink-50-dark);
  --rs-utility-pink-100: var(--rs-utility-pink-100-dark);
  --rs-utility-pink-200: var(--rs-utility-pink-200-dark);
  --rs-utility-pink-300: var(--rs-utility-pink-300-dark);
  --rs-utility-pink-400: var(--rs-utility-pink-400-dark);
  --rs-utility-pink-500: var(--rs-utility-pink-500-dark);
  --rs-utility-pink-600: var(--rs-utility-pink-600-dark);
  --rs-utility-pink-700: var(--rs-utility-pink-700-dark);
  --rs-utility-pink-800: var(--rs-utility-pink-800-dark);
  --rs-utility-pink-900: var(--rs-utility-pink-900-dark);
  --rs-utility-pink-950: var(--rs-utility-pink-950-dark);

  /* --- Utility Orange --- */
  --rs-utility-orange-50: var(--rs-utility-orange-50-dark);
  --rs-utility-orange-100: var(--rs-utility-orange-100-dark);
  --rs-utility-orange-200: var(--rs-utility-orange-200-dark);
  --rs-utility-orange-300: var(--rs-utility-orange-300-dark);
  --rs-utility-orange-400: var(--rs-utility-orange-400-dark);
  --rs-utility-orange-500: var(--rs-utility-orange-500-dark);
  --rs-utility-orange-600: var(--rs-utility-orange-600-dark);
  --rs-utility-orange-700: var(--rs-utility-orange-700-dark);
  --rs-utility-orange-800: var(--rs-utility-orange-800-dark);
  --rs-utility-orange-900: var(--rs-utility-orange-900-dark);
  --rs-utility-orange-950: var(--rs-utility-orange-950-dark);

  /* --- Alpha Colors --- */
  --rs-alpha-white-10: var(--rs-alpha-white-10-dark);
  --rs-alpha-white-20: var(--rs-alpha-white-20-dark);
  --rs-alpha-white-30: var(--rs-alpha-white-30-dark);
  --rs-alpha-white-40: var(--rs-alpha-white-40-dark);
  --rs-alpha-white-50: var(--rs-alpha-white-50-dark);
  --rs-alpha-white-60: var(--rs-alpha-white-60-dark);
  --rs-alpha-white-70: var(--rs-alpha-white-70-dark);
  --rs-alpha-white-80: var(--rs-alpha-white-80-dark);
  --rs-alpha-white-90: var(--rs-alpha-white-90-dark);
  --rs-alpha-white-100: var(--rs-alpha-white-100-dark);
  --rs-alpha-black-10: var(--rs-alpha-black-10-dark);
  --rs-alpha-black-20: var(--rs-alpha-black-20-dark);
  --rs-alpha-black-30: var(--rs-alpha-black-30-dark);
  --rs-alpha-black-40: var(--rs-alpha-black-40-dark);
  --rs-alpha-black-50: var(--rs-alpha-black-50-dark);
  --rs-alpha-black-60: var(--rs-alpha-black-60-dark);
  --rs-alpha-black-70: var(--rs-alpha-black-70-dark);
  --rs-alpha-black-80: var(--rs-alpha-black-80-dark);
  --rs-alpha-black-90: var(--rs-alpha-black-90-dark);
  --rs-alpha-black-100: var(--rs-alpha-black-100-dark);
}
