\n \n `}saveThemePreference(){localStorage.setItem("resume-theme",this.isDarkMode?"dark":"light")}setupEventListeners(){const e=this.querySelector(".night-mode-toggle");e.addEventListener("click",()=>this.toggleTheme()),e.addEventListener("keydown",e=>{" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this.toggleTheme())}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{null===localStorage.getItem("resume-theme")&&(this.isDarkMode=e.matches,this.updateToggle(),this.applyTheme())})}toggleTheme(){this.isAnimating||(this.isAnimating=!0,this.createSmoothTransition(),setTimeout(()=>{document.body.style.transition="",document.documentElement.style.removeProperty("--transition-theme"),this.isAnimating=!1},300))}updateToggle(){const e=this.querySelector(".night-mode-toggle"),t=this.querySelector(".tooltip");this.isDarkMode?(e.classList.add("dark"),e.setAttribute("title","Switch to light mode"),e.setAttribute("aria-label","Switch to light mode"),t.textContent="Light mode"):(e.classList.remove("dark"),e.setAttribute("title","Switch to dark mode"),e.setAttribute("aria-label","Switch to dark mode"),t.textContent="Dark mode"),e.setAttribute("aria-checked",this.isDarkMode)}}customElements.define("night-mode-toggle",t),window.addEventListener("load",()=>{document.body.querySelectorAll(".expandable").forEach(e=>{const t=e.querySelector(".expandable-header");t.addEventListener("click",()=>{const a=e.classList.toggle("expanded");t.setAttribute("aria-expanded",a);const o=document.querySelector(".print-button");o&&window.innerWidth<768&&o.classList.toggle("hide-on-mobile",a)})})})}();