:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --font-family-primary: var(--font-sans);
  --font-family-monospace: var(--font-mono);
  --text-xs: 0.75rem;
  --text-figure: 0.625rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-h2: clamp(1.5rem, 2.4vw, 2rem);
  --text-h1: clamp(2rem, 3.2vw, 2.5rem);
  --text-hero: clamp(2rem, 3.5vw, 3rem);
}

html { font-size: 16px; }
body { font-family: var(--font-sans); font-size: var(--text-sm); line-height: 1.6; }
button, input, select, textarea { font-family: var(--font-sans); font-size: var(--text-sm); }
code, pre, kbd, samp { font-family: var(--font-mono); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans); }
#header, .public-navigation, .header-preferences { font-size: var(--text-sm); }
#header select { font-size: var(--text-sm); }
