1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82303,e=>{"use strict";var t=e.i(5262),r=e.i(51067);let o="!<>-_\\/[]{}â=+*^?#@";function s({children:e,className:s}){let[a,l]=(0,r.useState)(e),n=(0,r.useRef)(null);(0,r.useEffect)(()=>(l(e),()=>{n.current&&(clearInterval(n.current),n.current=null)}),[e]);let i=(0,r.useCallback)(()=>{let t=0;n.current&&(clearInterval(n.current),n.current=null),n.current=setInterval(()=>{l(e.split("").map((r,s)=>s<t?e[s]:o[Math.floor(Math.random()*o.length)]).join("")),t>=e.length&&(n.current&&(clearInterval(n.current),n.current=null),l(e)),t+=1/3},28)},[e]);return(0,t.jsx)("span",{className:s,onMouseEnter:i,children:a})}let a=[{id:"hero",label:"00"},{id:"signals",label:"01"},{id:"preview",label:"02"},{id:"why",label:"03"},{id:"work",label:"04"},{id:"install",label:"05"},{id:"roadmap",label:"06"},{id:"colophon",label:"07"},{id:"authors",label:"08"}];function l(){let[e,o]=(0,r.useState)("hero");return(0,r.useEffect)(()=>{let e=a.map(({id:e})=>{let t=document.getElementById(e);if(!t)return null;let r=new IntersectionObserver(([t])=>{t.isIntersecting&&o(e)},{threshold:.4,rootMargin:"-20% 0px -20% 0px"});return r.observe(t),r});return()=>e.forEach(e=>e?.disconnect())},[]),(0,t.jsx)("nav",{className:"fixed left-6 top-1/2 -translate-y-1/2 z-50 hidden lg:flex flex-col gap-5",children:a.map(({id:r,label:o})=>(0,t.jsxs)("a",{href:`#${r}`,className:"flex items-center gap-2 group",style:{color:e===r?"var(--color-accent)":"var(--color-muted)"},children:[(0,t.jsx)("span",{className:"block w-4 h-px transition-all duration-300",style:{backgroundColor:e===r?"var(--color-accent)":"var(--color-muted)",width:e===r?"20px":"12px"}}),(0,t.jsx)(s,{className:"text-xs font-mono transition-colors duration-200 group-hover:text-fg",children:o})]},r))})}e.s(["SideNav",()=>l],82303)},51941,e=>{"use strict";var t=e.i(5262),r=e.i(51067);let o="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function s({target:e,delay:s=0}){let[a,l]=(0,r.useState)("Â "),[n,i]=(0,r.useState)(!1),c=(0,r.useRef)(null),d=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(i(!1)," "===e){l("Â "),i(!0);return}return c.current=setTimeout(()=>{let t=0;d.current=setInterval(()=>{t>=10?(l(e),i(!0),d.current&&(clearInterval(d.current),d.current=null)):(l(o[Math.floor(Math.random()*o.length)]),t++)},55)},s),()=>{c.current&&(clearTimeout(c.current),c.current=null),d.current&&(clearInterval(d.current),d.current=null)}},[e,s]),(0,t.jsx)("span",{className:"inline-block transition-colors duration-100",style:{color:n?"var(--color-fg)":"var(--color-accent)"},children:a})}function a({text:e,className:r,startDelay:o=0,charDelay:a=90}){return(0,t.jsx)("span",{className:r,children:e.split("").map((e,r)=>(0,t.jsx)(s,{target:e,delay:o+r*a},r))})}e.s(["SplitFlapText",()=>a])},13740,e=>{"use strict";let t=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),r=[],o=(e,t,r)=>{if(0==e.length-t)return r.classGroupId;let s=e[t],a=r.nextPart.get(s);if(a){let r=o(e,t+1,a);if(r)return r}let l=r.validators;if(null===l)return;let n=0===t?e.join("-"):e.slice(t).join("-"),i=l.length;for(let e=0;e<i;e++){let t=l[e];if(t.validator(n))return t.classGroupId}},s=(e,r)=>{let o=t();for(let t in e)a(e[t],o,t,r);return o},a=(e,t,r,o)=>{let s=e.length;for(let a=0;a<s;a++)l(e[a],t,r,o)},l=(e,t,r,o)=>{"string"==typeof e?n(e,t,r):"function"==typeof e?i(e,t,r,o):c(e,t,r,o)},n=(e,t,r)=>{(""===e?t:d(t,e)).classGroupId=r},i=(e,t,r,o)=>{u(e)?a(e(o),t,r,o):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:r,validator:e}))},c=(e,t,r,o)=>{let s=Object.entries(e),l=s.length;for(let e=0;e<l;e++){let[l,n]=s[e];a(n,d(t,l),r,o)}},d=(e,r)=>{let o=e,s=r.split("-"),a=s.length;for(let e=0;e<a;e++){let r=s[e],a=o.nextPart.get(r);a||(a=t(),o.nextPart.set(r,a)),o=a}return o},u=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,m=[],p=(e,t,r,o,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:s}),f=/\s+/,g=e=>{let t;if("string"==typeof e)return e;let r="";for(let o=0;o<e.length;o++)e[o]&&(t=g(e[o]))&&(r&&(r+=" "),r+=t);return r},h=[],b=e=>{let t=t=>t[e]||h;return t.isThemeGetter=!0,t},y=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,x=/^\((?:(\w[\w-]*):)?(.+)\)$/i,v=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,w=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,k=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,j=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,N=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,C=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,_=e=>v.test(e),z=e=>!!e&&!Number.isNaN(Number(e)),S=e=>!!e&&Number.isInteger(Number(e)),P=e=>e.endsWith("%")&&z(e.slice(0,-1)),E=e=>w.test(e),O=()=>!0,I=e=>k.test(e)&&!j.test(e),M=()=>!1,R=e=>N.test(e),T=e=>C.test(e),A=e=>!D(e)&&!H(e),L=e=>ee(e,es,M),D=e=>y.test(e),$=e=>ee(e,ea,I),G=e=>ee(e,el,z),W=e=>ee(e,ei,O),B=e=>ee(e,en,M),F=e=>ee(e,er,M),q=e=>ee(e,eo,T),U=e=>ee(e,ec,R),H=e=>x.test(e),K=e=>et(e,ea),V=e=>et(e,en),Y=e=>et(e,er),X=e=>et(e,es),Q=e=>et(e,eo),J=e=>et(e,ec,!0),Z=e=>et(e,ei,!0),ee=(e,t,r)=>{let o=y.exec(e);return!!o&&(o[1]?t(o[1]):r(o[2]))},et=(e,t,r=!1)=>{let o=x.exec(e);return!!o&&(o[1]?t(o[1]):r)},er=e=>"position"===e||"percentage"===e,eo=e=>"image"===e||"url"===e,es=e=>"length"===e||"size"===e||"bg-size"===e,ea=e=>"length"===e,el=e=>"number"===e,en=e=>"family-name"===e,ei=e=>"number"===e||"weight"===e,ec=e=>"shadow"===e,ed=((e,...t)=>{let a,l,n,i,c=e=>{let t=l(e);if(t)return t;let r=((e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s,sortModifiers:a}=t,l=[],n=e.trim().split(f),i="";for(let e=n.length-1;e>=0;e-=1){let t=n[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:m,maybePostfixModifierPosition:p}=r(t);if(c){i=t+(i.length>0?" "+i:i);continue}let f=!!p,g=o(f?m.substring(0,p):m);if(!g){if(!f||!(g=o(m))){i=t+(i.length>0?" "+i:i);continue}f=!1}let h=0===d.length?"":1===d.length?d[0]:a(d).join(":"),b=u?h+"!":h,y=b+g;if(l.indexOf(y)>-1)continue;l.push(y);let x=s(g,f);for(let e=0;e<x.length;++e){let t=x[e];l.push(b+t)}i=t+(i.length>0?" "+i:i)}return i})(e,a);return n(e,r),r};return i=d=>{var u;let f;return l=(a={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null),s=(s,a)=>{r[s]=a,++t>e&&(t=0,o=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=o[e])?(s(e,t),t):void 0},set(e,t){e in r?r[e]=t:s(e,t)}}})((u=t.reduce((e,t)=>
1t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:r}=e,o=e=>{let t,r=[],o=0,s=0,a=0,l=e.length;for(let n=0;n<l;n++){let l=e[n];if(0===o&&0===s){if(":"===l){r.push(e.slice(a,n)),a=n+1;continue}if("/"===l){t=n;continue}}"["===l?o++:"]"===l?o--:"("===l?s++:")"===l&&s--}let n=0===r.length?e:e.slice(a),i=n,c=!1;return n.endsWith("!")?(i=n.slice(0,-1),c=!0):n.startsWith("!")&&(i=n.slice(1),c=!0),p(r,c,i,t&&t>a?t-a:void 0)};if(t){let e=t+":",r=o;o=t=>t.startsWith(e)?r(t.slice(e.length)):p(m,!1,t,void 0,!0)}if(r){let e=o;o=t=>r({className:t,parseClassName:e})}return o})(u),sortModifiers:(f=new Map,u.orderSensitiveModifiers.forEach((e,t)=>{f.set(e,1e6+t)}),e=>{let t=[],r=[];for(let o=0;o<e.length;o++){let s=e[o],a="["===s[0],l=f.has(s);a||l?(r.length>0&&(r.sort(),t.push(...r),r=[]),t.push(s)):r.push(s)}return r.length>0&&(r.sort(),t.push(...r)),t}),...(e=>{let t=(e=>{let{theme:t,classGroups:r}=e;return s(r,t)})(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:l}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var r;let t,o,s;return -1===(r=e).slice(1,-1).indexOf(":")?void 0:(o=(t=r.slice(1,-1)).indexOf(":"),(s=t.slice(0,o))?"arbitrary.."+s:void 0)}let s=e.split("-"),a=+(""===s[0]&&s.length>1);return o(s,a,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=l[e],o=a[e];if(t){if(o){let e=Array(o.length+t.length);for(let t=0;t<o.length;t++)e[t]=o[t];for(let r=0;r<t.length;r++)e[o.length+r]=t[r];return e}return t}return o||r}return a[e]||r}}})(u)}).cache.get,n=a.cache.set,i=c,c(d)},(...e)=>i(((...e)=>{let t,r,o=0,s="";for(;o<e.length;)(t=e[o++])&&(r=g(t))&&(s&&(s+=" "),s+=r);return s})(...e))})(()=>{let e=b("color"),t=b("font"),r=b("text"),o=b("font-weight"),s=b("tracking"),a=b("leading"),l=b("breakpoint"),n=b("container"),i=b("spacing"),c=b("radius"),d=b("shadow"),u=b("inset-shadow"),m=b("text-shadow"),p=b("drop-shadow"),f=b("blur"),g=b("perspective"),h=b("aspect"),y=b("ease"),x=b("animate"),v=()=>["auto","avoid","all","avoid-page","page","left","right","column"],w=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...w(),H,D],j=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],C=()=>[H,D,i],I=()=>[_,"full","auto",...C()],M=()=>[S,"none","subgrid",H,D],R=()=>["auto",{span:["full",S,H,D]},S,H,D],T=()=>[S,"auto",H,D],ee=()=>["auto","min","max","fr",H,D],et=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],er=()=>["start","end","center","stretch","center-safe","end-safe"],eo=()=>["auto",...C()],es=()=>[_,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],ea=()=>[_,"screen","full","dvw","lvw","svw","min","max","fit",...C()],el=()=>[_,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],en=()=>[e,H,D],ei=()=>[...w(),Y,F,{position:[H,D]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ed=()=>["auto","cover","contain",X,L,{size:[H,D]}],eu=()=>[P,K,$],em=()=>["","none","full",c,H,D],ep=()=>["",z,K,$],ef=()=>["solid","dashed","dotted","double"],eg=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[z,P,Y,F],eb=()=>["","none",f,H,D],ey=()=>["none",z,H,D],ex=()=>["none",z,H,D],ev=()=>[z,H,D],ew=()=>[_,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[E],breakpoint:[E],color:[O],container:[E],"drop-shadow":[E],ease:["in","out","in-out"],font:[A],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[E],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[E],shadow:[E],spacing:["px",z],text:[E],"text-shadow":[E],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",_,D,H,h]}
vendor: 5,976 bytes, line 1
1],container:["container"],columns:[{columns:[z,D,H,n]}],"break-after":[{"break-after":v()}],"break-before":[{"break-before":v()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:I()}],"inset-x":[{"inset-x":I()}],"inset-y":[{"inset-y":I()}],start:[{"inset-s":I(),start:I()}],end:[{"inset-e":I(),end:I()}],"inset-bs":[{"inset-bs":I()}],"inset-be":[{"inset-be":I()}],top:[{top:I()}],right:[{right:I()}],bottom:[{bottom:I()}],left:[{left:I()}],visibility:["visible","invisible","collapse"],z:[{z:[S,"auto",H,D]}],basis:[{basis:[_,"full","auto",n,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[z,_,"auto","initial","none",D]}],grow:[{grow:["",z,H,D]}],shrink:[{shrink:["",z,H,D]}],order:[{order:[S,"first","last","none",H,D]}],"grid-cols":[{"grid-cols":M()}],"col-start-end":[{col:R()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":M()}],"row-start-end":[{row:R()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...et(),"normal"]}],"justify-items":[{"justify-items":[...er(),"normal"]}],"justify-self":[{"justify-self":["auto",...er()]}],"align-content":[{content:["normal",...et()]}],"align-items":[{items:[...er(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...er(),{baseline:["","last"]}]}],"place-content":[{"place-content":et()}],"place-items":[{"place-items":[...er(),"baseline"]}],"place-self":[{"place-self":["auto",...er()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:eo()}],mx:[{mx:eo()}],my:[{my:eo()}],ms:[{ms:eo()}],me:[{me:eo()}],mbs:[{mbs:eo()}],mbe:[{mbe:eo()}],mt:[{mt:eo()}],mr:[{mr:eo()}],mb:[{mb:eo()}],ml:[{ml:eo()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:es()}],"inline-size":[{inline:["auto",...ea()]}],"min-inline-size":[{"min-inline":["auto",...ea()]}],"max-inline-size":[{"max-inline":["none",...ea()]}],"block-size":[{block:["auto",...el()]}],"min-block-size":[{"min-block":["auto",...el()]}],"max-block-size":[{"max-block":["none",...el()]}],w:[{w:[n,"screen",...es()]}],"min-w":[{"min-w":[n,"screen","none",...es()]}],"max-w":[{"max-w":[n,"screen","none","prose",{screen:[l]},...es()]}],h:[{h:["screen","lh",...es()]}],"min-h":[{"min-h":["screen","lh","none",...es()]}],"max-h":[{"max-h":["screen","lh",...es()]}],"font-size":[{text:["base",r,K,$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Z,W]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",P,D]}],"font-family":[{font:[V,B,t]}],"font-features":[{"font-features":[D]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,H,D]}],"line-clamp":[{"line-clamp":[z,"none",H,G]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",H,D]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",H,D]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:en()}],"text-color":[{text:en()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ef(),"wavy"]}],"text-decoration-thickness":[{decoration:[z,"from-font","auto",H,$]}],"text-decoration-color":[{decoration:en()}],"underline-offset":[{"underline-offset":[z,"auto",H,D]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",H,D]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",H,D]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ei()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:ed()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]}
vendor: 7,459 bytes, line 1
1,S,H,D],radial:["",H,D],conic:[S,H,D]},Q,q]}],"bg-color":[{bg:en()}],"gradient-from-pos":[{from:eu()}],"gradient-via-pos":[{via:eu()}],"gradient-to-pos":[{to:eu()}],"gradient-from":[{from:en()}],"gradient-via":[{via:en()}],"gradient-to":[{to:en()}],rounded:[{rounded:em()}],"rounded-s":[{"rounded-s":em()}],"rounded-e":[{"rounded-e":em()}],"rounded-t":[{"rounded-t":em()}],"rounded-r":[{"rounded-r":em()}],"rounded-b":[{"rounded-b":em()}],"rounded-l":[{"rounded-l":em()}],"rounded-ss":[{"rounded-ss":em()}],"rounded-se":[{"rounded-se":em()}],"rounded-ee":[{"rounded-ee":em()}],"rounded-es":[{"rounded-es":em()}],"rounded-tl":[{"rounded-tl":em()}],"rounded-tr":[{"rounded-tr":em()}],"rounded-br":[{"rounded-br":em()}],"rounded-bl":[{"rounded-bl":em()}],"border-w":[{border:ep()}],"border-w-x":[{"border-x":ep()}],"border-w-y":[{"border-y":ep()}],"border-w-s":[{"border-s":ep()}],"border-w-e":[{"border-e":ep()}],"border-w-bs":[{"border-bs":ep()}],"border-w-be":[{"border-be":ep()}],"border-w-t":[{"border-t":ep()}],"border-w-r":[{"border-r":ep()}],"border-w-b":[{"border-b":ep()}],"border-w-l":[{"border-l":ep()}],"divide-x":[{"divide-x":ep()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ep()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ef(),"hidden","none"]}],"divide-style":[{divide:[...ef(),"hidden","none"]}],"border-color":[{border:en()}],"border-color-x":[{"border-x":en()}],"border-color-y":[{"border-y":en()}],"border-color-s":[{"border-s":en()}],"border-color-e":[{"border-e":en()}],"border-color-bs":[{"border-bs":en()}],"border-color-be":[{"border-be":en()}],"border-color-t":[{"border-t":en()}],"border-color-r":[{"border-r":en()}],"border-color-b":[{"border-b":en()}],"border-color-l":[{"border-l":en()}],"divide-color":[{divide:en()}],"outline-style":[{outline:[...ef(),"none","hidden"]}],"outline-offset":[{"outline-offset":[z,H,D]}],"outline-w":[{outline:["",z,K,$]}],"outline-color":[{outline:en()}],shadow:[{shadow:["","none",d,J,U]}],"shadow-color":[{shadow:en()}],"inset-shadow":[{"inset-shadow":["none",u,J,U]}],"inset-shadow-color":[{"inset-shadow":en()}],"ring-w":[{ring:ep()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:en()}],"ring-offset-w":[{"ring-offset":[z,$]}],"ring-offset-color":[{"ring-offset":en()}],"inset-ring-w":[{"inset-ring":ep()}],"inset-ring-color":[{"inset-ring":en()}],"text-shadow":[{"text-shadow":["none",m,J,U]}],"text-shadow-color":[{"text-shadow":en()}],opacity:[{opacity:[z,H,D]}],"mix-blend":[{"mix-blend":[...eg(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eg()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[z]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":en()}],"mask-image-linear-to-color":[{"mask-linear-to":en()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":en()}],"mask-image-t-to-color":[{"mask-t-to":en()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":en()}],"mask-image-r-to-color":[{"mask-r-to":en()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":en()}],"mask-image-b-to-color":[{"mask-b-to":en()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":en()}],"mask-image-l-to-color":[{"mask-l-to":en()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":en()}],"mask-image-x-to-color":[{"mask-x-to":en()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":en()}],"mask-image-y-to-color":[{"mask-y-to":en()}],"mask-image-radial":[{"mask-radial":[H,D]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":en()}],"mask-image-radial-to-color":[{"mask-radial-to":en()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[z]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":en()}],"mask-image-conic-to-color":[{"mask-conic-to":en()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ei()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:ed()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",H,D]}],filter:[{filter:["","none",H,D]}],blur:[{blur:eb()}],brightness:[{brightness:[z,H,D]}],contrast:[{contrast:[z,H,D]}],"drop-shadow":[{"drop-shadow":["","none",p,J,U]}],"drop-shadow-color":[{"drop-shadow":en()}],grayscale:[{grayscale:["",z,H,D]}],"hue-rotate":[{"hue-rotate":[z,H,D]}],invert:[{invert:["",z,H,D]}],saturate:[{saturate:[z,H,D]}],sepia:[{sepia:["",z,H,D]}],"backdrop-filter":[{"backdrop-filter":["","none",H,D]}],"backdrop-blur":[{"backdrop-blur":eb()}],"backdrop-brightness":[{"backdrop-brightness":[z,H,D]}],"backdrop-contrast":[{"backdrop-contrast":[z,H,D]}],"backdrop-grayscale":[{"backdrop-grayscale":["",z,H,D]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[z,H,D]}],"backdrop-invert":[{"backdrop-invert":["",z,H,D]}],"backdrop-opacity":[{"backdrop-opacity":[z,H,D]}],"backdrop-saturate":[{"backdrop-saturate":[z,H,D]}],"backdrop-sepia":[{"backdrop-sepia":["",z,H,D]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",H,D]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[z,"initial",H,D]}],ease:[{ease:["linear","initial",y,H,D]}],delay:[{delay:[z,H,D]}],animate:[{animate:["none",x,H,D]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,H,D]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ey()}],"rotate-x":[{"rotate-x":ey()}],"rotate-y":[{"rotate-y":ey()}],"rotate-z":[{"rotate-z":ey()}],scale:[{scale:ex()}],"scale-x":[{"scale-x":ex()}],"scale-y":[{"scale-y":ex()}],"scale-z":[{"scale-z":ex()}],"scale-3d":["scale-3d"],skew:[{skew:ev()}],"skew-x":[{"skew-x":ev()}],"skew-y":[{"skew-y":ev()}],transform:[{transform:[H,D,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ew()}],"translate-x":[{"translate-x":ew()}],"translate-y":[{"translate-y":ew()}],"translate-z":[{"translate-z":ew()}],"translate-none":["translate-none"],accent:[{accent:en()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:en()}
1],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",H,D]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",H,D]}],fill:[{fill:["none",...en()]}],"stroke-w":[{stroke:[z,K,$,G]}],stroke:[{stroke:["none",...en()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function eu(...e){return ed(function(){for(var e,t,r=0,o="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=function e(t){var r,o,s="";if("string"==typeof t||"number"==typeof t)s+=t;else if("object"==typeof t)if(Array.isArray(t)){var a=t.length;for(r=0;r<a;r++)t[r]&&(o=e(t[r]))&&(s&&(s+=" "),s+=o)}else for(o in t)t[o]&&(s&&(s+=" "),s+=o);return s}(e))&&(o&&(o+=" "),o+=t);return o}(e))}e.s(["cn",()=>eu],13740)},64264,e=>{"use strict";var t=e.i(5262),r=e.i(51067),o=e.i(13740);function s({children:e,className:s}){let a=(0,r.useRef)(null),[l,n]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=a.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e.isIntersecting&&(n(!0),t.disconnect())},{threshold:.3});return t.observe(e),()=>t.disconnect()},[]),(0,t.jsx)("span",{ref:a,className:(0,o.cn)("relative inline-block overflow-hidden",s),children:(0,t.jsx)("span",{className:"block transition-transform duration-700 ease-out",style:{transform:l?"translateY(0%)":"translateY(110%)"},children:e})})}e.s(["DrawText",()=>s])},35740,(e,t,r)=>{"use strict";
1Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let o=e.r(51067),s="u"<typeof window,a=s?()=>{}:o.useLayoutEffect,l=s?()=>{}:o.useEffect;function n(e){let{headManager:t,reduceComponentsToState:r}=e;function n(){if(t&&t.mountedInstances){let e=o.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return s&&(t?.mountedInstances?.add(e.children),n()),a(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),a(()=>(t&&(t._pendingUpdate=n),()=>{t&&(t._pendingUpdate=n)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},64195,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return g},defaultHead:function(){return u}};for(var s in o)Object.defineProperty(r,s,{enumerable:!0,get:o[s]});let a=e.r(85321),l=e.r(48185),n=e.r(5262),i=l._(e.r(51067)),c=a._(e.r(35740)),d=e.r(84112);function u(){return[(0,n.jsx)("meta",{charSet:"utf-8"},"charset"),(0,n.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(1482);let p=["name","httpEquiv","charSet","itemProp"];function f(e){let t,r,o,s;return e.reduce(m,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,o=new Set,s={},e=>{let a=!0,l=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){l=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?a=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?a=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)o.has(r)?a=!1:o.add(r);else{let t=e.props[r],o=s[r]||new Set;("name"!==r||!l)&&o.has(t)?a=!1:(o.add(t),s[r]=o)}}}return a})).reverse().map((e,t)=>{let r=e.key||t;return i.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,i.useContext)(d.HeadManagerContext);return(0,n.jsx)(c.default,{reduceComponentsToState:f,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68302,(e,t,r)=>{"use strict";function o({widthInt:e,heightInt:t,blurWidth:r,blurHeight:o,blurDataURL:s,objectFit:a}){let l=r?40*r:e,n=o?40*o:t,i=l&&n?`viewBox='0 0 ${l} ${n}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${i}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${i?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${s}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return o}})},58155,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={VALID_LOADERS:function(){return a},imageConfigDefault:function(){return l}};for(var s in o)Object.defineProperty(r,s,{enumerable:!0,get:o[s]});let a=["default","imgix","cloudinary","akamai","custom"],l={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none';
1 frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},63387,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return c}}),e.r(1482);let o=e.r(23599),s=e.r(68302),a=e.r(58155),l=["-moz-initial","fill","none","scale-down",void 0];function n(e){return void 0!==e.default}function i(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:d=!1,loading:u,className:m,quality:p,width:f,height:g,fill:h=!1,style:b,overrideSrc:y,onLoad:x,onLoadingComplete:v,placeholder:w="empty",blurDataURL:k,fetchPriority:j,decoding:N="async",layout:C,objectFit:_,objectPosition:z,lazyBoundary:S,lazyRoot:P,...E},O){var I;let M,R,T,{imgConf:A,showAltText:L,blurComplete:D,defaultLoader:$}=O,G=A||a.imageConfigDefault;if("allSizes"in G)M=G;else{let e=[...G.deviceSizes,...G.imageSizes].sort((e,t)=>e-t),t=G.deviceSizes.sort((e,t)=>e-t),r=G.qualities?.sort((e,t)=>e-t);M={...G,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===$)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let W=E.loader||$;delete E.loader,delete E.srcSet;let B="__next_img_default"in W;if(B){if("custom"===M.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=W;W=t=>{let{config:r,...o}=t;return e(o)}}if(C){"fill"===C&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[C];r&&!t&&(t=r)}let F="",q=i(f),U=i(g);if((I=e)&&"object"==typeof I&&(n(I)||void 0!==I.src)){let t=n(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(R=t.blurWidth,T=t.blurHeight,k=k||t.blurDataURL,F=t.src,!h)if(q||U){if(q&&!U){let e=q/t.width;U=Math.round(t.height*e)}else if(!q&&U){let e=U/t.height;q=Math.round(t.width*e)}}else q=t.width,U=t.height}let H=!c&&!d&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:F)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,H=!1),M.unoptimized&&(r=!0),B&&!M.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=i(p),V=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:_,objectPosition:z}:{},L?{}:{color:"transparent"},b),Y=D||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:q,heightInt:U,blurWidth:R,blurHeight:T,blurDataURL:k||"",objectFit:V.objectFit})}")`:`url("${w}")`,X=l.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,Q=Y?{backgroundSize:X,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},J=function({config:e,src:t,unoptimized:r,width:s,quality:a,sizes:l,loader:n}){if(r){let e=(0,o.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:i,kind:c}=function({deviceSizes:e,allSizes:t},r,o){if(o){let r=/(^|\s)(1?\d?\d)vw/g,s=[];for(let e;e=r.exec(o);)s.push(parseInt(e[2]));if(s.length){let r=.01*Math.min(...s);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,s,l),d=i.length-1;return{sizes:l||"w"!==c?l:"100vw",srcSet:i.map((r,o)=>`${n({config:e,src:t,quality:a,width:r})} ${"w"===c?r:o+1}${c}`).join(", "),src:n({config:e,src:t,quality:a,width:i[d]})}}({config:M,src:e,unoptimized:r,width:q,quality:K,sizes:t,loader:W}),Z=H?"lazy":u;return{props:{...E,loading:Z,fetchPriority:j,width:q,height:U,decoding:N,className:m,style:{...V,...Q},sizes:J.sizes,srcSet:J.srcSet,src:y||J.src},meta:{unoptimized:r,preload:d||c,placeholder:w,fill:h}}}},11799,(e,t,r)=>{"use strict";
2Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let o=e.r(85321)._(e.r(51067)),s=e.r(58155),a=o.default.createContext(s.imageConfigDefault)},18392,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return o}});let o=e.r(85321)._(e.r(51067)).default.createContext(null)},14078,(e,t,r)=>{"use strict";function o(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return o}})},64069,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let o=e.r(14078),s=e.r(23599);function a({config:e,src:t,width:r,quality:a}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,o.findClosestQuality)(a,e),n=(0,s.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&n?`&dpl=${n}`:""}`}a.__next_img_default=!0;let l=a},85462,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let o=e.r(51067);function s(e,t){let r=(0,o.useRef)(null),s=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=a(e,o)),t&&(s.current=a(t,o))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},30098,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return v}});let o=e.r(85321),s=e.r(48185),a=e.r(5262),l=s._(e.r(51067)),n=o._(e.r(21050)),i=o._(e.r(64195)),c=e.r(63387),d=e.r(58155),u=e.r(11799);e.r(1482);let m=e.r(18392),p=o._(e.r(64069)),f=e.r(85462),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,o,s,a,l){let n=e?.src;e&&e["data-loaded-src"]!==n&&(e["data-loaded-src"]=n,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let o=!1,s=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>o,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{o=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}o?.current&&o.current(e)}}))}function b(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let y=(0,l.forwardRef)(({src:e,srcSet:t,sizes:r,height:o,width:s,decoding:n,className:i,style:c,fetchPriority:d,placeholder:u,loading:m,unoptimized:p,fill:g,onLoadRef:y,onLoadingCompleteRef:x,setBlurComplete:v,setShowAltText:w,sizesInput:k,onLoad:j,onError:N,...C},_)=>{let z=(0,l.useCallback)(e=>{e&&(N&&(e.src=e.src),e.complete&&h(e,u,y,x,v,p,k))},[e,u,y,x,v,N,p,k]),S=(0,f.useMergedRef)(_,z);return(0,a.jsx)("img",{...C,...b(d),loading:m,width:s,height:o,decoding:n,"data-nimg":g?"fill":"1",className:i,style:c,sizes:r,srcSet:t,src:e,ref:S,onLoad:e=>{h(e.currentTarget,u,y,x,v,p,k)},onError:e=>{w(!0),"empty"!==u&&v(!0),N&&N(e)}})});function x({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...b(t.fetchPriority)};return e&&n.default.preload?(n.default.preload(t.src,r),null):(0,a.jsx)(i.default,{children:(0,a.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let v=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(m.RouterContext),o=(0,l.useContext)(u.ImageConfigContext),s=(0,l.useMemo)(()=>{let e=g||o||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),r=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:s,localPatterns:"u"<typeof window?o?.localPatterns:e.localPatterns}},[o]),{onLoad:n,onLoadingComplete:i}=e,f=(0,l.useRef)(n);(0,l.useEffect)(()=>{f.current=n},[n]);let h=(0,l.useRef)(i);(0,l.useEffect)(()=>{h.current=i},[i]);let[b,v]=(0,l.useState)(!1),[w,k]=(0,l.useState)(!1),{props:j,meta:N}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:s,blurComplete:b,showAltText:w});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y,{...j,unoptimized:N.unoptimized,placeholder:N.placeholder,fill:N.fill,onLoadRef:f,onLoadingCompleteRef:h,setBlurComplete:v,setShowAltText:k,sizesInput:e.sizes,ref:t}),N.preload?(0,a.jsx)(x,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6545,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return d},getImageProps:function(){return c}};for(var s in o)Object.defineProperty(r,s,{enumerable:!0,get:o[s]});let a=e.r(85321),l=e.r(63387),n=e.r(30098),i=a._(e.r(64069));function c(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=n.Image},93373,(e,t,r)=>{t.exports=e.r(6545)},92134,e=>{"use strict";var t=e.i(5262),r=e.i(51067),o=e.i(93373),s=e.i(21050);function a({feature:e,onClose:a}){let[l,n]=(0,r.useState)(!1),i=(0,r.useRef)(null);return((0,r.useEffect)(()=>{function e(e){"Escape"===e.key&&a()}return n(!0),document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a]),l)?(0,s.createPortal)((0,t.jsx)("div",{ref:i,className:"fixed inset-0 z-[200] overflow-y-auto py-12 px-4 md:px-8",style:{backgroundColor:"rgba(5,5,5,0.88)",backdropFilter:"blur(6px)"},onClick:e=>{e.target===i.current&&a()},children:(0,t.jsxs)("div",{className:"relative w-full max-w-2xl mx-auto",style:{backgroundColor:"#0c0c0c",border:"1px solid var(--color-border)"},children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-6 py-4",style:{borderBottom:"1px solid var(--color-border)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"font-mono text-xs",style:{color:"var(--color-accent)"},children:e.id}),(0,t.jsx)("h2",{className:"font-display text-2xl",style:{color:"var(--color-fg)"},children:e.title.toUpperCase()})]}),(0,t.jsx)("button",{onClick:a,className:"font-mono text-2xl leading-none w-8 h-8 flex items-center justify-center transition-colors",style:{color:"var(--color-muted)"},onMouseEnter:e=>e.currentTarget.style.color="var(--color-fg)",onMouseLeave:e=>e.currentTarget.style.color="var(--color-muted)","aria-label":"Close",children:"Ã"})]}),e.image?(0,t.jsx)("div",{className:"w-full relative",style:{borderBottom:"1px solid var(--color-border)"},children:(0,t.jsx)(o.default,{src:e.image,alt:`Screenshot of ${e.title}`,width:1200,height:675,className:"w-full h-auto",style:{display:"block"}})}):(0,t.jsx)("div",{className:"w-full flex flex-col items-center justify-center gap-3",style:{height:"240px",backgroundColor:"rgba(255,255,255,0.015)",borderBottom:"1px solid var(--color-border)"},children:(0,t.jsxs)("span",{className:"font-mono text-xs uppercase tracking-[0.2em]",style:{color:"var(--color-muted)"},children:["Screenshot · ",e.title]})}),(0,t.jsxs)("div",{className:"p-6 space-y-6",children:[(0,t.jsx)("p",{className:"font-mono text-sm leading-relaxed",style:{color:"rgba(232,230,225,0.8)"},children:e.detail}),e.useCases&&e.useCases.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-mono text-xs uppercase tracking-widest mb-4",style:{color:"var(--color-muted)"},children:"Example prompts"}),(0,t.jsx)("ul",{className:"space-y-2",children:e.useCases.map((e,r)=>(0,t.jsx)("li",{className:"font-mono text-sm leading-relaxed",style:{color:"rgba(232,230,225,0.7)",borderLeft:"2px s
3olid var(--color-accent)",paddingLeft:"12px"},children:e},r))})]})]})]})}),document.body):null}let l=[{id:"01",title:"Balances and cash flow",description:"Live balances, savings, spending, and cash-flow views that make it obvious where your money goes.",detail:"Your home base for understanding your money. At a glance you see total income, total expenses, and net savings for any period you choose â a week, a month, or a custom range. A profit & loss chart breaks down the trend over time, while a Sankey flow diagram shows exactly where your money comes from and where it ends up. All numbers update in real time as you import new transactions.",wide:!0,image:"/images/screenshots/dashboard.png"},{id:"02",title:"AI Categorization",description:"Optional OpenAI-powered categorization with a fallback path when no API key is set.",detail:"Every time you import a transaction, Syllogic reads the description and assigns it a spending category â things like Groceries, Dining, Travel, or Subscriptions â without you lifting a finger. When the AI gets it wrong (it occasionally does), you correct it once and it remembers. Over time the categories get more accurate and reflect your personal spending patterns.",wide:!1,image:"/images/screenshots/transactions.png"},{id:"03",title:"Subscription Tracking",description:"Detect recurring charges, group them by merchant, and understand monthly subscription drag.",detail:"Syllogic scans your transaction history to find recurring charges â the ones that repeat every month or year at a predictable amount. It groups them by merchant so you can see the full list of your active subscriptions, when they renew, and what your total monthly subscription spend looks like. A surprisingly useful number once you actually see it.",wide:!1,image:"/images/screenshots/subscriptions.png"},{id:"04",title:"Category Analytics",description:"Break spending down by category, compare periods, and spot trends before they become habits.",detail:"Pick any category â say, Dining â and see exactly how much you spent in it each month for the past year. Compare it to the previous period, see if you're trending up or down, and spot the months where you overspent. A donut chart shows the category breakdown at a glance so you immediately know where the biggest opportunities to cut back are.",wide:!1,image:"/images/screenshots/spending-category.png"},{id:"05",title:"Transfer and reimbursement linking",description:"Link related transactions across accounts to avoid double-counting.",detail:"If you transfer money from your checking account to your savings account, that shows up as both an outgoing and an incoming transaction. Without linking them, your expense totals look inflated. Syllogic lets you mark those two transactions as related so your dashboard counts them correctly â one transfer, not two separate expenses.",wide:!1,image:"/images/screenshots/transactions_detail.png"},{id:"06",title:"CSV Import / Export",description:"Import from bank CSVs and export your data whenever you want. No lock-in.",detail:"Every bank lets you download your transaction history as a CSV file. Syllogic can import those files regardless of the column format your bank uses â it adapts to the structure automatically. And because your data is yours, you can export everything at any time in a clean, standard format. No lock-in, no strings attached.",wide:!1,image:"/images/screenshots/csv-import.png"},{id:"07",title:"MCP Server",description:"Connect Claude Desktop or any MCP-compatible LLM directly to your financial data. Ask questions, run bulk operations, and get AI-driven insights â all in natural language.",detail:"Syllogic ships a built-in MCP (Model Context Protocol) server that exposes your financial data as tools any compatible AI client can call. Connect Claude Desktop, Cursor, or any other MCP-compatible app and start talking to your finances like you would a spreadsheet â except smarter. The LLM can read transactions, categories, accounts, and balances, then act on them based on your instructions.",wide:!0,image:"/images/screenshots/mcp-server.png",useCases:['"How much did I spend on dining last month compared to the month before?"','"Recategorize all transactions from Amazon as Shopping instead of Other."','"Which subscriptions am I paying for that I haven\'t used in 3 months?"','"What are my top 5 spending c
3ategories this year and how can I reduce them?"','"Flag all transactions above â¬200 from the last 30 days for my review."','"Give me a summary of my income vs expenses for Q1."']}];function n(){let o=(0,r.useRef)(null),[s,n]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let t,r=!1;return async function(){let{gsap:s}=await e.A(83440),{ScrollTrigger:a}=await e.A(96967);if(r)return;s.registerPlugin(a);let l=o.current?.querySelectorAll(".feature-card");if(!l?.length)return;let n=s.fromTo(l,{opacity:0,y:24},{opacity:1,y:0,stagger:.08,duration:.55,ease:"power2.out",scrollTrigger:{trigger:o.current,start:"top 75%"}});t=()=>{n.scrollTrigger?.kill(),n.kill()}}(),()=>{r=!0,t?.()}},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("section",{ref:o,id:"work",className:"py-24 px-8 lg:px-24",style:{borderTop:"1px solid var(--color-border)"},children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-4 mb-4",children:[(0,t.jsx)("span",{className:"font-mono text-sm",style:{color:"var(--color-accent)"},children:"04"}),(0,t.jsx)("h2",{className:"font-display text-5xl",style:{color:"var(--color-fg)"},children:"WHAT WORKS TODAY"})]}),(0,t.jsx)("p",{className:"font-mono text-xs mb-4",style:{color:"var(--color-muted)"},children:"Click any card to learn more"}),(0,t.jsx)("p",{className:"font-mono text-sm leading-relaxed max-w-3xl mb-16",style:{color:"var(--color-muted)"},children:"Syllogic already covers the workflows a self-hoster needs to evaluate the product honestly: dashboards, imports, recurring spend, optional AI enrichment, and exportable data."}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-px",style:{backgroundColor:"var(--color-border)"},children:l.map(e=>(0,t.jsxs)("button",{className:`feature-card group p-8 text-left transition-colors duration-200 cursor-pointer ${e.wide?"lg:col-span-2":""}`,style:{backgroundColor:"var(--color-bg)",opacity:0}
3,onClick:()=>n(e),onMouseEnter:e=>e.currentTarget.style.backgroundColor="rgba(255,255,255,0.025)",onMouseLeave:e=>e.currentTarget.style.backgroundColor="var(--color-bg)",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"font-mono text-xs",style:{color:"var(--color-accent)"},children:e.id}),e.useCases&&(0,t.jsx)("span",{className:"font-mono text-xs px-2 py-0.5 uppercase tracking-widest",style:{border:"1px solid rgba(249,115,22,0.35)",color:"var(--color-accent)"},children:"NEW"})]}),(0,t.jsx)("span",{className:"font-mono text-xs opacity-0 group-hover:opacity-100 transition-opacity duration-200",style:{color:"var(--color-muted)"},children:"VIEW â"})]}),(0,t.jsx)("h3",{className:"font-display text-2xl mb-3 transition-colors duration-200 group-hover:text-accent",style:{color:"var(--color-fg)"},children:e.title}),(0,t.jsx)("p",{className:"font-mono text-sm leading-relaxed",style:{color:"var(--color-muted)"},children:e.description}),e.useCases&&(0,t.jsx)("ul",{className:"mt-5 space-y-1.5",children:e.useCases.slice(0,3).map((e,r)=>(0,t.jsxs)("li",{className:"font-mono text-xs leading-relaxed",style:{color:"rgba(232,230,225,0.45)"},children:[(0,t.jsx)("span",{style:{color:"var(--color-accent)"},children:"âº"})," ",e.replace(/^"|"$/g,"")]},r))})]},e.id))})]}),s&&(0,t.jsx)(a,{feature:s,onClose:()=>n(null)})]})}e.s(["WorkSection",()=>n],92134)},62879,e=>{"use strict";var t=e.i(5262),r=e.i(51067),o=e.i(13740);function s({className:e,size:r=10,style:s}){return(0,t.jsx)("svg",{width:r,height:r,viewBox:"0 0 10 10",fill:"none",className:(0,o.cn)("inline-block shrink-0",e),style:s,children:(0,t.jsx)("path",{d:"M1 3L5 7L9 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"square",strokeLinejoin:"miter"})})}function a(e,t,r="landing",o="site"){let s=new URL(e);return s.searchParams.set("utm_source",r),s.searchParams.set("utm_medium",o),s.searchParams.set("utm_campaign","oss_promotion"),s.searchParams.set("utm_content",t),s.toString()}let l={repo:"https://github.com/syllogic-ai/syllogic",issues:"https://github.com/syllogic-ai/syllogic/issues",discussions:"https://github.com/syllogic-ai/syllogic/discussions",readme:"https://github.com/syllogic-ai/syllogic/blob/main/README.md",roadmap:"https://github.com/syllogic-ai/syllogic/blob/main/ROADMAP.md",contributing:"https://github.com/syllogic-ai/syllogic/blob/main/CONTRIBUTING.md",startHere:"https://github.com/syllogic-ai/syllogic/blob/main/START_HERE.md",release:"https://github.com/syllogic-ai/syllogic/releases/tag/v1.0.0",demo:{hero:a("https://app.syllogic.ai/login?demo=1","hero_demo","landing","site"),start:a("https://app.syllogic.ai/login?demo=1","start_page_demo","landing","site"),feedback:a("https://app.syllogic.ai/login?demo=1","feedback_demo","github","issues")},railway:{hero:a("https://railway.com/deploy/syllogic?referralCode=25KFsK","hero_railway","landing","site"),install:a("https://railway.com/deploy/syllogic?referralCode=25KFsK","install_railway","landing","site"),readme:a("https://railway.com/deploy/syllogic?referralCode=25KFsK","readme_railway","github","readme")},issuesNew:{installHelp:"https://github.com/syllogic-ai/syllogic/issues/new?template=install_help.yml",demoFeedback:"https://github.com/syllogic-ai/syllogic/issues/new?template=demo_feedback.yml",featureRequest:"https://github.com/syllogic-ai/syllogic/issues/new?template=feature_request.yml"},startPath:"/start"},n=["One-click deploy from Railway template","Auto-scaling with zero config","Managed PostgreSQL + Redis included","Custom domain with SSL","Environment variable management"],i=["Full control over infrastructure","Run on any VPS or homelab","Docker Compose for all services"],c=[{name:"frontend",stack:"Next.js 16",description:"UI, authentication, and all data operations via server actions."},{name:"backend",stack:"FastAPI + Celery",description:"AI categorization pipeline and scheduled background jobs."},{name:"postgres",stack:"PostgreSQL 16",description:"Shared database â the single source of truth for all your data."},{name:"redis",stack:"Redis 7",description:"Job queue and cache for async task processing."}],d="curl -fsSL https://github.com/syllogic-ai/syllogic/releases/latest/download/install.sh | sudo bash";function u(){return(0,t.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"square",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"0"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function m(){return(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"square",children:(0,t.jsx)("polyline",{points:"20 6 9 17 4 12"})})}function p(){let[e,o]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"flex items-stretch gap-0",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 px-4 py-3 overflow-x-auto",style:{backgroundColor:"rgba(255,255,255,0.03)",border:"1px solid var(--color-border)",borderRight:"none"},children:[(0,t.jsxs)("span",{className:"font-mono text-xs whitespace-nowrap",style:{color:"var(--color-accent)"},children:["$"," "]}),(0,t.jsx)("span",{className:"font-mono text-xs whitespace-nowrap",style:{color:"var(--color-fg)"},children:d})]}),(0,t.jsx)("button",{onClick:function(){navigator.clipboard.writeText(d).then(()=>{o(!0),setTimeout(()=>
3o(!1),2e3)})},className:"flex items-center justify-center px-3 shrink-0 transition-colors",style:{backgroundColor:"rgba(255,255,255,0.03)",border:"1px solid var(--color-border)",color:e?"var(--color-accent)":"var(--color-muted)"},"aria-label":"Copy to clipboard",children:e?(0,t.jsx)(m,{}):(0,t.jsx)(u,{})})]})}function f(){return(0,t.jsxs)("section",{id:"install",className:"py-24 px-8 lg:px-24",style:{borderTop:"1px solid var(--color-border)"},children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-4 mb-8",children:[(0,t.jsx)("span",{className:"font-mono text-sm",style:{color:"var(--color-accent)"},children:"05"}),(0,t.jsx)("h2",{className:"font-display text-5xl",style:{color:"var(--color-fg)"},children:"INSTALL IN 10 MINUTES"})]}),(0,t.jsx)("p",{className:"font-mono text-sm leading-relaxed max-w-3xl mb-16",style:{color:"var(--color-muted)"},children:"Choose the path that matches how you like to run software. Start with the live demo, self-host with Docker, or use Railway when you want the quickest production path."}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-px",style:{backgroundColor:"var(--color-border)"},children:[(0,t.jsxs)("div",{className:"p-10",style:{backgroundColor:"var(--color-bg)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,t.jsx)("div",{className:"w-7 h-7 flex items-center justify-center text-xs font-mono",style:{border:"1px solid var(--color-accent)",color:"var(--color-accent)"},children:"R"}),(0,t.jsx)("h3",{className:"font-display text-3xl",style:{color:"var(--color-fg)"},children:"RAILWAY"})]}),(0,t.jsx)("p",{className:"font-mono text-sm leading-relaxed mb-8",style:{color:"var(--color-muted)"},children:"Fastest path to a working hosted stack. Use the published template, add your secrets, and validate the product before you commit to a longer self-hosted setup."}),(0,t.jsx)("ul",{className:"space-y-3 mb-10",children:n.map(e=>(0,t.jsxs)("li",{className:"flex items-start gap-3 font-mono text-sm",style:{color:"rgba(232,230,225,0.75)"},children:[(0,t.jsx)(s,{className:"-rotate-90 mt-1 shrink-0",size:8,style:{color:"var(--color-accent)"}}),e]},e))}),(0,t.jsxs)("a",{href:l.railway.install,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-6 py-3 font-mono text-sm uppercase tracking-widest transition-opacity hover:opacity-80",style:{backgroundColor:"var(--color-accent)",color:"var(--color-bg)"},children:["Deploy on Railway",(0,t.jsx)(s,{className:"-rotate-90",size:8})]})]}),(0,t.jsxs)("div",{className:"p-10",style:{backgroundColor:"var(--color-bg)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,t.jsx)("div",{className:"w-7 h-7 flex items-center justify-center text-xs font-mono",style:{border:"1px solid var(--color-border)",color:"var(--color-fg)"},children:"D"}),(0,t.jsx)("h3",{className:"font-display text-3xl",style:{color:"var(--color-fg)"},children:"DOCKER"})]}),(0,t.jsx)("p",{className:"font-mono text-sm leading-relaxed mb-8",style:{color:"var(--color-muted)"},children:"Self-host on your own machine, VPS, or homelab. Full control, no vendor lock-in, and a documented path from demo to production."}),(0,t.jsx)("ul",{className:"space-y-3 mb-8",children:i.map(e=>(0,t.jsxs)("li",{className:"flex items-start gap-3 font-mono text-sm",style:{color:"rgba(232,230,225,0.75)"},children:[(0,t.jsx)(s,{className:"-rotate-90 mt-1 shrink-0",size:8,style:{color:"var(--color-muted)"}}),e]},e))}),(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("p",{className:"font-mono text-xs uppercase tracking-widest mb-4",style:{color:"var(--color-muted)"},children:"Services"}),(0,t.jsx)("div",{className:"divide-y",style:{borderColor:"var(--color-border)"},children:c.map(e=>(0,t.jsxs)("div",{className:"py-3 grid grid-cols-[6rem_1fr] gap-4 items-start",style:{borderColor:"var(--color-border)"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-mono text-xs",style:{color:"var(--color-accent)"},children:e.name}),(0,t.jsx)("p",{className:"font-mono text-xs mt-0.5",style:{color:"var(--color-muted)"},children:e.stack})]}),(0,t.jsx)("p",{className:"font-mono text-xs leading-relaxed",style:{color:"rgba(232,230,225,0.6)"},children:e.description})]},e.name))})]}),(0,t.jsx)(p,{}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 mt-6",children:[(0,t.jsx)("a",{href:l.startPath,className:"inline-flex items-center gap-2 font-mono text-xs uppercase tracking-widest",style:{color:"var(--color-fg)"},children:"Read the quick-start guide"}),(0,t.jsx)("a",{href:l.demo.hero,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 font-mono text-xs uppercase tracking-widest",style:{color:"var(--color-muted)"},children:"Try the live demo first"})]})]})]})]})}e.s(["PrinciplesSection",()=>f],62879)},15408,e=>{"use strict";var t=e.i(5262),r=e.i(93373);let o=[{name:"Giannis Kotsakiachidis",initials:"GK",photo:"/images/giannis.jpg",title:"Solution Engineer",company:"Palm",linkedin:"https://www.linkedin.com/in/gianniskotsas/",t
3witter:"https://x.com/gianniskotsas",github:"https://github.com/gianniskotsas"},{name:"Kostas Krachtopoulos",initials:"KK",photo:"/images/kostas.jpg",title:"Data Science",company:"Booking.com",linkedin:"https://www.linkedin.com/in/konstantinoskrachtopoulos/",twitter:"https://x.com/thisiskostas",github:"https://github.com/kostaskracht"}];function s(){return(0,t.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"})})}function a(){return(0,t.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.742l7.73-8.835L1.254 2.25H8.08l4.259 5.63 5.905-5.63zm-1.161 17.52h1.833L7.084 4.126H5.117z"})})}function l(){return(0,t.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"})})}function n({photo:e,initials:o,name:s}){return(0,t.jsxs)("div",{className:"relative w-20 h-20 overflow-hidden",style:{border:"1px solid var(--color-border)"},children:[(0,t.jsx)(r.default,{src:e,alt:s,fill:!0,className:"object-cover object-top grayscale",onError:e=>{e.currentTarget.style.display="none";let t=e.currentTarget.nextElementSibling;t&&(t.style.display="flex")}}),(0,t.jsx)("div",{className:"absolute inset-0 items-center justify-center font-display text-2xl",style:{display:"none",backgroundColor:"rgba(255,255,255,0.03)",color:"var(--color-accent)"},children:o})]})}function i(){return(0,t.jsxs)("section",{id:"authors",className:"px-8 lg:px-24",style:{borderTop:"1px solid var(--color-border)"},children:[(0,t.jsxs)("div",{className:"py-24",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-4 mb-16",children:[(0,t.jsx)("span",{className:"font-mono text-sm",style:{color:"var(--color-accent)"},children:"08"}),(0,t.jsx)("h2",{className:"font-display text-5xl",style:{color:"var(--color-fg)"},children:"AUTHORS"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-px",style:{backgroundColor:"var(--color-border)"},children:o.map(e=>(0,t.jsxs)("div",{className:"p-8 flex flex-col gap-6",style:{backgroundColor:"var(--color-bg)"},children:[(0,t.jsx)(n,{photo:e.photo,initials:e.initials,name:e.name}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-display text-2xl mb-1",style:{color:"var(--color-fg)"},children:e.name.toUpperCase()}),(0,t.jsxs)("p",{className:"font-mono text-sm",style:{color:"var(--color-muted)"},children:[e.title,e.company&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("span",{style:{color:"var(--color-accent)"},children:"@"})," ",e.company]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-5",children:[(0,t.jsx)("a",{href:e.linkedin,target:"_blank",rel:"noopener noreferrer",className:"transition-colors",style:{color:"var(--color-muted)"},onMouseEnter:e=>e.currentTarget.style.color="var(--color-fg)",onMouseLeave:e=>e.currentTarget.style.color="var(--color-muted)","aria-label":"LinkedIn",children:(0,t.jsx)(s,{})}),(0,t.jsx)("a",{href:e.twitter,target:"_blank",rel:"noopener noreferrer",className:"transition-colors",style:{color:"var(--color-muted)"},onMouseEnter:e=>e.currentTarget.style.color="var(--color-fg)",onMouseLeave:e=>e.currentTarget.style.color="var(--color-muted)","aria-label":"X / Twitter",children:(0,t.jsx)(a,{})}),(0,t.jsx)("a",{href:e.github,target:"_blank",rel:"noopener noreferrer",className:"transition-colors",style:{color:"var(--color-muted)"},onMouseEnter:e=>e.currentTarget.style.color="var(--color-fg)",onMouseLeave:e=>e.currentTarget.style.color="var(--color-muted)","aria-label":"GitHub",children:(0,t.jsx)(l,{})})]})]},e.name))})]}),(0,t.jsxs)("div",{className:"py-8 flex flex-col md:flex-row items-start md:items-center justify-between gap-4",style:{borderTop:"1px solid var(--color-border)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)("span",{className:"font-display text-2xl",style:{color:"var(--color-fg)"},children:"SYLLOGIC"}),(0,t.jsx)("span",{className:"font-mono text-xs px-2 py-0.5",style:{border:"1px solid var(--color-border)",color:"var(--color-muted)"},children:"AGPL-3.0"})]}),(0,t.jsx)("p",{className:"font-mono text-xs",style:{color:"var(--color-muted)"},children:"Open source. Self-hosted. Your data, your rules."})]})]})}e.s(["AuthorsSection",()=>i],15408)}]);
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.