:root {
  /* Colors */
  --color-bg:           #0a0e1a;
  --color-bg-secondary: #0f1427;
  --color-bg-card:      #131929;
  --color-accent:       #00b4ff;
  --color-accent-glow:  rgba(0, 180, 255, 0.25);
  --color-accent-dim:   rgba(0, 180, 255, 0.6);
  --color-text:         #f0f4ff;
  --color-text-muted:   #8892b0;
  --color-text-subtle:  #4a5568;
  --color-border:       rgba(0, 180, 255, 0.15);
  --color-border-subtle:rgba(255, 255, 255, 0.06);
  --color-nav-glass:    rgba(10, 14, 26, 0.85);
  --color-overlay:      rgba(10, 14, 26, 0.7);

  /* Typography */
  --font-body:    'Inter', system-ui, sans-serif;
  --font-heading: 'Space Grotesk', system-ui, sans-serif;

  --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;

  --weight-normal:    400;
  --weight-medium:    500;
  --weight-semibold:  600;
  --weight-bold:      700;
  --weight-extrabold: 800;

  --leading-tight:  1.1;
  --leading-snug:   1.25;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  /* 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;
  --space-40: 10rem;

  /* Radii */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm:   0 1px 3px rgba(0,0,0,0.3);
  --shadow-md:   0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg:   0 8px 32px rgba(0,0,0,0.5);
  --shadow-glow: 0 0 20px var(--color-accent-glow), 0 0 40px var(--color-accent-glow);
  --shadow-card: 0 4px 24px rgba(0,0,0,0.35);

  /* Transitions */
  --transition-fast:   150ms ease;
  --transition-base:   300ms ease;
  --transition-slow:   600ms ease;
  --transition-reveal: 700ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Z-index scale */
  --z-base:    1;
  --z-raised:  10;
  --z-overlay: 100;
  --z-nav:     200;
  --z-modal:   300;

  /* Layout */
  --max-width: 1280px;
  --nav-height: 72px;
  --section-padding-y: var(--space-32);
  --content-padding-x: var(--space-8);
}

@media (max-width: 768px) {
  :root {
    --nav-height: 60px;
    --section-padding-y: var(--space-20);
    --content-padding-x: var(--space-6);
    --text-5xl: 2.25rem;
    --text-6xl: 2.75rem;
    --text-7xl: 3rem;
  }
}
