// Mobile haptic ticks. No-ops on browsers without navigator.vibrate (iOS Safari). export function vibrate(pattern: number | number[]): void { if (typeof navigator === 'undefined') return; if (typeof navigator.vibrate !== 'function') return; try { navigator.vibrate(pattern); } catch { /* permission denied / not supported */ } }