const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/boot-CaLhy5zm.js","assets/site-DkghW3i0.js","assets/site-BIDAdddX.css","assets/beta-gate-BxyDzSUz.js","assets/shared-DSdTChh7.js"])))=>i.map(i=>d[i]); import"./site-DkghW3i0.js";import{i as S}from"./beta-gate-BxyDzSUz.js";import"./shared-DSdTChh7.js";const k="modulepreload",E=function(e){return"/"+e},v={},P=function(o,r,t){let n=Promise.resolve();if(r&&r.length>0){let p=function(c){return Promise.all(c.map(f=>Promise.resolve(f).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),i=a?.nonce||a?.getAttribute("nonce");n=p(r.map(c=>{if(c=E(c),c in v)return;v[c]=!0;const f=c.endsWith(".css"),h=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const s=document.createElement("link");if(s.rel=f?"stylesheet":k,f||(s.as="script"),s.crossOrigin="",s.href=c,i&&s.setAttribute("nonce",i),document.head.appendChild(s),f)return new Promise((l,g)=>{s.addEventListener("load",l),s.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${c}`)))})}))}function d(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return n.then(a=>{for(const i of a||[])i.status==="rejected"&&d(i.reason);return o().catch(d)})},w={hero:m({}),behind:m({scale:1.18,shiftX:9,shiftY:-3,diskBrightness:.55,starsBrightness:1.4,bloomStrength:.8}),crosses:m({scale:1.22,shiftX:4,shiftY:4,diskBrightness:1.1,diskSpeed:1.6,bloomStrength:1.3,starsBrightness:.6}),does:m({scale:1.05,shiftX:4,shiftY:-4,opacity:.32,diskBrightness:.5,starsBrightness:.5,bloomStrength:.6}),companies:m({scale:1.1,shiftX:8,shiftY:4,opacity:.26,diskBrightness:.45,starsBrightness:.5,bloomStrength:.6}),download:m({opacity:1})};function m(e){return{diskBrightness:1,diskSpeed:1,starsBrightness:1,bloomStrength:1,centerFade:0,scale:1,shiftX:0,shiftY:0,opacity:1,...e}}const b=Object.keys(w.hero??{}),L=.55;function _(e,o,r){const t={...e};for(const n of b)t[n]=e[n]+(o[n]-e[n])*r;return t}function A(e,o,r){let t=w.hero??m({}),n=t,d=0,a=0;const i=s=>{e.style.transform=`translate3d(${s.shiftX}%, ${s.shiftY}%, 0) scale(${s.scale})`,e.style.opacity=s.opacity.toFixed(3),r?.renderer.setLook(s)},p=s=>{const l=d?Math.min((s-d)/1e3,.1):0;if(d=s,t=_(t,n,1-Math.exp(-l/L)),i(t),b.every(u=>Math.abs(t[u]-n[u])<.002)){t=n,i(t),a=0,d=0;return}a=requestAnimationFrame(p)},c=s=>{const l=w[s];!l||l===n||(n=l,a||(a=requestAnimationFrame(p)))},f=new Map,h=new IntersectionObserver(s=>{for(const u of s)f.set(u.target,u.intersectionRatio);let l,g=0;for(const[u,y]of f)y>g&&(l=u,g=y);l&&c(l.id)},{threshold:[0,.2,.4,.6,.8,1]});for(const s of o)h.observe(s);i(t)}const B=768;function O(){return!("gpu"in navigator)||!navigator.gpu||window.matchMedia("(prefers-reduced-motion: reduce)").matches||window.innerWidth{for(const t of r)t.isIntersecting&&(t.target.classList.add("is-in"),o.unobserve(t.target))},{rootMargin:"0px 0px -12%",threshold:.15});for(const r of e)o.observe(r)}function I(){const o=navigator.userAgentData?.platform??navigator.platform,r=/mac/i.test(o)?"mac":/win/i.test(o)?"windows":void 0;if(r)for(const t of document.querySelectorAll(`a[data-download="${r}"]`))t.classList.add("is-recommended")}function R(){const e=document.querySelector(".nav");if(!e)return;const o=()=>e.classList.toggle("is-scrolled",window.scrollY>24);o(),window.addEventListener("scroll",o,{passive:!0})}async function M(){const e=document.querySelector(".stage"),o=document.querySelector(".stage canvas");if(!e||!o)return;const r=Array.from(document.querySelectorAll("main section[id]"));let t;if(O())try{const{bootHero:n}=await P(async()=>{const{bootHero:d}=await import("./boot-CaLhy5zm.js");return{bootHero:d}},__vite__mapDeps([0,1,2,3,4]));t=n(o),await t.ready,e.classList.add("is-live"),x(t)}catch(n){console.warn("KChat hero fell back to the still image",n),t=void 0}A(e,r,t)}const $={width:2560,height:1440};async function x(e){if(new URLSearchParams(location.search).has("capture"))try{const o=e.renderer.capture($,"image/jpeg",.92),r=await(await fetch(o)).blob(),t=await fetch("/__poster",{method:"POST",body:r});console.info(`poster ${t.ok?"saved":"failed"}: ${r.size} bytes`),Object.assign(window,{kchatPosterDone:t.ok,kchatPosterBytes:r.size})}catch(o){Object.assign(window,{kchatPosterDone:!1,kchatPosterError:String(o)})}}q();I();S();R();M();export{P as _};