:root {
  --font-body: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-display: "Sora", "Noto Sans SC", sans-serif;

  --color-bg: oklch(97% 0.014 240);
  --color-surface: oklch(99% 0.008 236);
  --color-surface-strong: oklch(94% 0.018 236);
  --color-text: oklch(22% 0.03 245);
  --color-text-soft: oklch(42% 0.02 245);
  --color-border: oklch(82% 0.015 240);
  --color-primary: oklch(48% 0.11 245);
  --color-primary-strong: oklch(40% 0.13 245);
  --color-primary-soft: oklch(90% 0.03 245);
  --color-fact: oklch(44% 0.1 205);
  --color-inference: oklch(48% 0.11 25);

  --space-1: clamp(0.45rem, 0.38rem + 0.24vw, 0.62rem);
  --space-2: clamp(0.72rem, 0.58rem + 0.45vw, 1rem);
  --space-3: clamp(1rem, 0.8rem + 0.65vw, 1.45rem);
  --space-4: clamp(1.45rem, 1.1rem + 1vw, 2.1rem);
  --space-5: clamp(2rem, 1.5rem + 1.3vw, 2.8rem);
  --space-6: clamp(2.7rem, 2.05rem + 1.75vw, 4rem);
  --space-7: clamp(3.7rem, 2.7rem + 2.3vw, 5.4rem);

  --radius-xs: 0.55rem;
  --radius-sm: 0.88rem;
  --radius-md: 1.2rem;
  --radius-lg: 1.8rem;

  --shadow-soft: 0 26px 60px -40px oklch(20% 0.035 245 / 0.3);
  --shadow-card: 0 14px 35px -22px oklch(18% 0.03 245 / 0.26);
  --line: 1px solid var(--color-border);

  --container: min(1160px, 92vw);

  --text-xs: clamp(0.76rem, 0.74rem + 0.12vw, 0.84rem);
  --text-sm: clamp(0.89rem, 0.84rem + 0.2vw, 1rem);
  --text-base: clamp(1rem, 0.93rem + 0.25vw, 1.08rem);
  --text-lg: clamp(1.14rem, 1rem + 0.46vw, 1.38rem);
  --text-xl: clamp(1.46rem, 1.15rem + 1vw, 2.08rem);
  --text-2xl: clamp(2.1rem, 1.38rem + 2.2vw, 3.6rem);
}
