/* ============================================
   Aurexa Academy — Premium Design System v2.0
   Dark/Light Mode + Glassmorphism + Modern Tokens
   ============================================ */

/* ── Light Theme (Default) ── */
:root {
  /* Primary Palette */
  --primary: #0F172A;
  --primary-light: #1E293B;
  --primary-dark: #020617;
  --primary-rgb: 15, 23, 42;

  /* Accent — Warm Gold */
  --accent: #F59E0B;
  --accent-light: #FCD34D;
  --accent-dark: #D97706;
  --accent-rgb: 245, 158, 11;

  /* Brand Blues */
  --brand: #3B82F6;
  --brand-light: #60A5FA;
  --brand-dark: #2563EB;
  --brand-rgb: 59, 130, 246;

  /* Semantic */
  --success: #10B981;
  --success-light: #A7F3D0;
  --success-rgb: 16, 185, 129;
  --error: #EF4444;
  --error-light: #FCA5A5;
  --error-rgb: 239, 68, 68;
  --warning: #F59E0B;
  --warning-rgb: 245, 158, 11;
  --info: #3B82F6;
  --info-rgb: 59, 130, 246;

  /* Surfaces */
  --bg-primary: #FFFFFF;
  --bg-secondary: #F8FAFC;
  --bg-tertiary: #F1F5F9;
  --bg-elevated: #FFFFFF;
  --bg-dark: #0F172A;
  --bg-darker: #020617;
  --bg-white: #FFFFFF;
  --bg-light: #F8FAFC;
  --bg-card: #FFFFFF;
  --bg-card-hover: #F8FAFC;

  /* Glass */
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-border: rgba(255, 255, 255, 0.3);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
  --glass-blur: blur(20px);

  /* Text */
  --text-primary: #0F172A;
  --text-secondary: #475569;
  --text-muted: #94A3B8;
  --text-light: #FFFFFF;
  --text-on-accent: #0F172A;
  --text-accent: #D97706;
  --text-brand: #2563EB;

  /* Borders */
  --border-light: #E2E8F0;
  --border-medium: #CBD5E1;
  --border-dark: #334155;
  --border-subtle: rgba(0, 0, 0, 0.06);

  /* Gradients */
  --gradient-hero: linear-gradient(135deg, #0F172A 0%, #1E293B 40%, #0F172A 100%);
  --gradient-accent: linear-gradient(135deg, #F59E0B 0%, #FCD34D 100%);
  --gradient-brand: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%);
  --gradient-dark: linear-gradient(180deg, #0F172A 0%, #1E293B 100%);
  --gradient-card: linear-gradient(145deg, rgba(255,255,255,0.9) 0%, rgba(248,250,252,0.9) 100%);
  --gradient-cta: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
  --gradient-glow: linear-gradient(135deg, rgba(59,130,246,0.15) 0%, rgba(139,92,246,0.15) 100%);
  --gradient-mesh: radial-gradient(at 40% 20%, rgba(59,130,246,0.08) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(139,92,246,0.06) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(245,158,11,0.05) 0px, transparent 50%);

  /* Premium Shadows */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.08), 0 4px 8px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.06);
  --shadow-2xl: 0 32px 80px rgba(0, 0, 0, 0.14);
  --shadow-accent: 0 4px 24px rgba(245, 158, 11, 0.25);
  --shadow-brand: 0 4px 24px rgba(59, 130, 246, 0.25);
  --shadow-primary: 0 4px 24px rgba(15, 23, 42, 0.2);
  --shadow-card: 0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04);
  --shadow-card-hover: 0 8px 30px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
  --shadow-float: 0 20px 50px rgba(0,0,0,0.12);
  --shadow-glow-accent: 0 0 40px rgba(245, 158, 11, 0.15);
  --shadow-glow-brand: 0 0 40px rgba(59, 130, 246, 0.15);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.04);

  /* Typography */
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --fs-2xs: 0.625rem;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 3rem;
  --fs-5xl: 3.75rem;
  --fs-hero: clamp(2.5rem, 5vw, 4rem);

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;

  --ls-tight: -0.025em;
  --ls-normal: 0;
  --ls-wide: 0.025em;
  --ls-wider: 0.05em;
  --ls-widest: 0.1em;

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-section: clamp(4rem, 8vw, 7rem);

  /* Radius */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --transition-bounce: 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* Layout */
  --container-max: 1320px;
  --container-narrow: 960px;
  --navbar-height: 72px;
  --sidebar-width: 280px;

  /* Z-Index Scale */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-progress: 450;
  --z-navbar: 500;
  --z-modal-overlay: 900;
  --z-modal: 1000;
  --z-toast: 1100;
  --z-loader: 1200;
}

/* ── Dark Theme ── */
[data-theme="dark"] {
  --primary: #E2E8F0;
  --primary-light: #CBD5E1;
  --primary-dark: #F8FAFC;
  --primary-rgb: 226, 232, 240;

  --bg-primary: #0B1120;
  --bg-secondary: #111827;
  --bg-tertiary: #1E293B;
  --bg-elevated: #1E293B;
  --bg-dark: #0B1120;
  --bg-darker: #060A14;
  --bg-white: #111827;
  --bg-light: #0F172A;
  --bg-card: #1E293B;
  --bg-card-hover: #253449;

  --glass-bg: rgba(17, 24, 39, 0.8);
  --glass-border: rgba(255, 255, 255, 0.08);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);

  --text-primary: #F1F5F9;
  --text-secondary: #94A3B8;
  --text-muted: #64748B;
  --text-on-accent: #0F172A;
  --text-accent: #FCD34D;
  --text-brand: #60A5FA;

  --border-light: #1E293B;
  --border-medium: #334155;
  --border-dark: #475569;
  --border-subtle: rgba(255, 255, 255, 0.06);

  --gradient-hero: linear-gradient(135deg, #0B1120 0%, #111827 40%, #0B1120 100%);
  --gradient-card: linear-gradient(145deg, rgba(30,41,59,0.9) 0%, rgba(17,24,39,0.9) 100%);
  --gradient-glow: linear-gradient(135deg, rgba(59,130,246,0.1) 0%, rgba(139,92,246,0.1) 100%);
  --gradient-mesh: radial-gradient(at 40% 20%, rgba(59,130,246,0.06) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(139,92,246,0.04) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(245,158,11,0.04) 0px, transparent 50%);

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.4);
  --shadow-card: 0 1px 3px rgba(0,0,0,0.2), 0 4px 12px rgba(0,0,0,0.15);
  --shadow-card-hover: 0 8px 30px rgba(0,0,0,0.25);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}
