:root {
	/* Spacing scale */
	--inkpad-space-xs: 0.25rem;
	--inkpad-space-sm: 0.5rem;
	--inkpad-space-md: 1rem;
	--inkpad-space-lg: 1.5rem;
	--inkpad-space-xl: 2rem;

	/* Typography scale */
	--inkpad-font-xs: 0.75rem;
	--inkpad-font-sm: 0.875rem;
	--inkpad-font-md: 1rem;
	--inkpad-font-lg: 1.125rem;
	--inkpad-font-xl: 1.25rem;

	/* Font weights */
	--inkpad-weight-normal: 400;
	--inkpad-weight-medium: 500;
	--inkpad-weight-bold: 700;

	/* Line height — fallbacks when runtime bridge omits --inkpad-line-height */
	--inkpad-line-height-tight: 1.3;
	--inkpad-line-height-relaxed: 1.55;

	/* Radius */
	--inkpad-radius-sm: 6px;
	--inkpad-radius-md: 10px;
	--inkpad-radius-lg: 16px;

	/* Elevation */
	--inkpad-shadow-sm: 0 2px 6px color-mix(in srgb, var(--inkpad-text) 10%, transparent);
	--inkpad-shadow-md: 0 6px 18px color-mix(in srgb, var(--inkpad-text) 12%, transparent);
	--inkpad-shadow-lg: 0 12px 30px color-mix(in srgb, var(--inkpad-text) 14%, transparent);

	/* Transitions — fast | med only */
	--inkpad-transition-fast: 140ms ease;
	--inkpad-transition-med: 220ms ease;
	--inkpad-transition-medium: var(--inkpad-transition-med);

	/* Motion — subtle; runtime bridge may override */
	--inkpad-hover-lift: -2px;
	--inkpad-hover-scale: 1.01;

	/* Focus — accent-aware; bridge may set a stronger --inkpad-focus-ring */
	--inkpad-focus-ring: 0 0 0 2px color-mix(in srgb, var(--inkpad-accent) 38%, transparent);
	--inkpad-overlay-opacity: 0.4;

	/* Base color tokens */
	--inkpad-text: currentColor;
	--inkpad-accent: currentColor;
	--inkpad-surface: #ffffff;
}
