/* Design Tokens - Colors, Typography, Spacing */

:root {
  /* Background Colors - Dark Cyberpunk Theme */
  --color-bg-primary: #0a0e17;
  --color-bg-secondary: #151b28;
  --color-bg-tertiary: #1e2736;

  /* Accent Colors */
  --color-accent-neon: #00ff88;     /* Agent elements (green) */
  --color-accent-cyan: #00d4ff;     /* CTAs */
  --color-accent-red: #ff1744;      /* Warnings/restrictions */
  --color-accent-yellow: #ffc107;   /* Limited access */

  /* Text Colors */
  --color-text-primary: #ffffff;
  --color-text-secondary: #a8b2c1;
  --color-text-muted: #6b7888;

  /* Code Block Colors */
  --color-code-bg: #0d1117;
  --color-code-border: #00ff88;
  --color-code-text: #00ff88;

  /* Typography */
  --font-heading: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* Font Sizes */
  --text-hero: 4rem;        /* 64px */
  --text-h1: 3rem;          /* 48px */
  --text-h2: 2rem;          /* 32px */
  --text-h3: 1.5rem;        /* 24px */
  --text-body: 1.125rem;    /* 18px */
  --text-small: 0.875rem;   /* 14px */
  --text-tiny: 0.75rem;     /* 12px */

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

  /* Spacing Scale */
  --space-xs: 0.5rem;    /* 8px */
  --space-sm: 0.75rem;   /* 12px */
  --space-md: 1rem;      /* 16px */
  --space-lg: 1.5rem;    /* 24px */
  --space-xl: 2rem;      /* 32px */
  --space-2xl: 3rem;     /* 48px */
  --space-3xl: 4rem;     /* 64px */
  --space-4xl: 6rem;     /* 96px */

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

  /* Shadows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-glow-green: 0 0 40px rgba(0, 255, 136, 0.3);
  --shadow-glow-red: 0 0 60px rgba(255, 23, 68, 0.4);
  --shadow-glow-cyan: 0 8px 24px rgba(0, 212, 255, 0.3);

  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* Breakpoints (for reference in media queries) */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;

  /* Container Max Width */
  --container-max-width: 1280px;
  --container-padding: 1.5rem;
}

/* Responsive Font Sizes - Mobile First */
@media (max-width: 767px) {
  :root {
    --text-hero: 2.5rem;     /* 40px on mobile */
    --text-h1: 2rem;         /* 32px on mobile */
    --text-h2: 1.5rem;       /* 24px on mobile */
    --text-h3: 1.25rem;      /* 20px on mobile */
    --text-body: 1rem;       /* 16px on mobile */
    --container-padding: 1rem;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  :root {
    --text-hero: 3rem;       /* 48px on tablet */
    --text-h1: 2.5rem;       /* 40px on tablet */
    --text-h2: 1.75rem;      /* 28px on tablet */
  }
}

/* Base Body Styles */
body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-text-primary);
  background: var(--color-bg-primary);
  line-height: 1.6;
}

/* Heading Base Styles */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--weight-bold);
  line-height: 1.2;
  color: var(--color-text-primary);
}

/* Link Styles */
a {
  transition: all var(--transition-base);
}

/* Selection Styles */
::selection {
  background: var(--color-accent-neon);
  color: var(--color-bg-primary);
}

::-moz-selection {
  background: var(--color-accent-neon);
  color: var(--color-bg-primary);
}
