/* ============================================
   ChemiVerse - CSS Variables
   Design System
   ============================================ */

:root {
  /* Chemistry Color Palette */
  --chem-primary: #00d4ff;
  --chem-secondary: #8b5cf6;
  --chem-accent: #00ff88;
  --chem-danger: #ff3366;
  --chem-warning: #ffaa00;
  
  /* Dark Theme Backgrounds */
  --bg-deep: #0f172a;
  --bg-dark: #121c33;
  --bg-card: #1e293b;
  --bg-elevated: #253449;
  --bg-glass: rgba(30, 41, 59, 0.72);
  
  /* Gradients */
  --gradient-hero: linear-gradient(135deg, #00d4ff 0%, #8b5cf6 50%, #00ff88 100%);
  --gradient-cyan-purple: linear-gradient(135deg, #00d4ff 0%, #8b5cf6 100%);
  --gradient-purple-green: linear-gradient(135deg, #8b5cf6 0%, #00ff88 100%);
  --gradient-glow-cyan: radial-gradient(circle, rgba(0, 212, 255, 0.4) 0%, transparent 70%);
  --gradient-glow-purple: radial-gradient(circle, rgba(139, 92, 246, 0.4) 0%, transparent 70%);
  --gradient-glow-green: radial-gradient(circle, rgba(0, 255, 136, 0.4) 0%, transparent 70%);
  
  /* Text Colors */
  --text-primary: #e7eef8;
  --text-secondary: rgba(231, 238, 248, 0.86);
  --text-muted: rgba(231, 238, 248, 0.62);
  --text-dark: #050508;
  
  /* Typography */
  --font-arabic: 'Cairo', 'Almarai', sans-serif;
  --font-display: 'Almarai', 'Cairo', sans-serif;
  
  /* Font Sizes */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  
  /* 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;
  
  /* Border Radius */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-3xl: 2rem;
  --radius-full: 9999px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.6);
  --shadow-glow-cyan: 0 0 30px rgba(0, 212, 255, 0.5);
  --shadow-glow-purple: 0 0 30px rgba(139, 92, 246, 0.5);
  --shadow-glow-green: 0 0 30px rgba(0, 255, 136, 0.5);
  
  /* 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: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slower: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  
  /* Z-Index Scale */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 400;
  --z-modal: 500;
  --z-tooltip: 600;
  --z-canvas: -1;
  
  /* Layout */
  --navbar-height: 80px;
  --max-width: 1400px;
  --content-padding: 5%;
  
  /* Glassmorphism */
  --glass-bg: rgba(30, 41, 59, 0.64);
  --glass-border: rgba(148, 163, 184, 0.14);
  --glass-blur: blur(20px) saturate(180%);

  --border: var(--glass-border);
  --ui-hover-color: var(--chem-primary);

  --hero-overlay-1: radial-gradient(ellipse at 30% 20%, rgba(0, 212, 255, 0.15) 0%, transparent 50%);
  --hero-overlay-2: radial-gradient(ellipse at 70% 80%, rgba(139, 92, 246, 0.15) 0%, transparent 50%);
  --hero-overlay-3: radial-gradient(ellipse at 50% 50%, rgba(0, 255, 136, 0.05) 0%, transparent 70%);
  --hero-badge-bg: rgba(0, 212, 255, 0.1);
  --hero-badge-border: rgba(0, 212, 255, 0.3);
}

:root[data-theme="light"] {
  --bg-deep: #ffffff;
  --bg-dark: #ffffff;
  --bg-card: #ffffff;
  --bg-elevated: #ffffff;
  --bg-glass: rgba(255, 255, 255, 0.82);

  --glass-bg: rgba(250, 252, 255, 0.70);
  --glass-border: rgba(15, 23, 42, 0.12);

  --text-primary: #1f2937;
  --text-secondary: rgba(31, 41, 55, 0.86);
  --text-muted: rgba(31, 41, 55, 0.62);
  --text-dark: #0b1220;

  --shadow-sm: 0 1px 2px rgba(9, 16, 28, 0.12);
  --shadow-md: 0 6px 18px rgba(9, 16, 28, 0.14);
  --shadow-lg: 0 14px 30px rgba(9, 16, 28, 0.16);
  --shadow-xl: 0 22px 40px rgba(9, 16, 28, 0.18);

  --shadow-glow-cyan: 0 0 28px rgba(0, 212, 255, 0.22);
  --shadow-glow-purple: 0 0 28px rgba(139, 92, 246, 0.20);
  --shadow-glow-green: 0 0 28px rgba(0, 255, 136, 0.18);

  --border: var(--glass-border);

  --hero-overlay-1: radial-gradient(ellipse at 30% 20%, rgba(0, 212, 255, 0.22) 0%, transparent 58%);
  --hero-overlay-2: radial-gradient(ellipse at 70% 80%, rgba(139, 92, 246, 0.18) 0%, transparent 58%);
  --hero-overlay-3: radial-gradient(ellipse at 50% 50%, rgba(0, 255, 136, 0.12) 0%, transparent 72%);
  --hero-badge-bg: rgba(0, 212, 255, 0.12);
  --hero-badge-border: rgba(0, 212, 255, 0.35);
}

/* Element Colors (Chemistry Theme) */
.element-hydrogen { --element-color: #ffffff; }
.element-carbon { --element-color: #333333; }
.element-nitrogen { --element-color: #3050f8; }
.element-oxygen { --element-color: #ff0d0d; }
.element-fluorine { --element-color: #90e050; }
.element-sodium { --element-color: #ab5cf2; }
.element-magnesium { --element-color: #8aff00; }
.element-aluminum { --element-color: #bfa6a6; }
.element-silicon { --element-color: #f0c8a0; }
.element-phosphorus { --element-color: #ff8000; }
.element-sulfur { --element-color: #ffff30; }
.element-chlorine { --element-color: #1ff01f; }
.element-potassium { --element-color: #8f40d4; }
.element-calcium { --element-color: #3dff00; }
.element-iron { --element-color: #e06633; }
.element-copper { --element-color: #c78033; }
.element-gold { --element-color: #ffd123; }
.element-silver { --element-color: #c0c0c0; }

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-base: 0ms;
    --transition-slow: 0ms;
    --transition-slower: 0ms;
    --transition-bounce: 0ms;
  }
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
  :root {
    --text-6xl: 3rem;
    --text-5xl: 2.5rem;
    --text-4xl: 2rem;
    --content-padding: 4%;
  }
}

@media (max-width: 768px) {
  :root {
    --text-6xl: 2.5rem;
    --text-5xl: 2rem;
    --text-4xl: 1.75rem;
    --text-3xl: 1.5rem;
    --navbar-height: 70px;
    --content-padding: 1rem;
  }
}

@media (max-width: 480px) {
  :root {
    --text-6xl: 2rem;
    --text-5xl: 1.75rem;
    --text-4xl: 1.5rem;
  }
}
