1document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();const t=this.getAttribute("href"),n=document.querySelector(t);n&&n.scrollIntoView({behavior:"smooth"})})});const e=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(t.target.classList.add("visible"),e.unobserve(t.target))})},{threshold:.1});document.querySelectorAll(".section, .card").forEach(t=>{t.classList.add("fade-in"),e.observe(t)});const t=document.createElement("style");t.innerHTML="\n .fade-in {\n opacity: 0;\n transform: translateY(20px);\n transition: opacity 0.6s ease-out, transform 0.6s ease-out;\n }\n .visible {\n opacity: 1;\n transform: translateY(0);\n }\n",document.head.appendChild(t);const n=document.querySelector(".navbar");window.addEventListener("scroll",()=>{window.scrollY>100?n.classList.add("scrolled"):n.classList.remove("scrolled")});const s=document.querySelector(".hamburger"),o=document.querySelector(".nav-links");let r;s&&s.addEventListener("click",()=>{o.classList.toggle("active"),s.classList.toggle("active")}),document.querySelectorAll(".nav-links a").forEach(e=>{e.addEventListener("click",()=>{o.classList.remove("active"),s.classList.remove("active")})}),"undefined"!=typeof lucide&&lucide.createIcons();const c=()=>{document.body.classList.add("resize-animation-stopper"),clearTimeout(r),r=setTimeout(()=>{document.body.classList.remove("resize-animation-stopper")},400)};window.addEventListener("resize",c),window.addEventListener("DOMContentLoaded",c); 2//# sourceMappingURL=main-CLju4K6_.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.