/* ===== Design tokens (from Claude Design system export) ===== */
:root {
  /* Fonts */
  --font-display: "SUIT", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-body: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-num: "Pretendard", "SF Mono", ui-monospace, monospace;

  /* Colors - base palette */
  --navy-900: #061726;
  --navy-800: #0A2540;
  --navy-700: #103355;
  --navy-600: #1A4470;
  --navy-500: #2B5A8C;
  --slate-50: #F4F6F9;
  --slate-100: #E7ECF2;
  --slate-200: #D2DAE4;
  --slate-300: #AEBBCB;
  --slate-500: #5B6B7F;
  --slate-700: #33414F;
  --green-600: #00B473;
  --green-500: #00D588;
  --green-400: #3FE3A6;
  --green-100: #D6F9EC;
  --amber-600: #E08E00;
  --amber-500: #FFB020;
  --amber-100: #FFF1D4;
  --white: #FFFFFF;
  --black: #000000;

  /* Semantic */
  --surface-page: var(--slate-50);
  --surface-card: var(--white);
  --surface-brand: var(--navy-800);
  --surface-brand-deep: var(--navy-900);
  --surface-inverse: var(--navy-800);
  --surface-sunken: var(--slate-100);

  --text-strong: var(--navy-800);
  --text-body: var(--slate-700);
  --text-muted: var(--slate-500);
  --text-on-brand: var(--white);
  --text-on-brand-muted: var(--slate-300);
  --text-accent: var(--green-600);

  --signal: var(--green-500);
  --signal-strong: var(--green-600);
  --signal-tint: var(--green-100);
  --on-signal: var(--navy-900);

  --alert: var(--amber-500);
  --alert-strong: var(--amber-600);
  --alert-tint: var(--amber-100);
  --on-alert: var(--navy-900);

  --border-subtle: var(--slate-200);
  --border-strong: var(--slate-300);
  --border-on-brand: rgba(255, 255, 255, 0.14);
  --focus-ring: var(--green-500);

  /* Typography */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fw-black: 900;

  --fs-display: 64px;
  --fs-h1: 44px;
  --fs-h2: 32px;
  --fs-h3: 24px;
  --fs-title: 20px;
  --fs-body-lg: 18px;
  --fs-body: 16px;
  --fs-body-sm: 14px;
  --fs-caption: 13px;
  --fs-micro: 11px;

  --lh-tight: 1.08;
  --lh-snug: 1.25;
  --lh-normal: 1.45;
  --lh-relaxed: 1.65;

  --ls-tight: -0.03em;
  --ls-snug: -0.01em;
  --ls-normal: 0;
  --ls-wide: 0.02em;

  --num-features: "tnum" 1, "lnum" 1;

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

  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  --border-width: 1px;
  --border-width-strong: 2px;

  --shadow-sm: 0 1px 2px rgba(10,37,64,0.06), 0 1px 3px rgba(10,37,64,0.08);
  --shadow-md: 0 4px 12px rgba(10,37,64,0.08), 0 2px 4px rgba(10,37,64,0.06);
  --shadow-lg: 0 12px 32px rgba(10,37,64,0.12), 0 4px 8px rgba(10,37,64,0.06);
  --shadow-brand: 0 16px 40px rgba(6,23,38,0.28);

  --glow-signal: 0 0 0 4px rgba(0,213,136,0.18);
  --glow-alert: 0 0 0 4px rgba(255,176,32,0.20);

  --ease-settle: cubic-bezier(0.22,0.61,0.36,1);
  --ease-in-out: cubic-bezier(0.45,0.05,0.55,0.95);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 480ms;

  --container-max: 1200px;
}
