:root {
  --color-bg: #0f0f10;
  --color-surface: #151617;
  --color-text: #e6e7e9;
  --color-muted: #a7a9ad;
  --color-accent: #2f70ff;
  --color-accent-hover: #1d4ed8;
  --color-accent-2: #7b61ff;
  --color-accent-rgb: 47,112,255;
  --color-accent-contrast: #ffffff;
  --color-border: #2a2c2f;
  --color-surface-light: #ffffff;
  --color-text-dark: #0b0c0d;
  --color-border-light: rgba(15,23,42,.08);
  --overlay-light: rgba(255,255,255,.08);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  --shadow-lg: 0 20px 60px rgba(0,0,0,.35);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;

  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --font-condensed: "Roboto Condensed", var(--font-sans);
  --font-primary: var(--font-sans);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-md: 1.125rem;
  --font-size-lg: 1.375rem;
  --font-size-xl: 1.75rem;
  --font-size-2xl: 2.25rem;
  --font-size-3xl: clamp(2.5rem, 5vw, 3.75rem);
  --font-size-4xl: clamp(3rem, 6vw, 4.5rem);
  --font-size-5xl: clamp(3.5rem, 7vw, 5.5rem);

  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

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

  /* Timeline Tokens */
  --timeline-line-width: 2px;
  --timeline-line-color: var(--color-border);
  --timeline-dot-size: 12px;
  --timeline-dot-size-lg: 16px;
  --timeline-gap: 32px;
  --timeline-gap-sm: 24px;
  --timeline-gap-lg: 48px;
  
  /* Timeline Colors */
  --timeline-dot-bg: var(--color-surface);
  --timeline-dot-border: var(--color-accent);
  --timeline-dot-active-bg: var(--color-accent);
  --timeline-content-bg: var(--color-surface);
  --timeline-content-border: var(--color-border);
  
  /* Timeline Typography */
  --timeline-title-size: var(--font-size-lg);
  --timeline-title-weight: var(--font-weight-semibold);
  --timeline-date-size: var(--font-size-sm);
  --timeline-date-weight: var(--font-weight-medium);
  --timeline-desc-size: var(--font-size-base);
  --timeline-desc-weight: var(--font-weight-regular);
  
  /* Timeline Spacing */
  --timeline-padding: 24px;
  --timeline-margin: 16px;
  --timeline-border-radius: var(--radius-md);
}

/* Mobile Font Tokens */
@media (max-width: 768px) {
  :root {
    /* Font Sizes - Mobile */
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    --font-size-5xl: 2.75rem;
    
    /* Timeline Tokens - Mobile */
    --timeline-gap: 24px;
    --timeline-gap-sm: 16px;
    --timeline-gap-lg: 32px;
    --timeline-dot-size: 10px;
    --timeline-dot-size-lg: 14px;
    --timeline-date-size: 0.75rem;
  }
}

@media (max-width: 480px) {
  :root {
    /* Font Sizes - Small Mobile */
    --font-size-xs: 0.6875rem;
    --font-size-sm: 0.8125rem;
    --font-size-base: 0.9375rem;
    --font-size-lg: 1.0625rem;
    --font-size-xl: 1.1875rem;
    --font-size-2xl: 1.375rem;
    --font-size-3xl: 1.625rem;
    --font-size-4xl: 1.875rem;
    --font-size-5xl: 2.25rem;
    
    /* Timeline Tokens - Small Mobile */
    --timeline-gap: 20px;
    --timeline-gap-sm: 14px;
    --timeline-gap-lg: 28px;
    --timeline-dot-size: 8px;
    --timeline-dot-size-lg: 12px;
    --timeline-date-size: 0.6875rem;
  }
}
