:root {
  --color-paper: oklch(99.5% 0.002 175);
  --color-white: oklch(100% 0 0);
  --color-soft: oklch(97% 0.013 175);
  --color-mint: oklch(93% 0.034 175);
  --color-mint-deep: oklch(86% 0.059 175);
  --color-ink: oklch(29% 0.036 200);
  --color-muted: oklch(49% 0.025 200);
  --color-accent: oklch(48% 0.087 185);
  --color-accent-deep: oklch(37% 0.065 185);
  --color-action: oklch(56% 0.176 35);
  --color-action-hover: oklch(49% 0.16 35);
  --color-peach: oklch(96% 0.025 50);
  --color-rule: oklch(87% 0.023 180);
  --color-focus: oklch(44% 0.12 245);
  --color-error: oklch(47% 0.18 25);
  --color-shadow: oklch(31% 0.055 190 / 0.10);
  --color-backdrop: oklch(23% 0.04 200 / 0.6);
  --font-display: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  --font-body: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  --font-brand: 'Plus Jakarta Sans', sans-serif;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-section: 104px;
  --text-small: 13px;
  --text-body: 16px;
  --text-subtitle: 21px;
  --text-heading: clamp(26px, 3vw, 38px);
  --text-display: clamp(32px, 3.65vw, 52px);
  --radius-sm: 8px;
  --radius-card: 16px;
  --radius-large: 28px;
  --radius-pill: 999px;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in: cubic-bezier(.7, 0, .84, 0);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-short: 180ms;
  --dur-medium: 280ms;
  --page-max: 1160px;
  --page-gutter: clamp(20px, 4vw, 48px);
}
