(function () { const STORAGE_KEY = "otb_theme"; const root = document.documentElement; function getPreferredTheme() { const saved = localStorage.getItem(STORAGE_KEY); if (saved === "light" || saved === "dark") return saved; return "dark"; } function applyTheme(theme) { root.setAttribute("data-theme", theme); const toggle = document.getElementById("otbThemeToggle"); if (toggle) { toggle.checked = theme === "dark"; } } function saveTheme(theme) { localStorage.setItem(STORAGE_KEY, theme); } function initThemeToggle() { const toggle = document.getElementById("otbThemeToggle"); if (!toggle) return; toggle.addEventListener("change", function () { const theme = toggle.checked ? "dark" : "light"; applyTheme(theme); saveTheme(theme); }); } function init() { applyTheme(getPreferredTheme()); initThemeToggle(); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } })();