// Cadences gwoka en TS (miroir des tokens CSS). Le stagger de marque est syncopé (3+3+2).

export function prefersReducedMotion(): boolean {
	if (typeof window === 'undefined') return true;
	return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
}

const SYNCOPE = [0, 120, 300, 360, 600, 660, 900, 960];

/** Délai syncopé pour l'élément i (ms). Cycle de +1200 ms au-delà de 8 éléments. */
export function syncopatedDelay(i: number): number {
	const cycle = Math.floor(i / SYNCOPE.length);
	return SYNCOPE[i % SYNCOPE.length] + cycle * 1200;
}
