(function() { const STORAGE_KEY = 'stl-repo-theme'; function getTheme() { return localStorage.getItem(STORAGE_KEY) || 'dark'; } function setTheme(theme) { localStorage.setItem(STORAGE_KEY, theme); applyTheme(theme); } function applyTheme(theme) { const html = document.documentElement; if (theme === 'light') { html.classList.add('light-mode'); } else { html.classList.remove('light-mode'); } window.dispatchEvent(new CustomEvent('themechange', { detail: theme })); } function toggleTheme() { const current = getTheme(); setTheme(current === 'dark' ? 'light' : 'dark'); } // Expose globally window.getTheme = getTheme; window.setTheme = setTheme; window.toggleTheme = toggleTheme; // Apply on load document.addEventListener('DOMContentLoaded', () => { applyTheme(getTheme()); const btn = document.getElementById('theme-toggle'); if (btn) btn.addEventListener('click', toggleTheme); }); })();