import { type ClassValue, clsx } from 'clsx' import { twMerge } from 'tailwind-merge' export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)) } /** Safe localStorage access — returns null on error (e.g. private browsing) */ export function safeGetItem(key: string): string | null { try { return localStorage.getItem(key) } catch { return null } } export function safeSetItem(key: string, value: string): void { try { localStorage.setItem(key, value) } catch { // Storage full or unavailable — silently fail } } export function safeRemoveItem(key: string): void { try { localStorage.removeItem(key) } catch { // Storage unavailable — silently fail } }