/* ============================================
   DESIGN TOKENS / VARIABLES
   ============================================ */

:root {
  /* Colors */
  --bg-primary:     #1E1E1E;
  --bg-secondary:   #252525;
  --bg-elevated:    #2D2D2D;
  --bg-overlay:     rgba(0, 0, 0, 0.65);

  --accent:         #00A8E8;
  --accent-hover:   #0090C8;
  --accent-light:   #33BDF1;
  --accent-glow:    rgba(0, 168, 232, 0.25);
  --accent-soft:    rgba(0, 168, 232, 0.08);

  --text-primary:   #FFFFFF;
  --text-secondary: #9CA3AF;
  --text-muted:     #6B7280;
  --text-disabled:  #4B5563;

  --border:         #374151;
  --border-light:   rgba(55, 65, 81, 0.6);
  --border-accent:  rgba(0, 168, 232, 0.3);

  --gradient-line:  linear-gradient(90deg, #374151 0%, #00A8E8 100%);
  --gradient-glow:  radial-gradient(circle at 50% 0%, rgba(0, 168, 232, 0.15) 0%, transparent 60%);
  --gradient-card:  linear-gradient(145deg, rgba(45, 45, 45, 0.6) 0%, rgba(30, 30, 30, 0.4) 100%);

  /* Typography */
  --font-display: 'Exo 2', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --fs-xs:   0.75rem;    /* 12 */
  --fs-sm:   0.875rem;   /* 14 */
  --fs-base: 1rem;       /* 16 */
  --fs-md:   1.125rem;   /* 18 */
  --fs-lg:   1.25rem;    /* 20 */
  --fs-xl:   1.5rem;     /* 24 */
  --fs-2xl:  2rem;       /* 32 */
  --fs-3xl:  2.5rem;     /* 40 */
  --fs-4xl:  3.25rem;    /* 52 */
  --fs-5xl:  4rem;       /* 64 */

  --lh-tight:   1.1;
  --lh-snug:    1.25;
  --lh-normal:  1.5;
  --lh-relaxed: 1.65;

  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;
  --fw-black:    900;

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

  /* Layout */
  --container: 1280px;
  --container-narrow: 960px;

  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 999px;

  --header-h: 36px;

  /* Effects */
  --shadow-sm:    0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md:    0 4px 12px rgba(0, 0, 0, 0.25);
  --shadow-lg:    0 12px 32px rgba(0, 0, 0, 0.35);
  --shadow-glow:  0 0 32px var(--accent-glow);
  --shadow-card:  0 8px 24px rgba(0, 0, 0, 0.3), 0 0 0 1px var(--border-light);

  /* Transitions */
  --t-fast:   150ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-base:   250ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-slow:   400ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Z-index */
  --z-header: 100;
  --z-modal:  1000;
  --z-toast:  2000;
}

@media (max-width: 768px) {
  :root {
    --fs-4xl: 2.25rem;
    --fs-5xl: 2.75rem;
    --fs-3xl: 1.875rem;
    --fs-2xl: 1.5rem;
    --header-h: 64px;
  }
}
