/* Tokens: Color, Typography, Spacing, Elevation, and Transitions */
:root {
  --bg-page: #070d19;
  --bg-surface: #0f172a;
  --bg-surface-elevated: #1e293b;
  --bg-surface-subtle: rgba(15, 23, 42, 0.7);
  
  --border-subtle: rgba(51, 65, 85, 0.6);
  --border-card: rgba(30, 41, 59, 0.8);
  --border-active: #0ea5e9;

  --tx-primary: #f8fafc;
  --tx-secondary: #cbd5e1;
  --tx-muted: #94a3b8;
  --tx-dim: #64748b;

  --accent-cyan: #06b6d4;
  --accent-blue: #0ea5e9;
  --accent-indigo: #2563eb;
  
  --btn-grad-start: #0f766e;
  --btn-grad-end: #1d4ed8;
  --btn-hover-start: #115e59;
  --btn-hover-end: #1e40af;

  --success-bg: rgba(16, 185, 129, 0.14);
  --success-border: #10b981;
  --success-text: #6ee7b7;

  --warning-bg: rgba(245, 158, 11, 0.14);
  --warning-border: #f59e0b;
  --warning-text: #fcd34d;

  --error-bg: rgba(239, 68, 68, 0.14);
  --error-border: #ef4444;
  --error-text: #fca5a5;

  --accent: #38bdf8;
  --accent-soft: #7dd3fc;
  --link: #94a3b8;
  --link-hover: #f8fafc;
  --link-active: #7c8aa0;
  --control-border: #64748b;
  --control-border-hover: #94a3b8;
  --input-border: #64748b;
  --focus-ring: 2px solid var(--accent);
  --focus-offset: 3px;
  --transition: 150ms ease;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 3rem;

  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;

  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.35), 0 2px 4px -2px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.45), 0 4px 6px -4px rgba(0, 0, 0, 0.35);
  --shadow-card: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);

  --max-w-content: 1120px;
  --max-w-form: 520px;

  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-decelerate: cubic-bezier(0, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 400ms;
  --duration-entrance: 700ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition: 0ms;
  }
}
