(()=>{(function(){"use strict";let m=null,v=null,h=null,p=null,B=null,F=null,S=null,k=null,I=null,R=null,C=null,d=null,y=!1,L=null,g=[],c=-1,T=null;function A(){m=document.getElementById("search-modal"),v=document.getElementById("search-overlay"),h=document.getElementById("search-input"),p=document.getElementById("search-clear"),B=document.getElementById("search-close"),F=document.getElementById("search-results"),S=document.getElementById("search-empty"),k=document.getElementById("search-loading"),I=document.getElementById("search-no-results"),R=document.getElementById("search-results-list"),C=document.getElementById("search-stats"),d=document.getElementById("search-items"),m&&(U(),V())}function U(){B&&B.addEventListener("click",w),p&&p.addEventListener("click",z),v&&v.addEventListener("click",w),h&&(h.addEventListener("input",_),h.addEventListener("keydown",P)),document.addEventListener("keydown",G),d&&d.addEventListener("click",q)}function G(e){if((e.ctrlKey||e.metaKey)&&e.key==="k"){e.preventDefault(),$();return}if(e.key==="Escape"&&y){w();return}}function P(e){if(y)switch(e.key){case"ArrowDown":e.preventDefault(),N(1);break;case"ArrowUp":e.preventDefault(),N(-1);break;case"Enter":e.preventDefault(),se();break;case"Escape":w();break}}function _(e){let t=e.target.value.trim();M(t.length>0),T&&clearTimeout(T),E(),T=setTimeout(()=>{t.length===0?O():W(t)},300)}function q(e){let t=e.target.closest("[data-url]");if(t){let n=t.dataset.url;n&&(window.location.href=n)}}function $(){!m||y||(y=!0,v.classList.remove("opacity-0","pointer-events-none"),v.classList.add("opacity-100"),m.classList.remove("opacity-0","scale-95","pointer-events-none"),m.classList.add("opacity-100","scale-100"),document.body.style.overflow="hidden",setTimeout(()=>{h&&h.focus()},100))}function w(){!m||!y||(y=!1,v.classList.add("opacity-0","pointer-events-none"),v.classList.remove("opacity-100"),m.classList.add("opacity-0","scale-95","pointer-events-none"),m.classList.remove("opacity-100","scale-100"),document.body.style.overflow="",D(),E())}function D(){h&&(h.value=""),M(!1),O(),g=[],c=-1}function E(){let e=d&&d.querySelector(".search-result-selected");e&&e.classList.remove("search-result-selected"),c=-1}function z(){D(),h&&h.focus()}function M(e){p&&(e?(p.classList.remove("opacity-0","pointer-events-none"),p.classList.add("opacity-100")):(p.classList.add("opacity-0","pointer-events-none"),p.classList.remove("opacity-100")))}function O(){b(),E(),S&&S.classList.remove("hidden")}function J(){b(),E(),k&&k.classList.remove("hidden")}function K(){b(),E(),I&&I.classList.remove("hidden")}function Q(){b(),R&&R.classList.remove("hidden")}function b(){[S,k,I,R].forEach(t=>{t&&t.classList.add("hidden")})}async function V(){if(L)return L;try{let e=window.HUGO_SEARCH_CONFIG?.searchIndexURL||"/index.json";e=e.replace(/['"]/g,"").replace(/%22/g,"");let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}: ${t.statusText}`);let n=await t.json();return n&&typeof n=="object"?L=(n.posts||[]).map(i=>({title:i.title,content:i.text,summary:i.text?i.text.substring(0,200):"",url:i.link,date:"",categories:[],tags:[]})):L=[],L}catch{return[]}}async function W(e){J();try{let t=await V(),n=Y(t,e);g=n,c=-1,n.length===0?K():(Z(n,e),Q())}catch{K()}}function x(e){return e.split(" ").filter(t=>!!t).map(t=>t.toLowerCase())}function ae(e,t,n){let s=x(e);return s.filter(r=>n.filter(a=>!t.hasOwnProperty(a)||!t[a]?!1:String(t[a]).toLowerCase().indexOf(r)>-1).length>0).length===s.length}function le(e,t,n,s){let i=0;return x(e).forEach(r=>{let f=new RegExp(X(r),"gim");n.forEach((a,u)=>{if(t.hasOwnProperty(a)&&t[a]){let l=String(t[a]).match(f);i+=l?l.length*s[u]:0}})}),i}function X(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Y(e,t){if(!t||t.trim()==="")return[];let n=x(t),s=[];return e.forEach((r,f)=>{let a=0,u=!1;n.forEach(o=>{let l=o.toLowerCase();r.title&&r.title.toLowerCase().includes(l)&&(a+=10,u=!0),r.content&&r.content.toLowerCase().includes(l)&&(a+=1,u=!0),r.summary&&r.summary.toLowerCase().includes(l)&&(a+=5,u=!0)}),u&&s.push({...r,score:a,keywords:n})}),s.sort((r,f)=>f.score-r.score)}function Z(e,t){if(!C||!d)return;let n=document.getElementById("search-stats");if(n){let s=n.dataset.template;C.textContent=s.replace("%d",e.length)}else C.textContent=`Found ${e.length} results`;d.innerHTML="",e.forEach((s,i)=>{let r=ee(s,t,i);d.appendChild(r)})}function j(e){if(!e||e<=0)return"";let t;return e>=20?t=5:e>=15?t=4:e>=10?t=3:e>=5?t=2:t=1,"\u2605".repeat(t)}function ee(e,t,n){let s=document.createElement("div");s.className="search-result-item p-4 cursor-pointer rounded-lg transition-all duration-200 ease-out hover:bg-primary/10 hover:text-primary",s.dataset.url=e.url,s.dataset.index=n;let i=e.keywords||x(t),r=ne(e.title,i),f=H(e.summary||e.content,i,120),a=j(e.score);return s.innerHTML=`

${r}

${f}

${e.date} ${e.categories&&e.categories.length>0?`\u2022${e.categories[0]}`:""} ${a?`${a}`:""}
`,s}function te(e){let t,n=[];return e.forEach(s=>{!t||s[0]>t[1]?n.push(t=s):s[1]>t[1]&&(t[1]=s[1])}),n}function H(e,t,n){if(!Array.isArray(t)||!t.length||!e)return n?e.slice(0,n):e;let s=e.toLowerCase(),i=t.map(o=>{let l=s.indexOf(o.toLowerCase());return!o||l===-1?null:[l,l+o.length]}).filter(o=>o!==null).sort((o,l)=>o[0]-l[0]||o[1]-l[1]);if(!i.length)return e;let r="",f=0,a=te(i),u=[a[0][0],a[a.length-1][1]];n&&n=u[0]+n)break;r+=''+e.slice(l[0],l[1])+"",f=l[1],o===a.length-1&&(n?r+=e.slice(l[1],Math.min(e.length,u[0]+n+1)):r+=e.slice(l[1]))}return r}function ne(e,t){return!e||!t||!Array.isArray(t)?e:H(e,t)}function N(e){if(!g||g.length===0||!d)return;let t=d.querySelector(".search-result-selected");t&&t.classList.remove("search-result-selected"),c===-1?c=e>0?0:g.length-1:(c+=e,c<0?c=g.length-1:c>=g.length&&(c=0));let n=d.querySelector(`[data-index="${c}"]`);n&&(n.classList.add("search-result-selected"),n.scrollIntoView({block:"nearest",behavior:"smooth"}))}function se(){if(c>=0&&cy},document.readyState==="loading"?document.addEventListener("DOMContentLoaded",A):A()})();})();