:root {
  /* Neutral palette (parent) */
  --c-bg: #F7F8FC;
  --c-surface: #FFFFFF;
  --c-surface-2: #F1F2F7;
  --c-border: #E6E7EF;
  --c-text: #0F1222;
  --c-text-muted: #6A6E82;
  --c-text-subtle: #9CA0B4;

  /* Brand / accent */
  --c-brand: #7C5CFF;
  --c-brand-ink: #3E2BC2;
  --c-brand-soft: #EFEAFF;
  --c-danger: #E5484D;
  --c-danger-soft: #FDECEC;
  --c-ok: #3CC47A;

  /* Per-child color (overridden inline) */
  --child: #7C5CFF;

  /* Radii */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 999px;

  /* Shadow */
  --sh-sm: 0 1px 2px rgba(15,18,34,.06);
  --sh-md: 0 4px 16px rgba(15,18,34,.08);
  --sh-lg: 0 16px 48px rgba(15,18,34,.12);

  /* Motion */
  --ease: cubic-bezier(.2,.8,.2,1);
  --dur-fast: 150ms;
  --dur: 250ms;

  /* Type */
  --ff-sans: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
  --ff-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --fs-12: 12px; --fs-14: 14px; --fs-16: 16px; --fs-18: 18px;
  --fs-24: 24px; --fs-32: 32px; --fs-48: 48px; --fs-72: 72px;

  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
}
