// Type system presets — swap font roles globally via CSS variables.
const TYPE_SYSTEMS = {
	editorial: {
		label: 'Editorial',
		blurb: 'Fraunces · Instrument Serif · Archivo',
		vars: {
			'ff-display': '"Fraunces", "Instrument Serif", Georgia, serif',
			'ff-display-italic': '"Instrument Serif", "Fraunces", Georgia, serif',
			'ff-body': '"Archivo", system-ui, sans-serif',
			'ff-mono': '"JetBrains Mono", "IBM Plex Mono", monospace',
			'display-weight': '900',
			'display-tracking': '-0.02em',
			'display-leading': '0.92',
			'display-case': 'none',
			'display-italic-weight': '400',
			'display-italic-tracking': '-0.005em',
			'eyebrow-tracking': '0.18em',
			'btn-tracking': '0.06em',
		},
	},
	brutalist: {
		label: 'Studio Brutalist',
		blurb: 'DM Serif Display · Space Grotesk · Space Mono',
		vars: {
			'ff-display': '"DM Serif Display", "Fraunces", Georgia, serif',
			'ff-display-italic': '"DM Serif Display", "Instrument Serif", Georgia, serif',
			'ff-body': '"Space Grotesk", system-ui, sans-serif',
			'ff-mono': '"Space Mono", "JetBrains Mono", monospace',
			'display-weight': '400',
			'display-tracking': '-0.025em',
			'display-leading': '0.94',
			'display-case': 'none',
			'display-italic-weight': '400',
			'display-italic-tracking': '-0.01em',
			'eyebrow-tracking': '0.22em',
			'btn-tracking': '0.08em',
		},
	},
	runway: {
		label: 'Runway',
		blurb: 'Bodoni Moda · Inter · IBM Plex Mono',
		vars: {
			'ff-display': '"Bodoni Moda", "Fraunces", Georgia, serif',
			'ff-display-italic': '"Bodoni Moda", "Instrument Serif", Georgia, serif',
			'ff-body': '"Inter", system-ui, sans-serif',
			'ff-mono': '"IBM Plex Mono", "JetBrains Mono", monospace',
			'display-weight': '900',
			'display-tracking': '-0.015em',
			'display-leading': '0.9',
			'display-case': 'none',
			'display-italic-weight': '400',
			'display-italic-tracking': '0em',
			'eyebrow-tracking': '0.32em',
			'btn-tracking': '0.14em',
		},
	},
	slate: {
		label: 'Cinema Slate',
		blurb: 'Anton · Oswald · JetBrains Mono',
		vars: {
			'ff-display': '"Anton", "Oswald", "Archivo", sans-serif',
			'ff-display-italic': '"Bodoni Moda", "Instrument Serif", Georgia, serif',
			'ff-body': '"Oswald", "Archivo", sans-serif',
			'ff-mono': '"JetBrains Mono", monospace',
			'display-weight': '400',
			'display-tracking': '-0.015em',
			'display-leading': '0.86',
			'display-case': 'uppercase',
			'display-italic-weight': '400',
			'display-italic-tracking': '-0.01em',
			'eyebrow-tracking': '0.24em',
			'btn-tracking': '0.16em',
		},
	},
};

function applyTypeSystem(key) {
	const t = TYPE_SYSTEMS[key] || TYPE_SYSTEMS.editorial;
	const r = document.documentElement.style;
	Object.entries(t.vars).forEach(([k, v]) => r.setProperty(`--${k}`, v));
	document.body.dataset.typeSystem = key;
}

window.TYPE_SYSTEMS = TYPE_SYSTEMS;
window.applyTypeSystem = applyTypeSystem;
