(function () { const updateHeader = () => { const header = document.querySelector("[data-site-header]"); if (!header) return; const compact = window.scrollY > 24; header.classList.toggle("is-compact", compact); }; updateHeader(); window.addEventListener("scroll", updateHeader, { passive: true }); function closeOverlay() { const root = document.getElementById("overlay-root"); if (root) root.innerHTML = ""; document.documentElement.classList.remove("overflow-hidden"); } document.addEventListener("htmx:afterSwap", function (event) { if (event.detail.target && event.detail.target.id === "overlay-root") { const overlay = event.detail.target.querySelector("[data-overlay]"); if (!overlay) return; document.documentElement.classList.add("overflow-hidden"); const close = overlay.querySelector("[data-overlay-close]"); if (close) close.focus(); } }); document.addEventListener("htmx:afterSettle", updateHeader); document.addEventListener("click", function (event) { if (event.target.matches("[data-overlay], [data-overlay-close]")) { closeOverlay(); } }); document.addEventListener("keydown", function (event) { if (event.key === "Escape") { closeOverlay(); } }); })();