/* ============================================
   ProCode EduPulse — Design Tokens
   ============================================ */

:root {
  /* ── Enhanced Brand Colors ── */
  --brand-primary: #3B82F6;
  --brand-primary-light: #60A5FA;
  --brand-primary-dark: #2563EB;
  --brand-secondary: #8B5CF6;
  --brand-accent: #06B6D4;
  --brand-accent-light: #22D3EE;
  --brand-gradient: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%);
  --brand-gradient-hover: linear-gradient(135deg, #2563EB 0%, #7C3AED 100%);
  --brand-gradient-soft: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%);

  /* ── Enhanced Semantic Colors ── */
  --color-success: #10B981;
  --color-success-light: rgba(16, 185, 129, 0.15);
  --color-success-dark: #059669;
  --color-warning: #F59E0B;
  --color-warning-light: rgba(245, 158, 11, 0.15);
  --color-warning-dark: #D97706;
  --color-error: #EF4444;
  --color-error-light: rgba(239, 68, 68, 0.15);
  --color-error-dark: #DC2626;
  --color-info: #06B6D4;
  --color-info-light: rgba(6, 182, 212, 0.15);
  --color-info-dark: #0891B2;

  /* ── Typography ── */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;

  --text-xs: 0.75rem;     /* 12px */
  --text-sm: 0.875rem;    /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg: 1.125rem;    /* 18px */
  --text-xl: 1.25rem;     /* 20px */
  --text-2xl: 1.5rem;     /* 24px */
  --text-3xl: 1.875rem;   /* 30px */
  --text-4xl: 2.25rem;    /* 36px */
  --text-5xl: 3rem;       /* 48px */

  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;

  /* ── Spacing Scale (4px base) ── */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */

  /* ── Border Radius ── */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  --shadow-md: 0 3px 6px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.15), 0 3px 6px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 15px 35px rgba(0, 0, 0, 0.2), 0 5px 15px rgba(0, 0, 0, 0.1);
  --shadow-glow: 0 0 30px rgba(0, 120, 212, 0.25);
  --shadow-glow-accent: 0 0 30px rgba(0, 188, 242, 0.25);

  /* ── Transitions ── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-Index Scale ── */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal-backdrop: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;

  /* ── Layout ── */
  --container-max: 1280px;
  --container-sm: 768px;
  --sidebar-width: 280px;
  --navbar-height: 64px;
}

/* ============================================
   Dark Theme (Default) - Enhanced
   ============================================ */
:root,
[data-theme="dark"] {
  /* ── Enhanced Background Palette ── */
  --bg-primary: #0A0B0F;
  --bg-secondary: #14151A;
  --bg-tertiary: #1A1D23;
  --bg-elevated: #1F2229;
  --bg-card: rgba(31, 34, 41, 0.8);
  --bg-card-hover: rgba(41, 45, 54, 0.9);
  --bg-glass: rgba(10, 11, 15, 0.7);
  --bg-input: rgba(41, 45, 54, 0.6);
  --bg-surface: #1E2128;
  --bg-overlay: rgba(0, 0, 0, 0.8);

  /* ── Enhanced Border System ── */
  --border-primary: rgba(59, 130, 246, 0.3);
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border-hover: rgba(59, 130, 246, 0.5);
  --border-focus: rgba(59, 130, 246, 0.6);
  --border-accent: rgba(139, 92, 246, 0.4);

  /* ── Enhanced Typography ── */
  --text-primary: #F8FAFC;
  --text-secondary: #CBD5E1;
  --text-muted: #94A3B8;
  --text-inverse: #0A0B0F;
  --text-accent: #A5B4FC;
  --text-success: #86EFAC;
  --text-warning: #FDE047;
  --text-error: #FCA5A5;

  /* ── Enhanced Shadows for Dark Mode ── */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 3px 6px rgba(0, 0, 0, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.4), 0 3px 6px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 15px 35px rgba(0, 0, 0, 0.5), 0 5px 15px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 30px rgba(59, 130, 246, 0.3);
  --shadow-glow-accent: 0 0 30px rgba(139, 92, 246, 0.3);

  /* ── Enhanced Scrollbar ── */
  --scrollbar-track: #1A1D23;
  --scrollbar-thumb: #475569;
  --scrollbar-thumb-hover: #64748B;

  /* ── Dark Mode Specific Colors ── */
  --accent-primary: #3B82F6;
  --accent-secondary: #8B5CF6;
  --accent-success: #10B981;
  --accent-warning: #F59E0B;
  --accent-error: #EF4444;

  /* ── Surface Gradients ── */
  --surface-gradient: linear-gradient(135deg, #1A1D23 0%, #14151A 100%);
  --card-gradient: linear-gradient(135deg, rgba(31, 34, 41, 0.9) 0%, rgba(26, 29, 35, 0.9) 100%);
  --accent-gradient: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%);
}

/* ============================================
   Light Theme
   ============================================ */
[data-theme="light"] {
  --bg-primary: #F8F9FC;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #F0F1F5;
  --bg-elevated: #FFFFFF;
  --bg-card: rgba(255, 255, 255, 0.9);
  --bg-card-hover: rgba(255, 255, 255, 1);
  --bg-glass: rgba(248, 249, 252, 0.85);
  --bg-input: rgba(240, 241, 245, 0.8);

  --border-primary: rgba(0, 120, 212, 0.25);
  --border-subtle: rgba(0, 0, 0, 0.1);
  --border-hover: rgba(0, 120, 212, 0.5);

  --text-primary: #1A1A2E;
  --text-secondary: #5A5A7A;
  --text-muted: #9A9AB0;
  --text-inverse: #F0F0F8;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
  --shadow-xl: 0 16px 50px rgba(0, 0, 0, 0.15);

  --scrollbar-track: #F0F1F5;
  --scrollbar-thumb: #C8C8D8;
  --scrollbar-thumb-hover: #A8A8C0;
}
