:root {
  /* Color System */
  --color-primary-100: #E1F0FF;
  --color-primary-200: #B8DBFF;
  --color-primary-300: #8FC1FF;
  --color-primary-400: #66A8FF;
  --color-primary-500: #0066CC;
  --color-primary-600: #0052A3;
  --color-primary-700: #003D7A;
  --color-primary-800: #002952;
  --color-primary-900: #001429;
  
  --color-secondary-100: #F5F5F7;
  --color-secondary-200: #E5E5EA;
  --color-secondary-300: #D1D1D6;
  --color-secondary-400: #C7C7CC;
  --color-secondary-500: #8E8E93;
  --color-secondary-600: #636366;
  --color-secondary-700: #48484A;
  --color-secondary-800: #3A3A3C;
  --color-secondary-900: #1C1C1E;
  
  --color-accent-100: #FFF9E0;
  --color-accent-200: #FFF3C2;
  --color-accent-300: #FFEC99;
  --color-accent-400: #FFE57F;
  --color-accent-500: #FFD700;
  --color-accent-600: #E6C200;
  --color-accent-700: #BFA000;
  --color-accent-800: #806B00;
  --color-accent-900: #403600;
  
  --color-success-100: #E3FFF0;
  --color-success-200: #BFFFDA;
  --color-success-300: #9AFFC5;
  --color-success-400: #75FFB0;
  --color-success-500: #34C759;
  --color-success-600: #2BA149;
  --color-success-700: #227A39;
  --color-success-800: #195229;
  --color-success-900: #0D2915;
  
  --color-warning-100: #FFF1E0;
  --color-warning-200: #FFE2C2;
  --color-warning-300: #FFD399;
  --color-warning-400: #FFC57F;
  --color-warning-500: #FF9500;
  --color-warning-600: #CC7700;
  --color-warning-700: #9A5A00;
  --color-warning-800: #673C00;
  --color-warning-900: #331E00;
  
  --color-error-100: #FFE5E5;
  --color-error-200: #FFCCCC;
  --color-error-300: #FFB2B2;
  --color-error-400: #FF9999;
  --color-error-500: #FF3B30;
  --color-error-600: #CC2E26;
  --color-error-700: #99231D;
  --color-error-800: #661713;
  --color-error-900: #330C0A;

  /* Neutral Colors */
  --color-white: #FFFFFF;
  --color-black: #000000;
  
  /* Spacing System (8px) */
  --space-1: 0.5rem;  /* 8px */
  --space-2: 1rem;    /* 16px */
  --space-3: 1.5rem;  /* 24px */
  --space-4: 2rem;    /* 32px */
  --space-5: 2.5rem;  /* 40px */
  --space-6: 3rem;    /* 48px */
  --space-7: 3.5rem;  /* 56px */
  --space-8: 4rem;    /* 64px */
  
  /* Typography */
  --font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  --font-family-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  
  --font-size-xs: 0.75rem;   /* 12px */
  --font-size-sm: 0.875rem;  /* 14px */
  --font-size-md: 1rem;      /* 16px */
  --font-size-lg: 1.125rem;  /* 18px */
  --font-size-xl: 1.25rem;   /* 20px */
  --font-size-2xl: 1.5rem;   /* 24px */
  --font-size-3xl: 1.875rem; /* 30px */
  --font-size-4xl: 2.25rem;  /* 36px */
  --font-size-5xl: 3rem;     /* 48px */
  
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  
  /* Layout */
  --container-width: 1200px;
  --header-height: 80px;
  
  /* Effects */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.05), 0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.05), 0 10px 10px rgba(0, 0, 0, 0.02);
  
  --border-radius-sm: 0.25rem;  /* 4px */
  --border-radius-md: 0.5rem;   /* 8px */
  --border-radius-lg: 0.75rem;  /* 12px */
  --border-radius-xl: 1rem;     /* 16px */
  --border-radius-full: 9999px;
  
  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow: 500ms ease;
  
  /* Z-index layers */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
}

/* Light Theme (default) */
:root {
  --bg-primary: var(--color-white);
  --bg-secondary: var(--color-secondary-100);
  --bg-tertiary: var(--color-secondary-200);
  --text-primary: var(--color-secondary-900);
  --text-secondary: var(--color-secondary-700);
  --text-tertiary: var(--color-secondary-500);
  --border-color: var(--color-secondary-200);
}

/* Dark Theme */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-primary: var(--color-secondary-900);
    --bg-secondary: var(--color-secondary-800);
    --bg-tertiary: var(--color-secondary-700);
    --text-primary: var(--color-secondary-100);
    --text-secondary: var(--color-secondary-300);
    --text-tertiary: var(--color-secondary-500);
    --border-color: var(--color-secondary-700);
  }
}

/* Manual Dark Theme Class */
:root.dark-theme {
  --bg-primary: var(--color-secondary-900);
  --bg-secondary: var(--color-secondary-800);
  --bg-tertiary: var(--color-secondary-700);
  --text-primary: var(--color-secondary-100);
  --text-secondary: var(--color-secondary-300);
  --text-tertiary: var(--color-secondary-500);
  --border-color: var(--color-secondary-700);
}