// Floating tweaks panel: palette + density. Persists to localStorage. // Exposed globals: useTweaks, TweaksPanel, TweakSection, TweakRadio. const TWEAKS_STORAGE_KEY = 'coffee_stats.tweaks.v1'; function useTweaks(defaults){ const [t, setT] = React.useState(() => { try { const raw = localStorage.getItem(TWEAKS_STORAGE_KEY); if(!raw) return defaults; const parsed = JSON.parse(raw); return { ...defaults, ...parsed }; } catch { return defaults; } }); const setTweak = (key, value) => { setT(prev => { const next = { ...prev, [key]: value }; try { localStorage.setItem(TWEAKS_STORAGE_KEY, JSON.stringify(next)); } catch {} return next; }); }; return [t, setTweak]; } function TweaksPanel({ title='Tweaks', children }){ const [open, setOpen] = React.useState(false); return ( <> {open && (