/**
 * AI Automation Pro - Design Tokens
 * Dark theme design system with minimal, bold aesthetic
 */

:root {
  /* ============================================
     COLORS
     ============================================ */

  /* Background Colors - Deeper blacks for higher contrast */
  --color-bg-deep: #000000;
  --color-bg-mid: #0A0A0F;
  --color-bg-elevated: #111118;

  /* Accent Colors - Bright, vibrant, high-contrast neons */
  --color-accent-primary: #00F0FF;      /* Cyan */
  --color-accent-glow: #00D9FF;
  --color-accent-secondary: #FF00FF;    /* Magenta */
  --color-accent-tertiary: #00FF9F;     /* Neon Green */
  --color-accent-yellow: #FFFF00;       /* Electric Yellow */
  --color-success: #00FF66;
  --color-warning: #FF9500;

  /* Text Colors - Higher contrast */
  --color-text-primary: #FFFFFF;
  --color-text-secondary: #F1F1F1;
  --color-text-tertiary: #9CA3AF;
  --color-text-disabled: #52525B;

  /* Semantic Colors */
  --color-border-subtle: #1F1F28;
  --color-border-default: #3F3F46;
  --color-overlay: rgba(0, 0, 0, 0.95);

  /* Gradients - Vibrant multi-color gradients */
  --gradient-primary: linear-gradient(135deg, #00F0FF 0%, #FF00FF 100%);
  --gradient-accent: linear-gradient(135deg, #00FF9F 0%, #00F0FF 100%);
  --gradient-cyber: linear-gradient(135deg, #FF00FF 0%, #FFFF00 50%, #00F0FF 100%);
  --gradient-subtle: linear-gradient(180deg, rgba(0, 240, 255, 0.1) 0%, transparent 100%);
  --gradient-radial: radial-gradient(circle at 50% 0%, rgba(0, 240, 255, 0.2), transparent 50%);

  /* ============================================
     TYPOGRAPHY
     ============================================ */

  /* Font Families */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* Font Sizes */
  --font-size-display-lg: clamp(3.5rem, 8vw, 6rem);
  --font-size-display: clamp(2.5rem, 6vw, 4rem);
  --font-size-h1: clamp(2rem, 4vw, 3rem);
  --font-size-h2: clamp(1.5rem, 3vw, 2.25rem);
  --font-size-h3: clamp(1.25rem, 2.5vw, 1.75rem);
  --font-size-h4: 1.25rem;
  --font-size-body-lg: 1.125rem;
  --font-size-body: 1rem;
  --font-size-body-sm: 0.875rem;
  --font-size-caption: 0.75rem;

  /* Line Heights */
  --line-height-tight: 1.1;
  --line-height-snug: 1.2;
  --line-height-normal: 1.3;
  --line-height-relaxed: 1.4;
  --line-height-loose: 1.5;
  --line-height-body: 1.6;

  /* Font Weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Letter Spacing */
  --letter-spacing-tight: -0.02em;
  --letter-spacing-normal: 0;
  --letter-spacing-wide: 0.01em;

  /* ============================================
     SPACING
     ============================================ */

  --space-0: 0;
  --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 */
  --space-32: 8rem;      /* 128px */

  /* Section Spacing */
  --section-padding-mobile: 5rem;    /* 80px */
  --section-padding-desktop: 7.5rem; /* 120px */

  /* Container */
  --container-max-width: 1280px;
  --container-padding-mobile: 1.5rem;  /* 24px */
  --container-padding-desktop: 3rem;   /* 48px */

  /* Grid */
  --grid-gap-mobile: 1rem;    /* 16px */
  --grid-gap-desktop: 1.5rem; /* 24px */

  /* ============================================
     SHADOWS & EFFECTS
     ============================================ */

  /* Shadows */
  --shadow-subtle: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);

  /* Glow Effects - Brighter, more vibrant glows */
  --shadow-glow: 0 0 40px rgba(0, 240, 255, 0.6);
  --shadow-glow-subtle: 0 0 20px rgba(0, 240, 255, 0.4);
  --shadow-glow-primary: 0 0 30px rgba(0, 240, 255, 0.7), 0 0 60px rgba(0, 240, 255, 0.4);
  --shadow-glow-accent: 0 0 25px rgba(255, 0, 255, 0.6);
  --shadow-glow-hover: 0 0 40px rgba(0, 240, 255, 0.8), 0 0 80px rgba(0, 240, 255, 0.5);
  --shadow-glow-green: 0 0 30px rgba(0, 255, 159, 0.7), 0 0 60px rgba(0, 255, 159, 0.4);

  /* Blur */
  --blur-subtle: blur(8px);
  --blur-md: blur(16px);
  --blur-strong: blur(24px);

  /* Border Radius */
  --radius-none: 0;
  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.5rem;    /* 8px */
  --radius-lg: 0.75rem;   /* 12px */
  --radius-xl: 1rem;      /* 16px */
  --radius-2xl: 1.5rem;   /* 24px */
  --radius-full: 9999px;

  /* ============================================
     TRANSITIONS
     ============================================ */

  --transition-speed-fast: 150ms;
  --transition-speed-base: 200ms;
  --transition-speed-slow: 300ms;

  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* ============================================
     BREAKPOINTS
     ============================================ */

  --breakpoint-mobile: 320px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;
  --breakpoint-desktop-lg: 1440px;

  /* ============================================
     Z-INDEX LAYERS
     ============================================ */

  --z-base: 0;
  --z-dropdown: 10;
  --z-sticky: 50;
  --z-overlay: 100;
  --z-modal: 200;
  --z-toast: 300;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

/* Typography Utilities */
.text-display-lg {
  font-size: var(--font-size-display-lg);
  line-height: var(--line-height-tight);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-tight);
}

.text-display {
  font-size: var(--font-size-display);
  line-height: var(--line-height-tight);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-tight);
}

.text-h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-snug);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-tight);
}

