const DEFAULTS = { pieceSet: "kingdom", sound: true, reactions: false, coords: true, personality: "beginner", side: "w", clock: "none", clockBase: 300, clockInc: 0, threats: false, blunder: false, }; const PREFS_KEY = "emchess.prefs"; const SAVE_KEY = "emchess.save"; export function loadPrefs() { try { const raw = localStorage.getItem(PREFS_KEY); if (!raw) return { ...DEFAULTS }; return { ...DEFAULTS, ...JSON.parse(raw) }; } catch { return { ...DEFAULTS }; } } export function savePrefs(prefs) { try { localStorage.setItem(PREFS_KEY, JSON.stringify(prefs)); } catch { /* private mode, no storage — the game still works, it just won't remember. */ } } export function saveGame(game) { try { localStorage.setItem(SAVE_KEY, JSON.stringify(game)); } catch { /* ignore */ } } export function loadGame() { try { const raw = localStorage.getItem(SAVE_KEY); return raw ? JSON.parse(raw) : null; } catch { return null; } } export function clearGame() { try { localStorage.removeItem(SAVE_KEY); } catch { /* ignore */ } }