document.addEventListener('DOMContentLoaded', () => { // Terminal typing effect for some elements const terminalElements = document.querySelectorAll('.terminal-effect'); terminalElements.forEach(el => { const text = el.textContent; el.textContent = ''; let i = 0; const typing = setInterval(() => { if (i < text.length) { el.textContent += text.charAt(i); i++; } else { clearInterval(typing); } }, 50); }); // Dark mode toggle const darkModeToggle = document.getElementById('dark-mode-toggle'); if (darkModeToggle) { darkModeToggle.addEventListener('click', () => { document.documentElement.classList.toggle('dark'); localStorage.setItem('darkMode', document.documentElement.classList.contains('dark')); }); } // Check for saved dark mode preference if (localStorage.getItem('darkMode') === 'true' || (!localStorage.getItem('darkMode') && window.matchMedia('(prefers-color-scheme: dark)').matches)) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } });