/* ============================================
   ConvertZ Design Tokens
   Premium Tech Minimalism + Neon Aesthetics
   ============================================ */

:root {
  /* === Typography === */
  --font-display: 'Unbounded', sans-serif;
  --font-body: 'Onest', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  
  /* === Font Sizes === */
  --text-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.75rem);
  --text-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.875rem);
  --text-base: clamp(0.9rem, 0.85rem + 0.25vw, 1rem);
  --text-lg: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
  --text-xl: clamp(1.1rem, 1rem + 0.5vw, 1.25rem);
  --text-2xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
  --text-3xl: clamp(1.5rem, 1.25rem + 1.25vw, 1.875rem);
  --text-4xl: clamp(1.75rem, 1.4rem + 1.75vw, 2.25rem);
  --text-5xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  --text-6xl: clamp(2.5rem, 1.75rem + 3.75vw, 3.75rem);
  --text-7xl: clamp(3rem, 2rem + 5vw, 4.5rem);
  
  /* === Line Heights === */
  --leading-none: 1;
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  
  /* === Spacing === */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  
  /* === Border Radius === */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.25rem;
  --radius-3xl: 1.5rem;
  --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-slower: 600ms cubic-bezier(0.4, 0, 0.2, 1);
  
  /* === Z-Index === */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 400;
  --z-modal: 500;
  --z-tooltip: 600;
  
  /* === Container === */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1200px;
  --container-2xl: 1400px;
}

@media (max-width: 768px) {
  :root {
    --transition-slower: 420ms cubic-bezier(0.4, 0, 0.2, 1);
  }
}

/* === DARK THEME (Default) === */
[data-theme="dark"] {
  /* Background Colors */
  --bg-primary: #0a0e1a;
  --bg-secondary: #0f1428;
  --bg-tertiary: #141a30;
  --bg-elevated: #1a2240;
  --bg-glass: rgba(20, 26, 48, 0.7);
  --bg-glass-strong: rgba(26, 34, 64, 0.85);
  
  /* Text Colors */
  --text-primary: #f0f4ff;
  --text-secondary: #a0aec0;
  --text-tertiary: #718096;
  --text-muted: #4a5568;
  
  /* Primary Accent - Gradient Blue */
  --accent-primary: #3b82f6;
  --accent-primary-light: #60a5fa;
  --accent-primary-dark: #2563eb;
  --gradient-primary: linear-gradient(135deg, #3b82f6 0%, #06b6d4 50%, #8b5cf6 100%);
  --gradient-primary-subtle: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(6, 182, 212, 0.2) 100%);
  
  /* Secondary Accent - Amber/Orange */
  --accent-secondary: #f59e0b;
  --accent-secondary-light: #fbbf24;
  --accent-secondary-dark: #d97706;
  --gradient-secondary: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  
  /* Tertiary Accent - Emerald */
  --accent-tertiary: #10b981;
  --accent-tertiary-light: #34d399;
  --accent-tertiary-dark: #059669;
  
  /* Neon Glow Effects */
  --glow-primary: 0 0 20px rgba(59, 130, 246, 0.4), 0 0 40px rgba(59, 130, 246, 0.2);
  --glow-primary-intense: 0 0 30px rgba(59, 130, 246, 0.6), 0 0 60px rgba(59, 130, 246, 0.3);
  --glow-secondary: 0 0 20px rgba(245, 158, 11, 0.4), 0 0 40px rgba(245, 158, 11, 0.2);
  --glow-tertiary: 0 0 20px rgba(16, 185, 129, 0.4);
  
  /* Borders */
  --border-primary: rgba(255, 255, 255, 0.08);
  --border-secondary: rgba(255, 255, 255, 0.12);
  --border-accent: rgba(59, 130, 246, 0.4);
  
  /* Glass Effect */
  --glass-border: 1px solid rgba(255, 255, 255, 0.1);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.4);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.5);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.6);
  
  /* Card Styles */
  --card-bg: var(--bg-glass);
  --card-border: var(--glass-border);
  --card-shadow: var(--glass-shadow);
  
  /* Input Styles */
  --input-bg: rgba(15, 20, 40, 0.8);
  --input-border: var(--border-secondary);
  --input-focus-border: var(--accent-primary);
  
  /* Scrollbar */
  --scrollbar-track: var(--bg-secondary);
  --scrollbar-thumb: var(--bg-elevated);
  --scrollbar-thumb-hover: var(--accent-primary-dark);
}

/* === LIGHT THEME === */
[data-theme="light"] {
  /* Background Colors */
  --bg-primary: #f8fafc;
  --bg-secondary: #f1f5f9;
  --bg-tertiary: #e2e8f0;
  --bg-elevated: #ffffff;
  --bg-glass: rgba(255, 255, 255, 0.8);
  --bg-glass-strong: rgba(255, 255, 255, 0.95);
  
  /* Text Colors */
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-tertiary: #64748b;
  --text-muted: #94a3b8;
  
  /* Primary Accent - Gradient Blue */
  --accent-primary: #2563eb;
  --accent-primary-light: #3b82f6;
  --accent-primary-dark: #1d4ed8;
  --gradient-primary: linear-gradient(135deg, #2563eb 0%, #0891b2 50%, #7c3aed 100%);
  --gradient-primary-subtle: linear-gradient(135deg, rgba(37, 99, 235, 0.1) 0%, rgba(8, 145, 178, 0.1) 100%);
  
  /* Secondary Accent - Amber/Orange */
  --accent-secondary: #d97706;
  --accent-secondary-light: #f59e0b;
  --accent-secondary-dark: #b45309;
  --gradient-secondary: linear-gradient(135deg, #d97706 0%, #dc2626 100%);
  
  /* Tertiary Accent - Emerald */
  --accent-tertiary: #059669;
  --accent-tertiary-light: #10b981;
  --accent-tertiary-dark: #047857;
  
  /* Glow Effects (subtler in light mode) */
  --glow-primary: 0 0 15px rgba(37, 99, 235, 0.2), 0 0 30px rgba(37, 99, 235, 0.1);
  --glow-primary-intense: 0 0 20px rgba(37, 99, 235, 0.3), 0 0 40px rgba(37, 99, 235, 0.15);
  --glow-secondary: 0 0 15px rgba(217, 119, 6, 0.2);
  --glow-tertiary: 0 0 15px rgba(5, 150, 105, 0.2);
  
  /* Borders */
  --border-primary: rgba(0, 0, 0, 0.06);
  --border-secondary: rgba(0, 0, 0, 0.1);
  --border-accent: rgba(37, 99, 235, 0.4);
  
  /* Glass Effect */
  --glass-border: 1px solid rgba(0, 0, 0, 0.08);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.2);
  
  /* Card Styles */
  --card-bg: var(--bg-glass);
  --card-border: var(--glass-border);
  --card-shadow: var(--glass-shadow);
  
  /* Input Styles */
  --input-bg: rgba(255, 255, 255, 0.9);
  --input-border: var(--border-secondary);
  --input-focus-border: var(--accent-primary);
  
  /* Scrollbar */
  --scrollbar-track: var(--bg-secondary);
  --scrollbar-thumb: var(--bg-tertiary);
  --scrollbar-thumb-hover: var(--accent-primary);
}

/* === Reduced Motion === */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
