/* ============================================================
   tokens.css — Genesis design tokens (light + dark)
   ============================================================ */
:root {
  /* Color */
  --primary: #6366F1;
  --primary-hover: #4F46E5;
  --secondary: #20970B;
  --neutral: #9C9C9C;
  --bg: #FAFAFA;
  --bg-alt: #F3F3F6;
  --surface: #FFFFFF;
  --surface-2: #F7F7F9;
  --text: #0A0A0A;
  --text-2: #6B6B6B;
  --text-3: #9C9C9C;
  --border: #E8E8EC;
  --success: #10B981;
  --warning: #F59E0B;
  --error: #EF4444;
  --chip-bg: #F0F0F2;
  --chip-text: #52525B;
  --focus-ring: rgba(99, 102, 241, 0.12);

  /* Semantic fills (low-alpha tints) */
  --primary-tint: rgba(99, 102, 241, 0.08);
  --success-tint: rgba(16, 185, 129, 0.12);
  --warning-tint: rgba(245, 158, 11, 0.14);
  --error-tint: rgba(239, 68, 68, 0.10);
  --secondary-tint: rgba(32, 151, 11, 0.12);

  /* Typography */
  --font-display: "General Sans", "DM Sans", system-ui, sans-serif;
  --font-body: "DM Sans", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  --fs-display: clamp(40px, 6vw, 72px);
  --fs-headline: clamp(34px, 5vw, 60px);
  --fs-section: 32px;
  --fs-subhead: 24px;
  --fs-body: 15px;
  --fs-small: 13px;
  --fs-caption: 12px;
  --fs-overline: 11px;

  --lh-display: 1.05;
  --lh-headline: 1.08;
  --lh-section: 1.2;
  --lh-body: 1.65;

  /* Spacing (4px base) */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;

  /* Radius */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-full: 9999px;

  /* Elevation */
  --shadow-card-hover: 0 8px 30px rgba(0, 0, 0, 0.08);
  --shadow-btn-glow: 0 4px 12px rgba(99, 102, 241, 0.35);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.14);

  /* Motion */
  --dur: 200ms;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);

  /* Layout */
  --nav-h: 56px;
  --sidebar-w: 280px;
  --container: 1280px;
  --gutter: 24px;
}

/* ============================================================
   Dark theme
   ============================================================ */
[data-theme="dark"] {
  --bg: #0B0B0F;
  --bg-alt: #131318;
  --surface: #141419;
  --surface-2: #1A1A20;
  --text: #F2F2F5;
  --text-2: #A8A8B3;
  --text-3: #6E6E79;
  --border: #26262E;
  --neutral: #6E6E79;
  --chip-bg: #222229;
  --chip-text: #B9B9C4;
  --primary-tint: rgba(99, 102, 241, 0.16);
  --success-tint: rgba(16, 185, 129, 0.16);
  --warning-tint: rgba(245, 158, 11, 0.18);
  --error-tint: rgba(239, 68, 68, 0.16);
  --secondary-tint: rgba(32, 151, 11, 0.18);
  --shadow-card-hover: 0 8px 30px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.55);
}
