// Wires up the appearance buttons and remembers the choice in localStorage (if available). (function () { var box = document.getElementById('appearance'); if (!box || !window.portalTheme) return; var prefs = Object.assign({}, window.portalTheme.current()); box.addEventListener('click', function (e) { var b = e.target.closest('button'); if (!b) return; if (b.dataset.reset) prefs = {}; if (b.dataset.mode) prefs.mode = b.dataset.mode; if (b.dataset.pick) prefs.accent = b.dataset.pick; window.portalTheme.apply(prefs); try { if (b.dataset.reset) localStorage.removeItem(window.portalTheme.key); else localStorage.setItem(window.portalTheme.key, JSON.stringify(prefs)); } catch (err) {} }); box.hidden = false; // without JavaScript the control stays hidden })();