.text-h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-normal);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-tight);
}

.text-h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-normal);
  font-weight: var(--font-weight-semibold);
}

.text-h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-relaxed);
  font-weight: var(--font-weight-semibold);
}

.text-body-lg {
  font-size: var(--font-size-body-lg);
  line-height: var(--line-height-body);
}

.text-body {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.text-body-sm {
  font-size: var(--font-size-body-sm);
  line-height: var(--line-height-loose);
}

.text-caption {
  font-size: var(--font-size-caption);
  line-height: var(--line-height-relaxed);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}

/* Gradient Text Effect */
.text-gradient {
  background: var(--gradient-primary);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Color Utilities */
.text-primary { color: var(--color-text-primary); }
.text-secondary { color: var(--color-text-secondary); }
.text-tertiary { color: var(--color-text-tertiary); }
.text-accent { color: var(--color-accent-glow); }

/* Background Utilities */
.bg-deep { background-color: var(--color-bg-deep); }
.bg-mid { background-color: var(--color-bg-mid); }
.bg-elevated { background-color: var(--color-bg-elevated); }
.bg-gradient { background: var(--gradient-primary); }

/* Shadow Utilities */
.shadow-subtle { box-shadow: var(--shadow-subtle); }
.shadow-sm { box-shadow: var(--shadow-sm); }
.shadow-md { box-shadow: var(--shadow-md); }
.shadow-lg { box-shadow: var(--shadow-lg); }
.shadow-glow { box-shadow: var(--shadow-glow-primary); }

/* Glow Effect Utility */
.glow {
  box-shadow: var(--shadow-glow-primary);
  transition: box-shadow var(--transition-speed-slow) var(--ease-default);
}

.glow:hover {
  box-shadow: var(--shadow-glow-hover);
}

/* Backdrop Blur Utilities */
.backdrop-blur { backdrop-filter: var(--blur-md); }
.backdrop-blur-subtle { backdrop-filter: var(--blur-subtle); }
.backdrop-blur-strong { backdrop-filter: var(--blur-strong); }

/* Container */
.container {
  max-width: var(--container-max-width);
  margin-inline: auto;
  padding-inline: var(--container-padding-mobile);
}

@media (min-width: 1024px) {
  .container {
    padding-inline: var(--container-padding-desktop);
  }
}

/* Section */
.section {
  padding-block: var(--section-padding-mobile);
}

@media (min-width: 1024px) {
  .section {
    padding-block: var(--section-padding-desktop);
  }
}

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