:root {
  /* ---------- colour ---------- */
  --color-paper:        oklch(98.5% 0.006 90);
  --color-paper-2:      oklch(96.5% 0.008 90);
  --color-paper-3:      oklch(94% 0.012 90);
  --color-ink:          oklch(24% 0.02 255);
  --color-ink-2:        oklch(45% 0.02 255);
  --color-ink-3:        oklch(52% 0.02 255);
  --color-rule:         oklch(90% 0.01 90);
  --color-accent:       oklch(70% 0.2 45);
  --color-accent-deep:  oklch(53% 0.17 40);
  --color-accent-pressed: oklch(47% 0.17 40);
  --color-accent-tint:  oklch(95.5% 0.025 50);
  --color-accent-ink:   oklch(99% 0.005 90);
  --color-focus:        oklch(52% 0.18 255);
  --color-night:        oklch(22% 0.02 255);
  --color-night-2:      oklch(32% 0.02 255);
  --color-night-text:   oklch(75% 0.01 90);
  --color-night-text-2: oklch(65% 0.01 90);
  --color-night-rule:   oklch(34% 0.01 90);
  --color-success:      oklch(55% 0.12 150);
  --color-danger:       oklch(52% 0.19 28);

  /* ---------- fonts ---------- */
  --font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
                  "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
  --font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
               "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;
  --font-outlier: "SF Mono", ui-monospace, "JetBrains Mono", "Cascadia Code",
                  Menlo, Consolas, monospace;

  /* ---------- spacing (4 pt) ---------- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;

  /* ---------- type scale ---------- */
  --text-xs:       0.75rem;
  --text-sm:       0.875rem;
  --text-base:     1rem;
  --text-md:       1.125rem;
  --text-lg:       1.375rem;
  --text-xl:       1.75rem;
  --text-2xl:      2.25rem;
  --text-display:  clamp(2.25rem, 5.2vw, 3.75rem);
  --text-display-s: clamp(1.75rem, 3.8vw, 2.5rem);

  /* ---------- motion ---------- */
  --ease-out:     cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:      cubic-bezier(0.4, 0, 1, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast:     150ms;
  --dur:          250ms;
  --dur-slow:     400ms;

  /* ---------- radius ---------- */
  --radius-sm:  0.25rem;
  --radius-md:  0.5rem;
  --radius-lg:  0.75rem;
  --radius-pill: 999px;
}
