import { useState, useEffect } from 'react'; export function useReducedMotion(): boolean { const [reduced, setReduced] = useState(() => { if (typeof window !== 'undefined') { return window.matchMedia('(prefers-reduced-motion: reduce)').matches; } return false; }); useEffect(() => { const mq = window.matchMedia('(prefers-reduced-motion: reduce)'); const handler = (e: MediaQueryListEvent) => setReduced(e.matches); mq.addEventListener('change', handler); return () => mq.removeEventListener('change', handler); }, []); return reduced; }