:root {
	--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
	--font-serif: "Source Serif 4", "Source Serif Pro", Georgia, serif;
	--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
	/* Scale — UI base is 13px (dense ops screens) */
	--text-2xs: 11px;
	--text-xs: 12px;
	--text-sm: 13px;
	--text-md: 14px;
	--text-lg: 16px;
	--text-xl: 20px;
	--text-2xl: 24px;
	--text-3xl: 30px;
	--leading-tight: 1.2;
	--leading-snug: 1.35;
	--leading-normal: 1.5;
	--leading-code: 1.6;
	--weight-regular: 400;
	--weight-medium: 500;
	--weight-semibold: 600;
	--weight-bold: 700;
	--tracking-caps: 0.06em;
	/* Roles */
	--type-page-title:
		var(--weight-semibold) var(--text-2xl) / var(--leading-tight) var(--font-serif);
	--type-section-title:
		var(--weight-semibold) var(--text-lg) / var(--leading-snug) var(--font-sans);
	--type-body: var(--weight-regular) var(--text-sm) / var(--leading-normal) var(--font-sans);
	--type-label: var(--weight-medium) var(--text-xs) / var(--leading-snug) var(--font-sans);
	--type-caps: var(--weight-semibold) var(--text-2xs) / var(--leading-snug) var(--font-sans);
	--type-mono: var(--weight-regular) var(--text-xs) / var(--leading-code) var(--font-mono);
}
