/* ===================================================================
   Design Tokens - Three-Layer CSS Variable System
   =================================================================== */

/* ===================================================================
   LAYER 1: PRIMITIVES (Raw Values)
   =================================================================== */

:root {
  /* Color Palette - Purple */
  --color-purple-900: #3b0764;
  --color-purple-700: #6b21a8;
  --color-purple-500: #8b5cf6;
  --color-purple-300: #c084fc;

  /* Color Palette - Cyan */
  --color-cyan-700: #0e7490;
  --color-cyan-500: #06b6d4;
  --color-cyan-300: #22d3ee;

  /* Color Palette - Gray */
  --color-gray-950: #020617;
  --color-gray-900: #0f172a;
  --color-gray-800: #1e293b;
  --color-gray-700: #334155;

  /* Color Palette - White */
  --color-white: #ffffff;
  --color-white-soft: rgba(255, 255, 255, 0.9);

  /* Spacing Unit */
  --spacing-unit: 0.25rem; /* 4px base */

  /* Font Sizes */
  --font-size-xs: 0.75rem;     /* 12px */
  --font-size-sm: 0.875rem;    /* 14px */
  --font-size-base: 1rem;      /* 16px */
  --font-size-lg: 1.125rem;    /* 18px */
  --font-size-xl: 1.25rem;     /* 20px */
  --font-size-2xl: 1.5rem;     /* 24px */
  --font-size-3xl: 1.875rem;   /* 30px */
  --font-size-4xl: 2.25rem;    /* 36px */

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

  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms;
  --transition-base: 200ms;
  --transition-slow: 300ms;
}

/* ===================================================================
   LAYER 2: SEMANTIC (Purpose-Based Tokens)
   =================================================================== */

:root {
  /* Backgrounds */
  --color-background-primary: var(--color-gray-950);
  --color-background-secondary: var(--color-gray-900);
  --color-background-elevated: var(--color-gray-800);
  --color-background-glass: rgba(15, 23, 42, 0.85);

  /* Text Colors */
  --color-text-primary: var(--color-white);
  --color-text-secondary: rgba(255, 255, 255, 0.7);
  --color-text-muted: rgba(255, 255, 255, 0.5);

  /* Accent Colors */
  --color-accent-primary: var(--color-purple-500);
  --color-accent-secondary: var(--color-cyan-500);
  --color-accent-gradient: linear-gradient(135deg, var(--color-purple-500), var(--color-cyan-500));

  /* Borders */
  --color-border: rgba(255, 255, 255, 0.1);
  --color-border-accent: rgba(139, 92, 246, 0.3);

  /* Status Colors */
  --color-status-success: #22c55e;
  --color-status-warning: #eab308;
  --color-status-error: #ef4444;
  --color-status-unknown: var(--color-gray-700);

  /* Spacing Scale */
  --spacing-xs: calc(var(--spacing-unit) * 2);    /* 8px */
  --spacing-sm: calc(var(--spacing-unit) * 3);    /* 12px */
  --spacing-md: calc(var(--spacing-unit) * 4);    /* 16px */
  --spacing-lg: calc(var(--spacing-unit) * 6);    /* 24px */
  --spacing-xl: calc(var(--spacing-unit) * 8);    /* 32px */
  --spacing-2xl: calc(var(--spacing-unit) * 12);  /* 48px */
  --spacing-3xl: calc(var(--spacing-unit) * 16);  /* 64px */

  /* Section Spacing */
  --spacing-section: calc(var(--spacing-unit) * 16); /* 64px */
}

/* ===================================================================
   LAYER 3: COMPONENT (Specific UI Elements)
   =================================================================== */

:root {
  /* Navbar */
  --navbar-height: 4rem;
  --navbar-background: var(--color-background-glass);
  --navbar-blur: blur(12px);

  /* Footer */
  --footer-background: var(--color-background-primary);

  /* Container */
  --container-width: 90%;
  --container-max-width: 1200px;

  /* Effects */
  --blur-glass: blur(12px);
  --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-glow: 0 0 20px rgba(139, 92, 246, 0.3);

  /* Typography */
  --font-family-base: 'Inter var', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ===================================================================
   RESPONSIVE OVERRIDES - Tablet (768px+)
   =================================================================== */

@media (min-width: 768px) {
  :root {
    --container-width: 85%;
    --font-size-3xl: 2rem;      /* 32px */
    --font-size-4xl: 2.5rem;    /* 40px */
    --spacing-section: calc(var(--spacing-unit) * 20); /* 80px */
  }
}

/* ===================================================================
   RESPONSIVE OVERRIDES - Desktop (1024px+)
   =================================================================== */

@media (min-width: 1024px) {
  :root {
    --container-width: 80%;
    --font-size-3xl: 2.25rem;   /* 36px */
    --font-size-4xl: 3rem;      /* 48px */
    --spacing-section: calc(var(--spacing-unit) * 24); /* 96px */
  }
}

/* ===================================================================
   RESPONSIVE OVERRIDES - Large (1440px+)
   =================================================================== */

@media (min-width: 1440px) {
  :root {
    --container-max-width: 1400px;
    --font-size-4xl: 3.5rem;    /* 56px */
  }
}
