// Custom JavaScript will go here document.addEventListener('DOMContentLoaded', () => { // --- Theme Toggle Functionality --- const themeToggleButton = document.getElementById('theme-toggle'); const htmlElement = document.documentElement; const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)'); function applyTheme(theme) { if (theme === 'dark') { htmlElement.classList.add('dark'); if (themeToggleButton) themeToggleButton.innerHTML = ''; } else { htmlElement.classList.remove('dark'); if (themeToggleButton) themeToggleButton.innerHTML = ''; } } function initializeTheme() { const savedTheme = localStorage.getItem('theme'); if (savedTheme) { applyTheme(savedTheme); } else { applyTheme(prefersDarkScheme.matches ? 'dark' : 'light'); } } if (themeToggleButton) { themeToggleButton.addEventListener('click', () => { const newTheme = htmlElement.classList.contains('dark') ? 'light' : 'dark'; localStorage.setItem('theme', newTheme); applyTheme(newTheme); }); } prefersDarkScheme.addEventListener('change', (e) => { if (!localStorage.getItem('theme')) { applyTheme(e.matches ? 'dark' : 'light'); } }); initializeTheme(); // --- AOS Initialization --- AOS.init({ duration: 800, once: true, }); });