{"version":3,"file":"shared-lib.DaJFFikY.mjs","names":["getProps","React.forwardRef","React.useContext","React.useMemo","React.Fragment","QuestionMark","React.forwardRef","useRef","React.useId","clamp","useRef","OWNER","_Fragment","clamp","parseColor","useState","useRef"],"sources":["https:/framerusercontent.com/modules/IB5zXkr98p2X2ozDVUxf/s2BBSvtpUArg6QLESyAO/AjQXGkQtG.js","https:/framerusercontent.com/modules/QnS0HAqvjimw3OmEmGHC/j2N0Id8j00u2Djx3chnI/LT8m41UUh.js","https:/framerusercontent.com/modules/cBXGI3IR1cvNioiFhACO/5ftTiFPmgZkkYN2PPaQ3/Filmtext.js","https:/framerusercontent.com/modules/ag6dX8YzrRc6w76eszN3/aDxpHYvVRTF4EzP0IdB0/GrainOverlay.js","https:/framerusercontent.com/modules/YCmBUxzvAO6PHu9MebLx/oUmvvipj9s41TCIwXfXm/LiquidGrainHero.js","https:/framerusercontent.com/modules/1BwRWQoIwaUY8B1sY2GP/UahcleTEuWn91U84GlWu/siteMetadata.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 19.5 C 0.672 19.5 0 18.828 0 18 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 18 C 16.5 18.828 15.828 19.5 15 19.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"19.5px\" id=\"wR9OmJoPn\" transform=\"translate(3.75 2.25)\" width=\"16.5px\"/><path d=\"M 5.25 10.5 L 5.25 9 C 8.15 9 10.5 6.985 10.5 4.5 C 10.5 2.015 8.15 0 5.25 0 C 2.35 0 0 2.015 0 4.5\" fill=\"transparent\" height=\"10.5px\" id=\"OoB4WpSfR\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(6.75 4.5)\" width=\"10.5px\"/><path d=\"M 0 1.5 C 0 0.672 0.672 0 1.5 0 C 2.328 0 3 0.672 3 1.5 C 3 2.328 2.328 3 1.5 3 C 0.672 3 0 2.328 0 1.5 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"3px\" id=\"eY3BK1jLi\" transform=\"translate(10.5 18)\" width=\"3px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3270379688\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-EuS1Y\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-EuS1Y { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Question Mark\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-EuS1Y\");Icon.displayName=\"Question Mark\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Question Mark\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (9200abc)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Instance,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import QuestionMark from\"https://framerusercontent.com/modules/IB5zXkr98p2X2ozDVUxf/s2BBSvtpUArg6QLESyAO/AjQXGkQtG.js\";const cycleOrder=[\"UTsBGIgDa\",\"vyh2TXJHO\"];const serializationHash=\"framer-FfODP\";const variantClassNames={UTsBGIgDa:\"framer-v-1kkeevi\",vyh2TXJHO:\"framer-v-rkwwti\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const lr8SOtvT5=undefined;const DE3ESDRbP=undefined;const roz9Fh3lL=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Variant 1\":\"UTsBGIgDa\",\"Variant 2\":\"vyh2TXJHO\"};const Variants=motion.create(React.Fragment);const getProps=({click,height,icon,id,link,width,...props})=>{return{...props,DE3ESDRbP:link??props.DE3ESDRbP,lr8SOtvT5:click??props.lr8SOtvT5,roz9Fh3lL:icon??props.roz9Fh3lL??QuestionMark,variant:humanReadableVariantMap[props.variant]??props.variant??\"UTsBGIgDa\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,lr8SOtvT5,roz9Fh3lL,DE3ESDRbP,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"UTsBGIgDa\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapde9fu9=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(lr8SOtvT5){const res=await lr8SOtvT5(...args);if(res===false)return false;}});const onMouseEnter148hnld=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"vyh2TXJHO\");});const onMouseLeavelifatb=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"UTsBGIgDa\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:DE3ESDRbP,motionChild:true,nodeId:\"UTsBGIgDa\",openInNewTab:false,scopeId:\"LT8m41UUh\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,\"aria-label\":\"Open frequently asked questions\",className:`${cx(scopingClassNames,\"framer-1kkeevi\",className,classNames)} framer-1c58cyl`,\"data-border\":true,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,\"data-reset\":\"button\",layoutDependency:layoutDependency,layoutId:\"UTsBGIgDa\",onMouseEnter:onMouseEnter148hnld,onTap:onTapde9fu9,ref:refBinding,style:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"rgb(255, 255, 255)\",\"--border-left-width\":\"2px\",\"--border-right-width\":\"2px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,boxShadow:\"none\",...style},tabIndex:0,variants:{vyh2TXJHO:{boxShadow:\"0px 0px 4px 1px rgba(255, 255, 255, 0.25)\"}},...addPropertyOverrides({vyh2TXJHO:{\"data-framer-name\":\"Variant 2\",onMouseLeave:onMouseLeavelifatb}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Instance,{animated:true,className:\"framer-41g7r9\",Component:roz9Fh3lL,layoutDependency:layoutDependency,layoutId:\"DgHnn_0Th\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"rgb(255, 255, 255)\",\"--pgex8v\":2}})})})})})});});const css=[\".framer-FfODP.framer-1c58cyl, .framer-FfODP .framer-1c58cyl { display: block; }\",\".framer-FfODP.framer-1kkeevi { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 25px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 4px; position: relative; text-decoration: none; width: 25px; will-change: var(--framer-will-change-override, transform); }\",\".framer-FfODP .framer-41g7r9 { aspect-ratio: 1 / 1; flex: none; height: auto; position: relative; width: 16px; }\",\".framer-FfODP.framer-v-rkwwti.framer-1kkeevi { overflow: visible; will-change: unset; }\",'.framer-FfODP[data-border=\"true\"]::after, .framer-FfODP [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 25\n * @framerIntrinsicWidth 25\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"vyh2TXJHO\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"lr8SOtvT5\":\"click\",\"roz9Fh3lL\":\"icon\",\"DE3ESDRbP\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerVectorSets [\"omX0gWFPqDwhaiWwf6ab\"]\n */const FramerLT8m41UUh=withCSS(Component,css,\"framer-FfODP\");export default FramerLT8m41UUh;FramerLT8m41UUh.displayName=\"question mark\";FramerLT8m41UUh.defaultProps={height:25,width:25};addPropertyControls(FramerLT8m41UUh,{variant:{options:[\"UTsBGIgDa\",\"vyh2TXJHO\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},lr8SOtvT5:{title:\"Click\",type:ControlType.EventHandler},roz9Fh3lL:{defaultValue:{identifier:\"module:IB5zXkr98p2X2ozDVUxf/s2BBSvtpUArg6QLESyAO/AjQXGkQtG.js:default\",moduleId:\"IB5zXkr98p2X2ozDVUxf\"},setModuleId:\"omX0gWFPqDwhaiWwf6ab\",title:\"Icon\",type:ControlType.VectorSetItem},DE3ESDRbP:{title:\"Link\",type:ControlType.Link}});addFonts(FramerLT8m41UUh,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerLT8m41UUh\",\"slots\":[],\"annotations\":{\"framerVectorSets\":\"[\\\"omX0gWFPqDwhaiWwf6ab\\\"]\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"lr8SOtvT5\\\":\\\"click\\\",\\\"roz9Fh3lL\\\":\\\"icon\\\",\\\"DE3ESDRbP\\\":\\\"link\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"25\",\"framerIntrinsicWidth\":\"25\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"vyh2TXJHO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LT8m41UUh.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const OWNER=Symbol.for(\"filmText.owner\");/* -------------------------------------------------------------------------- *//* Grain source                                                               *//* -------------------------------------------------------------------------- */// One noise sheet, built once and shared by every instance on the page. Each\n// frame samples it at a random offset, which reads as fresh grain without\n// generating any.\nlet noiseSheet=null;function getNoiseSheet(){if(noiseSheet)return noiseSheet;const size=256;const canvas=document.createElement(\"canvas\");canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");if(!ctx)return null;const image=ctx.createImageData(size,size);const data=image.data;for(let i=0;i<data.length;i+=4){// Weighted toward mid grey so the grain sits in the image rather than\n// punching holes through it.\nconst v=(Math.random()+Math.random()+Math.random())/3;const level=40+v*175;data[i]=level;data[i+1]=level;data[i+2]=level;data[i+3]=90+Math.random()*90;}ctx.putImageData(image,0,0);noiseSheet=canvas;return noiseSheet;}function clamp(value,min=0,max=1){return value<min?min:value>max?max:value;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 720\n * @framerIntrinsicHeight 360\n */export default function FilmText(props){const canvasRef=useRef(null);const textRef=useRef(null);const burnRef=useRef(null);const propsRef=useRef(props);useLayoutEffect(()=>{propsRef.current=props;});useEffect(()=>{const canvas=canvasRef.current;const textNode=textRef.current;const burnNode=burnRef.current;if(!canvas||!textNode||!burnNode)return;// Only one loop may drive a given node. Framer re-runs effects on hot\n// reload and under StrictMode, and a leftover loop fighting the current\n// one over the same transform is a visible stutter.\nconst token={};canvas[OWNER]=token;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const sheet=getNoiseSheet();const pattern=sheet?ctx.createPattern(sheet,\"repeat\"):null;const reducedMotion=typeof window.matchMedia===\"function\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const state={width:0,height:0,needsResize:true,resizeAt:-Infinity,visible:true,lastFrame:-Infinity,weaveX:0,weaveY:0,slipUntil:0,slipOffset:0,scratches:[],phase:Math.random()*1e3,revealStartAt:-1,fadeStartAt:-1,revealSignature:\"\",fadeSignature:\"\"};const resize=()=>{const rect=canvas.getBoundingClientRect();if(rect.width<1||rect.height<1)return false;// Grain wants to be chunky. Rendering the overlay at roughly a third\n// of layout size costs a ninth of the fill and looks more like film\n// than a pixel-perfect version would.\nconst ratio=Math.min(.42,460/Math.max(rect.width,rect.height));const width=Math.max(16,Math.round(rect.width*ratio));const height=Math.max(16,Math.round(rect.height*ratio));if(width!==state.width||height!==state.height){state.width=width;state.height=height;canvas.width=width;canvas.height=height;}state.needsResize=false;return true;};/* ---------------------------------------------------------------- */// Gate weave: the film strip never sat perfectly still in the gate. Two\n// detuned sine pairs give drift that wanders without ever repeating on\n// an obvious beat.\nconst weaveAt=t=>{const x=Math.sin(t*81e-5)*.6+Math.sin(t*.0021+1.7)*.3+Math.sin(t*.0043+4.1)*.1;const y=Math.sin(t*62e-5+2.4)*.6+Math.sin(t*.0017+5.2)*.28+Math.sin(t*.0039+.6)*.12;return[x,y];};const drawFrame=(time,p)=>{const width=state.width;const height=state.height;if(width<2||height<2)return;/* --- text: transform and opacity only, never a repaint --- */const weaveAmount=p.weave/100*9;const[wx,wy]=weaveAt(time+state.phase);state.weaveX=wx*weaveAmount;state.weaveY=wy*weaveAmount*.7;// Frame slip: every so often the strip jumps a frame and settles.\nif(p.slip>0&&time>state.slipUntil&&Math.random()<p.slip/2400){state.slipUntil=time+90+Math.random()*120;state.slipOffset=(Math.random()<.5?-1:1)*(12+Math.random()*26);}let slip=0;if(time<state.slipUntil){const remaining=(state.slipUntil-time)/200;slip=state.slipOffset*clamp(remaining);}const offsetX=p.textXOffset||0;const offsetY=p.textYOffset||0;textNode.style.transform=`translate3d(${(offsetX+state.weaveX).toFixed(2)}px, ${(offsetY+state.weaveY+slip).toFixed(2)}px, 0)`;if(reducedMotion||p.textReveal===\"none\"){if(textNode.textContent!==p.text)textNode.textContent=p.text;state.revealSignature=\"\";state.revealStartAt=-1;}else{const safeDuration=Math.max(.01,p.textRevealDuration||2);const revealDurationMs=safeDuration*1e3;const revealSignature=`${p.text}__${p.textReveal}__${safeDuration}`;if(state.revealSignature!==revealSignature){state.revealSignature=revealSignature;state.revealStartAt=time;}const elapsed=Math.max(0,time-state.revealStartAt);const progress=clamp(elapsed/revealDurationMs);const charsToShow=Math.round(p.text.length*progress);const nextText=p.text.slice(0,charsToShow);if(textNode.textContent!==nextText){textNode.textContent=nextText;}}// Exposure flicker: mostly small variation with occasional dips, the\n// way an inconsistent shutter and aging stock actually behave.\nconst flickerAmount=p.flicker/100;let exposure=1;if(flickerAmount>0){const wobble=Math.sin(time*.021)*.35+Math.sin(time*.053)*.2;const dip=Math.random()<.06?Math.random()*.5:0;exposure=1-flickerAmount*(.18+wobble*.12+dip);}let appearOpacity=1;if(!reducedMotion&&p.fadeIn){const safeFadeDuration=Math.max(.01,p.fadeDuration||.8);const safeFadeDelay=Math.max(0,p.fadeDelay||0);const fadeSignature=`${p.fadeIn}__${safeFadeDuration}__${safeFadeDelay}`;if(state.fadeSignature!==fadeSignature){state.fadeSignature=fadeSignature;state.fadeStartAt=time;}const elapsed=Math.max(0,time-state.fadeStartAt-safeFadeDelay*1e3);appearOpacity=clamp(elapsed/(safeFadeDuration*1e3));}else{state.fadeSignature=\"\";state.fadeStartAt=-1;}textNode.style.opacity=clamp(exposure*appearOpacity,.15,1).toFixed(3);// Light burn: the bright pulse from a hot lamp or a thin frame.\nconst burnAmount=p.burn/100;let burn=0;if(burnAmount>0){const pulse=Math.sin(time*.0037)*.5+.5;burn=burnAmount*(pulse*.5+(Math.random()<.04?.5:0))*.28;}burnNode.style.opacity=clamp(burn).toFixed(3);/* --- overlay --- */ctx.setTransform(1,0,0,1,0,0);ctx.clearRect(0,0,width,height);if(pattern&&p.grain>0){const scale=clamp(p.grainScale/100,.4,2.5);ctx.globalAlpha=clamp(p.grain/100)*.62;ctx.save();// A random offset every frame turns one static sheet into\n// moving grain for the cost of a translate.\nctx.translate(-Math.random()*200,-Math.random()*200);ctx.scale(scale,scale);ctx.fillStyle=pattern;ctx.fillRect(0,0,width/scale*2,height/scale*2);ctx.restore();}/* --- scratches --- */// Capped, not just rate-limited. Without a ceiling on concurrent\n// scratches a high setting stacks them into something that reads as\n// a barcode rather than a worn print.\nconst maxScratches=1+Math.round(p.scratches/34);if(p.scratches>0&&state.scratches.length<maxScratches&&Math.random()<p.scratches/420){state.scratches.push({x:Math.random()*width,drift:(Math.random()-.5)*.5,life:3+Math.random()*40,age:0,alpha:.1+Math.random()*.3,width:Math.random()<.8?1:2,dark:Math.random()<.45,// Real scratches run a partial length and break irregularly.\n// Even segments look like road markings.\ntop:Math.random()<.5?0:Math.random()*.45,bottom:Math.random()<.5?1:.55+Math.random()*.45,gapAt:Math.random()<.35?.3+Math.random()*.4:-1,gapSize:.05+Math.random()*.1});}for(let i=state.scratches.length-1;i>=0;i--){const s=state.scratches[i];s.age++;s.x+=s.drift;if(s.age>s.life){state.scratches.splice(i,1);continue;}// Fade in and out rather than popping on.\nconst envelope=Math.sin(s.age/s.life*Math.PI);ctx.globalAlpha=s.alpha*envelope;ctx.fillStyle=s.dark?\"#000\":\"#fff\";if(s.gapAt<0){ctx.fillRect(s.x,s.top*height,s.width,(s.bottom-s.top)*height);}else{ctx.fillRect(s.x,s.top*height,s.width,(s.gapAt-s.top)*height);const resume=s.gapAt+s.gapSize;if(s.bottom>resume){ctx.fillRect(s.x,resume*height,s.width,(s.bottom-resume)*height);}}}/* --- dust and hairs --- */if(p.dust>0){const count=Math.random()*(p.dust/8)|0;for(let i=0;i<count;i++){ctx.globalAlpha=.2+Math.random()*.55;ctx.fillStyle=Math.random()<.6?\"#000\":\"#fff\";const x=Math.random()*width;const y=Math.random()*height;if(Math.random()<.16){// An occasional hair caught in the gate.\nctx.save();ctx.translate(x,y);ctx.rotate(Math.random()*Math.PI);ctx.fillRect(0,0,1,3+Math.random()*7);ctx.restore();}else{const size=Math.random()<.8?1:2;ctx.fillRect(x,y,size,size);}}}ctx.globalAlpha=1;};/* ---------------------------------------------------------------- */const observer=new ResizeObserver(()=>{state.resizeAt=performance.now();state.needsResize=true;});observer.observe(canvas);let intersection=null;if(typeof IntersectionObserver!==\"undefined\"){intersection=new IntersectionObserver(entries=>{state.visible=entries.some(entry=>entry.isIntersecting);},{rootMargin:\"140px\"});intersection.observe(canvas);}let frame=0;let drewStill=false;const loop=time=>{if(canvas[OWNER]!==token)return;frame=requestAnimationFrame(loop);const p=propsRef.current;if(!state.visible||document.hidden)return;if(state.needsResize&&time-state.resizeAt>120){if(!resize())return;drewStill=false;}else if(state.width<2){if(!resize())return;drewStill=false;}if(reducedMotion){if(!drewStill){drawFrame(0,p);const offsetX=p.textXOffset||0;const offsetY=p.textYOffset||0;textNode.style.transform=`translate3d(${offsetX.toFixed(2)}px, ${offsetY.toFixed(2)}px, 0)`;textNode.textContent=p.text;textNode.style.opacity=\"1\";burnNode.style.opacity=\"0\";drewStill=true;}return;}// Throttled to the film rate. The judder is the point.\nconst interval=1e3/clamp(p.fps,6,30);if(time-state.lastFrame+.5<interval)return;state.lastFrame=time;drawFrame(time,p);};frame=requestAnimationFrame(loop);return()=>{cancelAnimationFrame(frame);observer.disconnect();intersection?.disconnect();if(canvas[OWNER]===token)delete canvas[OWNER];};},[]);const justify=props.position===\"top\"?\"flex-start\":props.position===\"bottom\"?\"flex-end\":\"center\";const alignItems=props.align===\"left\"?\"flex-start\":props.align===\"right\"?\"flex-end\":\"center\";const halation=clamp(props.halation/100);const TextTag=props.semanticTag||\"div\";return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",...props.style,minWidth:1,minHeight:1,overflow:props.overflow,background:props.paper,userSelect:\"none\"},children:[/*#__PURE__*/_jsx(TextTag,{ref:textRef,\"aria-hidden\":props.decorative||undefined,role:props.decorative?\"presentation\":undefined,style:{position:\"absolute\",inset:0,margin:0,display:\"flex\",flexDirection:\"column\",justifyContent:justify,alignItems,padding:`${props.inset}%`,textAlign:props.align,color:props.ink,whiteSpace:\"pre-wrap\",willChange:\"transform, opacity\",// Halation is a static text-shadow, so it is rasterised once\n// and never recomputed while the text weaves and flickers.\ntextShadow:halation>.01?`0 0 ${(halation*26).toFixed(1)}px ${props.ink}`:\"none\",...props.font},children:props.text}),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{ref:burnRef,style:{position:\"absolute\",inset:0,background:`radial-gradient(ellipse at 50% 42%, #fff 0%, rgba(255,255,255,0) 68%)`,opacity:0,pointerEvents:\"none\"}}),props.vignette>.5&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:`radial-gradient(ellipse at 50% 50%, rgba(0,0,0,0) 42%, rgba(0,0,0,${(clamp(props.vignette/100)*.9).toFixed(3)}) 100%)`,pointerEvents:\"none\"}}),props.letterbox>.5&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,right:0,height:`${props.letterbox}%`,background:\"#000\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:0,left:0,right:0,height:`${props.letterbox}%`,background:\"#000\",pointerEvents:\"none\"}})]})]});}FilmText.defaultProps={text:\"THE END\",align:\"center\",position:\"middle\",textXOffset:0,textYOffset:0,textReveal:\"none\",textRevealDuration:2,fadeIn:false,fadeDuration:.8,fadeDelay:0,overflow:\"visible\",inset:8,ink:\"#F2E8D5\",paper:\"#14100C\",fps:18,weave:45,flicker:40,burn:30,grain:55,grainScale:100,scratches:40,dust:35,vignette:55,halation:25,slip:25,letterbox:0,semanticTag:\"div\",decorative:false,font:{fontSize:72,fontWeight:700,lineHeight:1.15,letterSpacing:\"0.14em\"}};addPropertyControls(FilmText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"THE END\",displayTextArea:true},semanticTag:{type:ControlType.Enum,title:\"Semantic Tag\",defaultValue:\"div\",options:[\"div\",\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"Generic\",\"Heading 1\",\"Heading 2\",\"Heading 3\",\"Paragraph\"]},decorative:{type:ControlType.Boolean,title:\"Decorative\",defaultValue:false},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:72,variant:\"Bold\",lineHeight:1.15,letterSpacing:\"0.14em\"}},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#F2E8D5\"},paper:{type:ControlType.Color,title:\"Paper\",defaultValue:\"#14100C\"},align:{type:ControlType.Enum,title:\"Horizontal Align\",defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true},position:{type:ControlType.Enum,title:\"Vertical Position\",defaultValue:\"middle\",options:[\"top\",\"middle\",\"bottom\"],optionTitles:[\"Top\",\"Middle\",\"Bottom\"],displaySegmentedControl:true},textReveal:{type:ControlType.Enum,title:\"Text Reveal\",defaultValue:\"none\",options:[\"none\",\"typewriter\"],optionTitles:[\"None\",\"Typewriter\"],displaySegmentedControl:true},textRevealDuration:{type:ControlType.Number,title:\"Reveal Duration\",defaultValue:2,min:.2,max:12,step:.1,unit:\"s\",hidden:({textReveal})=>textReveal!==\"typewriter\"},fadeIn:{type:ControlType.Boolean,title:\"Fade In\",defaultValue:false},fadeDuration:{type:ControlType.Number,title:\"Fade Duration\",defaultValue:.8,min:.1,max:8,step:.1,unit:\"s\",hidden:({fadeIn})=>!fadeIn},fadeDelay:{type:ControlType.Number,title:\"Fade Delay\",defaultValue:0,min:0,max:8,step:.1,unit:\"s\",hidden:({fadeIn})=>!fadeIn},overflow:{type:ControlType.Enum,title:\"Overflow\",defaultValue:\"visible\",options:[\"visible\",\"hidden\"],optionTitles:[\"Visible\",\"Hidden\"],displaySegmentedControl:true},textXOffset:{type:ControlType.Number,title:\"Text X Offset\",defaultValue:0,min:-300,max:300,step:1,unit:\"px\"},textYOffset:{type:ControlType.Number,title:\"Text Y Offset\",defaultValue:0,min:-300,max:300,step:1,unit:\"px\"},inset:{type:ControlType.Number,title:\"Inset\",defaultValue:8,min:0,max:40,step:1,unit:\"%\"},fps:{type:ControlType.Number,title:\"Film Rate\",defaultValue:18,min:6,max:30,step:1,unit:\"fps\",description:\"16-18 reads as silent era, 24 as modern projection\"},weave:{type:ControlType.Number,title:\"Gate Weave\",defaultValue:45,min:0,max:100,step:1,unit:\"%\"},flicker:{type:ControlType.Number,title:\"Flicker\",defaultValue:40,min:0,max:100,step:1,unit:\"%\"},burn:{type:ControlType.Number,title:\"Light Burn\",defaultValue:30,min:0,max:100,step:1,unit:\"%\"},slip:{type:ControlType.Number,title:\"Frame Slip\",defaultValue:25,min:0,max:100,step:1,unit:\"%\"},grain:{type:ControlType.Number,title:\"Grain\",defaultValue:55,min:0,max:100,step:1,unit:\"%\"},grainScale:{type:ControlType.Number,title:\"Grain Size\",defaultValue:100,min:40,max:250,step:5,unit:\"%\"},scratches:{type:ControlType.Number,title:\"Scratches\",defaultValue:40,min:0,max:100,step:1,unit:\"%\"},dust:{type:ControlType.Number,title:\"Dust\",defaultValue:35,min:0,max:100,step:1,unit:\"%\"},halation:{type:ControlType.Number,title:\"Halation\",defaultValue:25,min:0,max:100,step:1,unit:\"%\"},vignette:{type:ControlType.Number,title:\"Vignette\",defaultValue:55,min:0,max:100,step:1,unit:\"%\"},letterbox:{type:ControlType.Number,title:\"Letterbox\",defaultValue:0,min:0,max:25,step:1,unit:\"%\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FilmText\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"720\",\"framerIntrinsicHeight\":\"360\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Filmtext.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";function clamp(value,min=0,max=1){return Math.min(max,Math.max(min,value));}function parseColor(value){const color=value.trim();if(color.startsWith(\"#\")){const hex=color.slice(1);if(hex.length===3||hex.length===4){return[parseInt(hex[0]+hex[0],16),parseInt(hex[1]+hex[1],16),parseInt(hex[2]+hex[2],16)];}if(hex.length===6||hex.length===8){return[parseInt(hex.slice(0,2),16),parseInt(hex.slice(2,4),16),parseInt(hex.slice(4,6),16)];}}const rgb=color.match(/rgba?\\(\\s*([\\d.]+)[,\\s]+([\\d.]+)[,\\s]+([\\d.]+)/i);return rgb?[Number(rgb[1]),Number(rgb[2]),Number(rgb[3])]:[0,0,0];}function mulberry32(seed){let state=seed>>>0;return()=>{state+=1831565813;let value=state;value=Math.imul(value^value>>>15,value|1);value^=value+Math.imul(value^value>>>7,value|61);return((value^value>>>14)>>>0)/4294967296;};}function mix(a,b,amount){return a+(b-a)*amount;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 800\n */export default function StaticGrainOverlay(props){const{amount,grainSize,contrast,balance,softness,darkColor,lightColor,character,blendMode,quality,seed,style}=props;const[texture,setTexture]=useState(\"\");const tileResolution={standard:256,high:512,ultra:1024}[quality];useEffect(()=>{let cancelled=false;// Generate after the current paint so changing Ultra settings does not\n// momentarily block Framer's properties panel.\nconst timer=window.setTimeout(()=>{const canvas=document.createElement(\"canvas\");canvas.width=tileResolution;canvas.height=tileResolution;const context=canvas.getContext(\"2d\");if(!context||cancelled)return;const image=context.createImageData(tileResolution,tileResolution);const pixels=image.data;const random=mulberry32(Math.max(1,Math.round(seed)));const dark=parseColor(darkColor);const light=parseColor(lightColor);const amplitude=contrast/100;const midpoint=balance/100;for(let offset=0;offset<pixels.length;offset+=4){let noise;if(character===\"uniform\"){noise=random()*2-1;}else if(character===\"speckle\"){const base=(random()+random()-1)*.42;const impulse=random();noise=impulse>.985?random()>.5?1:-1:base;}else{// Six samples approximate a natural Gaussian film-grain curve.\nnoise=(random()+random()+random()+random()+random()+random()-3)/3;}const shade=clamp(.5+noise*amplitude*.5+midpoint*.32);pixels[offset]=Math.round(mix(dark[0],light[0],shade));pixels[offset+1]=Math.round(mix(dark[1],light[1],shade));pixels[offset+2]=Math.round(mix(dark[2],light[2],shade));pixels[offset+3]=255;}context.putImageData(image,0,0);if(!cancelled)setTexture(canvas.toDataURL(\"image/png\"));},0);return()=>{cancelled=true;window.clearTimeout(timer);};},[tileResolution,contrast,balance,darkColor,lightColor,character,seed]);return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",role:\"presentation\",style:{position:\"relative\",width:\"100%\",height:\"100%\",...style,minWidth:1,minHeight:1,overflow:\"hidden\",pointerEvents:\"none\",userSelect:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:softness>0?-4:0,backgroundImage:texture?`url(${texture})`:undefined,backgroundRepeat:\"repeat\",backgroundPosition:\"0 0\",backgroundSize:`${tileResolution*grainSize}px ${tileResolution*grainSize}px`,mixBlendMode:blendMode,opacity:clamp(amount/100),filter:softness>0?`blur(${softness}px)`:undefined,transform:\"translateZ(0)\",willChange:\"auto\"}})});}StaticGrainOverlay.defaultProps={amount:14,grainSize:1,contrast:115,balance:0,softness:0,darkColor:\"#000000\",lightColor:\"#FFFFFF\",character:\"film\",blendMode:\"soft-light\",quality:\"high\",seed:3471};addPropertyControls(StaticGrainOverlay,{amount:{type:ControlType.Number,title:\"Amount\",defaultValue:14,min:0,max:100,step:1,unit:\"%\"},grainSize:{type:ControlType.Number,title:\"Grain Size\",defaultValue:1,min:.35,max:4,step:.05,unit:\"\\xd7\"},contrast:{type:ControlType.Number,title:\"Contrast\",defaultValue:115,min:0,max:250,step:1,unit:\"%\"},balance:{type:ControlType.Number,title:\"Balance\",defaultValue:0,min:-100,max:100,step:1},softness:{type:ControlType.Number,title:\"Softness\",defaultValue:0,min:0,max:2,step:.05,unit:\"px\"},darkColor:{type:ControlType.Color,title:\"Dark Grain\",defaultValue:\"#000000\"},lightColor:{type:ControlType.Color,title:\"Light Grain\",defaultValue:\"#FFFFFF\"},character:{type:ControlType.Enum,title:\"Character\",defaultValue:\"film\",options:[\"film\",\"uniform\",\"speckle\"],optionTitles:[\"Film\",\"Uniform\",\"Speckle\"],displaySegmentedControl:true},blendMode:{type:ControlType.Enum,title:\"Blend\",defaultValue:\"soft-light\",options:[\"soft-light\",\"overlay\",\"multiply\",\"screen\",\"normal\"],optionTitles:[\"Soft Light\",\"Overlay\",\"Multiply\",\"Screen\",\"Normal\"]},quality:{type:ControlType.Enum,title:\"Quality\",defaultValue:\"high\",options:[\"standard\",\"high\",\"ultra\"],optionTitles:[\"Standard\",\"High\",\"Ultra\"],displaySegmentedControl:true},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:3471,min:1,max:9999,step:1,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StaticGrainOverlay\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"800\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GrainOverlay.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useLayoutEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const TAU=Math.PI*2;const BLOB_COUNT=7;const MAX_SATELLITES=10;// Long edge of the compute buffer. Everything above this is upscaling.\nconst QUALITY_EDGE={low:170,medium:240,high:330};// Only one animation loop may own a canvas. Framer's design canvas re-runs\n// effects on hot reload and under StrictMode; a leftover loop drawing to the\n// same node with its own phase is what makes a background appear to flicker\n// between two states.\nconst OWNER=Symbol.for(\"liquidHeatmap.owner\");/* -------------------------------------------------------------------------- *//* Lookup tables                                                              *//* -------------------------------------------------------------------------- */// Math.sin is called five times per pixel for the domain warp. At 40k pixels\n// and 60fps that is 12 million trigonometric calls a second, which a table\n// turns into 12 million array reads instead.\nconst SIN_STEPS=4096;const SIN_MASK=SIN_STEPS-1;const SIN_SCALE=SIN_STEPS/TAU;const SIN_TABLE=new Float32Array(SIN_STEPS);for(let i=0;i<SIN_STEPS;i++){SIN_TABLE[i]=Math.sin(i/SIN_STEPS*TAU);}const COS_OFFSET=Math.round(SIN_STEPS/4);function clamp(value,min=0,max=1){return value<min?min:value>max?max:value;}function smoothstep(edge0,edge1,value){const t=clamp((value-edge0)/(edge1-edge0));return t*t*(3-2*t);}/* -------------------------------------------------------------------------- *//* Colour                                                                     *//* -------------------------------------------------------------------------- */function parseColor(value){const color=(value||\"\").trim();if(color.charCodeAt(0)===35){const hex=color.slice(1);if(hex.length===3||hex.length===4){return[parseInt(hex[0]+hex[0],16),parseInt(hex[1]+hex[1],16),parseInt(hex[2]+hex[2],16)];}if(hex.length>=6){return[parseInt(hex.slice(0,2),16),parseInt(hex.slice(2,4),16),parseInt(hex.slice(4,6),16)];}}const rgb=color.match(/rgba?\\(\\s*([\\d.]+)[,\\s]+([\\d.]+)[,\\s]+([\\d.]+)/i);return rgb?[Number(rgb[1]),Number(rgb[2]),Number(rgb[3])]:[0,0,0];}const STOPS=[0,.16,.29,.42,.57,.76,1];// Saturation and contrast are baked into the ramp rather than applied per pixel.\n// 256 entries built on a colour change, versus 40k adjustments every frame.\nfunction buildRamp(colors,saturation,contrast,target){const rgb=colors.map(parseColor);for(let i=0;i<256;i++){const v=i/255;let seg=0;while(seg<STOPS.length-2&&v>STOPS[seg+1])seg++;const t=smoothstep(STOPS[seg],STOPS[seg+1],v);const a=rgb[seg];const b=rgb[seg+1];let r=a[0]+(b[0]-a[0])*t;let g=a[1]+(b[1]-a[1])*t;let bl=a[2]+(b[2]-a[2])*t;const luma=r*.2126+g*.7152+bl*.0722;r=luma+(r-luma)*saturation;g=luma+(g-luma)*saturation;bl=luma+(bl-luma)*saturation;r=(r-128)*contrast+128;g=(g-128)*contrast+128;bl=(bl-128)*contrast+128;target[i*3]=clamp(r,0,255);target[i*3+1]=clamp(g,0,255);target[i*3+2]=clamp(bl,0,255);}}/* -------------------------------------------------------------------------- *//* Seeded layout                                                              *//* -------------------------------------------------------------------------- */function rnd(id,channel,seed){const x=Math.sin(id*37.17+channel*113.91+seed*.173)*43758.5453;return x-Math.floor(x);}function buildLayout(seed){const L={baseX:new Float32Array(BLOB_COUNT),baseY:new Float32Array(BLOB_COUNT),orbitX:new Float32Array(BLOB_COUNT),orbitY:new Float32Array(BLOB_COUNT),phaseX:new Float32Array(BLOB_COUNT),phaseY:new Float32Array(BLOB_COUNT),harmonic:new Float32Array(BLOB_COUNT),radius:new Float32Array(BLOB_COUNT),stretch:new Float32Array(BLOB_COUNT),weight:new Float32Array(BLOB_COUNT),spin:new Float32Array(BLOB_COUNT),spinAmount:new Float32Array(BLOB_COUNT),satParent:new Int32Array(MAX_SATELLITES),satPhaseX:new Float32Array(MAX_SATELLITES),satPhaseY:new Float32Array(MAX_SATELLITES),satHarmonic:new Float32Array(MAX_SATELLITES),satOrbitX:new Float32Array(MAX_SATELLITES),satOrbitY:new Float32Array(MAX_SATELLITES),satRadius:new Float32Array(MAX_SATELLITES),satShift:new Float32Array(MAX_SATELLITES),satDepth:new Float32Array(MAX_SATELLITES)};for(let i=0;i<BLOB_COUNT;i++){L.baseX[i]=(rnd(i,1,seed)-.5)*.72;L.baseY[i]=(rnd(i,2,seed)-.5)*.58;L.orbitX[i]=.1+rnd(i,3,seed)*.32;L.orbitY[i]=.08+rnd(i,4,seed)*.27;L.phaseX[i]=rnd(i,7,seed)*TAU;L.phaseY[i]=rnd(i,8,seed)*TAU;L.harmonic[i]=i%3===0?2:1;L.radius[i]=.22+rnd(i,5,seed)*.2;L.stretch[i]=.72+rnd(i,6,seed)*.95;L.weight[i]=.78+rnd(i,9,seed)*.55;L.spin[i]=rnd(i,7,seed)*TAU*.35;L.spinAmount[i]=i%2===0?.42:-.34;}for(let i=0;i<MAX_SATELLITES;i++){const s=i+20;L.satParent[i]=i%BLOB_COUNT;L.satPhaseX[i]=rnd(s,1,seed)*TAU;L.satPhaseY[i]=rnd(s,2,seed)*TAU;L.satHarmonic[i]=1+Math.floor(rnd(s,3,seed)*3);L.satOrbitX[i]=.45+rnd(s,4,seed)*.9;L.satOrbitY[i]=.35+rnd(s,5,seed)*.75;L.satRadius[i]=.16+rnd(s,6,seed)*.2;L.satShift[i]=.025+rnd(s,7,seed)*.06;L.satDepth[i]=.5+rnd(s,8,seed)*.42;}return L;}/* -------------------------------------------------------------------------- *//* Grain                                                                      *//* -------------------------------------------------------------------------- */// Grain lives in a tiled overlay rather than the pixel loop. At buffer\n// resolution it would be upscaled into visible blotches, and at output\n// resolution it would cost a second full-size pass every frame. A static tile\n// costs nothing after the first paint.\nlet grainTile=null;function getGrainTile(){if(grainTile)return grainTile;if(typeof document===\"undefined\")return\"\";const size=128;const canvas=document.createElement(\"canvas\");canvas.width=size;canvas.height=size;const ctx=canvas.getContext(\"2d\");if(!ctx)return\"\";const image=ctx.createImageData(size,size);for(let i=0;i<image.data.length;i+=4){const light=Math.random()<.5;const value=light?255:0;image.data[i]=value;image.data[i+1]=value;image.data[i+2]=value;image.data[i+3]=Math.random()*90;}ctx.putImageData(image,0,0);grainTile=canvas.toDataURL(\"image/png\");return grainTile;}/* -------------------------------------------------------------------------- *//* Component                                                                  *//* -------------------------------------------------------------------------- *//**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 800\n */export default function LiquidHeatmapBackground(props){const canvasRef=useRef(null);// Props are read through a ref inside the loop, so the loop is created once\n// and a slider never restarts it.\nconst propsRef=useRef(props);useLayoutEffect(()=>{propsRef.current=props;});useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const token={};canvas[OWNER]=token;const view=canvas.getContext(\"2d\",{alpha:false});if(!view)return;const buffer=document.createElement(\"canvas\");const bufferCtx=buffer.getContext(\"2d\",{alpha:false});if(!bufferCtx)return;const ramp=new Uint8Array(256*3);let rampKey=\"\";let layout=buildLayout(propsRef.current.seed);let layoutSeed=propsRef.current.seed;let image=null;const centerX=new Float32Array(BLOB_COUNT);const centerY=new Float32Array(BLOB_COUNT);const invRadiusX=new Float32Array(BLOB_COUNT);const invRadiusY=new Float32Array(BLOB_COUNT);const spinCos=new Float32Array(BLOB_COUNT);const spinSin=new Float32Array(BLOB_COUNT);const satX=new Float32Array(MAX_SATELLITES);const satY=new Float32Array(MAX_SATELLITES);const satCoreX=new Float32Array(MAX_SATELLITES);const satCoreY=new Float32Array(MAX_SATELLITES);const satInvX=new Float32Array(MAX_SATELLITES);const satInvY=new Float32Array(MAX_SATELLITES);const blobList=new Int32Array(BLOB_COUNT);const satelliteList=new Int32Array(MAX_SATELLITES);const state={width:0,height:0,viewWidth:0,viewHeight:0,edge:0,scale:1,cost:8,adjustAt:0,resizeAt:-Infinity,needsResize:true,visible:true,drewOnce:false,duration:0,offset:0,sign:1,lastTime:-1,rect:null,targetX:0,targetY:0,targetOn:0,pointerX:0,pointerY:0,pointerOn:0};const reducedMotion=typeof window.matchMedia===\"function\"&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;/* ---------------------------------------------------------------- */const resize=()=>{const rect=canvas.getBoundingClientRect();if(rect.width<1||rect.height<1)return false;state.rect=rect;const p=propsRef.current;const target=QUALITY_EDGE[p.quality]??QUALITY_EDGE.medium;const edge=Math.max(60,Math.round(target*state.scale));const ratio=Math.min(1,edge/Math.max(rect.width,rect.height));const width=Math.max(8,Math.round(rect.width*ratio));const height=Math.max(8,Math.round(rect.height*ratio));if(width!==state.width||height!==state.height){state.width=width;state.height=height;buffer.width=width;buffer.height=height;image=bufferCtx.createImageData(width,height);const data=image.data;for(let i=3;i<data.length;i+=4)data[i]=255;}// The visible canvas sits between the buffer and the layout size.\n// Two gentle bilinear steps read smoother than one hard one.\nconst viewWidth=Math.max(16,Math.min(Math.round(rect.width),width*3));const viewHeight=Math.max(16,Math.min(Math.round(rect.height),height*3));if(viewWidth!==state.viewWidth||viewHeight!==state.viewHeight){state.viewWidth=viewWidth;state.viewHeight=viewHeight;canvas.width=viewWidth;canvas.height=viewHeight;}state.edge=target;state.needsResize=false;state.drewOnce=false;return true;};/* ---------------------------------------------------------------- */const compute=(theta,p)=>{const width=state.width;const height=state.height;if(!image||width<2||height<2)return;if(p.seed!==layoutSeed){layout=buildLayout(p.seed);layoutSeed=p.seed;}const key=p.deepBlue+p.purple+p.pink+p.red+p.orange+p.yellow+p.highlight+p.saturation+p.contrast;if(key!==rampKey){rampKey=key;buildRamp([p.deepBlue,p.purple,p.pink,p.red,p.orange,p.yellow,p.highlight],p.saturation/100,p.contrast/100,ramp);}const aspect=width/height;const centerScale=Math.min(1.15,aspect);const blobScale=(.62+p.blobScale/155)*1.45;const warpAmount=p.warp/100*.22;const nesting=p.nesting/100;const satelliteCount=clamp(Math.round(p.innerBlobs),0,MAX_SATELLITES);const soft=clamp(p.softness/100);const sinT=Math.sin(theta);const cosT=Math.cos(theta);const horizontal=p.direction===\"horizontal\";const vertical=p.direction===\"vertical\";// Per-blob geometry is resolved once per frame, not once per pixel.\nfor(let i=0;i<BLOB_COUNT;i++){let cx;let cy;if(horizontal){cx=layout.baseX[i]+Math.sin(theta+layout.phaseX[i])*layout.orbitX[i]*1.55;cy=layout.baseY[i]+Math.sin(theta*2+layout.phaseY[i])*layout.orbitY[i]*.35;}else if(vertical){cx=layout.baseX[i]+Math.sin(theta*2+layout.phaseX[i])*layout.orbitX[i]*.35;cy=layout.baseY[i]+Math.sin(theta+layout.phaseY[i])*layout.orbitY[i]*1.55;}else{const h=layout.harmonic[i];cx=layout.baseX[i]+Math.cos(theta*h+layout.phaseX[i])*layout.orbitX[i];cy=layout.baseY[i]+Math.sin(theta*h+layout.phaseY[i])*layout.orbitY[i];}centerX[i]=cx*centerScale;centerY[i]=cy;const radius=layout.radius[i]*blobScale;const stretch=layout.stretch[i];const rx=radius*stretch;const ry=radius/Math.sqrt(stretch);invRadiusX[i]=1/(rx*rx);invRadiusY[i]=1/(ry*ry);const rotation=layout.spin[i]+Math.sin(theta+layout.phaseY[i])*layout.spinAmount[i];spinCos[i]=Math.cos(rotation);spinSin[i]=Math.sin(rotation);}for(let i=0;i<satelliteCount;i++){const parent=layout.satParent[i];const travel=layout.radius[parent]*blobScale;const stretch=layout.stretch[parent];const h=layout.satHarmonic[i];const ox=Math.cos(theta*h+layout.satPhaseX[i])*travel*layout.satOrbitX[i];const oy=Math.sin(theta*h+layout.satPhaseY[i])*travel*layout.satOrbitY[i];satX[i]=centerX[parent]+ox*centerScale;satY[i]=centerY[parent]+oy;const r=travel*layout.satRadius[i];const rx=r*stretch;const ry=r/Math.sqrt(stretch);satInvX[i]=1/(rx*rx);satInvY[i]=1/(ry*ry);const shift=layout.satShift[i];satCoreX[i]=satX[i]+Math.sin(theta+layout.satPhaseX[i])*shift;satCoreY[i]=satY[i]+Math.cos(theta+layout.satPhaseY[i])*shift;}// Pointer influence, resolved to buffer space.\nconst mode=p.interactionMode;const pointerOn=p.interactive&&!reducedMotion?state.pointerOn:0;const pointerRadius=.06+p.interactionRadius/100*.5;const pointerFalloff=1/(pointerRadius*pointerRadius*2.6);const pointerForce=p.interactionStrength/100*pointerOn;const displace=mode===\"push\"?.16:mode===\"pull\"?-.16:0;const heat=mode===\"heat\"?1.45:0;const px0=state.pointerX;const py0=state.pointerY;const pointerActive=pointerForce>.001;const data=image.data;const invW=1/width;const invH=1/height;const weight=layout.weight;const satDepth=layout.satDepth;// Tile culling. Most pixels sit inside two or three shapes, but a\n// flat loop tests all seventeen for every one of them. Per 32x32\n// tile, list only the shapes that can reach it - padded by the\n// largest displacement the warp and pointer can introduce, so a\n// shape is never culled out of a pixel that ends up inside it.\nconst TILE=32;const margin=warpAmount*1.05+(pointerActive?.16:0);for(let tileY=0;tileY<height;tileY+=TILE){const tileY1=tileY+TILE<height?tileY+TILE:height;const yHigh=.5-tileY*invH+margin;const yLow=.5-tileY1*invH-margin;const midY=(yHigh+yLow)*.5;const halfY=(yHigh-yLow)*.5;for(let tileX=0;tileX<width;tileX+=TILE){const tileX1=tileX+TILE<width?tileX+TILE:width;const xLow=(tileX*invW-.5)*aspect-margin;const xHigh=(tileX1*invW-.5)*aspect+margin;const midX=(xLow+xHigh)*.5;const halfX=(xHigh-xLow)*.5;let blobs=0;for(let i=0;i<BLOB_COUNT;i++){const reach=1/Math.sqrt(Math.min(invRadiusX[i],invRadiusY[i]));const gx=Math.abs(centerX[i]-midX)-halfX;const gy=Math.abs(centerY[i]-midY)-halfY;const ex=gx>0?gx:0;const ey=gy>0?gy:0;if(ex*ex+ey*ey<reach*reach)blobList[blobs++]=i;}let satellites=0;for(let i=0;i<satelliteCount;i++){const reach=1/Math.sqrt(Math.min(satInvX[i],satInvY[i]));const gx=Math.abs(satX[i]-midX)-halfX;const gy=Math.abs(satY[i]-midY)-halfY;const ex=gx>0?gx:0;const ey=gy>0?gy:0;if(ex*ex+ey*ey<reach*reach){satelliteList[satellites++]=i;}}for(let row=tileY;row<tileY1;row++){const baseY=.5-row*invH;let index=(row*width+tileX)*4;for(let col=tileX;col<tileX1;col++){let x=(col*invW-.5)*aspect;let y=baseY;let extra=0;if(pointerActive){const dx=x-px0;const dy=y-py0;const k=1-(dx*dx+dy*dy)*pointerFalloff;if(k>0){const influence=k*k*pointerForce;if(displace!==0){// Scaled by the offset itself instead of a\n// normalised direction: same push, and no\n// square root in the per-pixel path.\nconst push=influence*displace*2.6;x+=dx*push;y+=dy*push;}else{extra=influence*heat;}}}// Domain warp. Table lookups stand in for sin and cos.\nconst s1=SIN_TABLE[((x*3.1-cosT)*SIN_SCALE|0)&SIN_MASK];const s2=SIN_TABLE[((y*4.3+cosT)*SIN_SCALE|0)&SIN_MASK];const waveA=SIN_TABLE[((y*7.2+sinT*1.6+s1)*SIN_SCALE|0)&SIN_MASK];const waveB=SIN_TABLE[(((x+y)*5.4-cosT*1.7)*SIN_SCALE|0)&SIN_MASK];const waveC=SIN_TABLE[((x*6.2-sinT*1.3+s2)*SIN_SCALE|0)+COS_OFFSET&SIN_MASK];const wx=x+warpAmount*(waveA*.66+waveB*.34);const wy=y+warpAmount*(waveC*.64-waveB*.36);let field=extra;for(let a=0;a<blobs;a++){const i=blobList[a];const dx=wx-centerX[i];const dy=wy-centerY[i];const rx=dx*spinCos[i]-dy*spinSin[i];const ry=dx*spinSin[i]+dy*spinCos[i];const q=rx*rx*invRadiusX[i]+ry*ry*invRadiusY[i];if(q<1){const k=1-q;field+=k*k*k*weight[i];}}for(let a=0;a<satellites;a++){const i=satelliteList[a];const depth=satDepth[i]*nesting;const dx=wx-satX[i];const dy=wy-satY[i];const q=dx*dx*satInvX[i]+dy*dy*satInvY[i];if(q<1){const k=1-q;field-=k*k*depth;}const cdx=wx-satCoreX[i];const cdy=wy-satCoreY[i];const cq=(cdx*cdx*satInvX[i]+cdy*cdy*satInvY[i])*4.2;if(cq<1){const k=1-cq;field+=k*k*depth*1.38;}}// Gain and knee tuned so the ramp is used evenly and\n// the highlight stays reserved for hot cores.\nlet heatValue=field*.7;heatValue=heatValue/(1+heatValue*.75);if(heatValue<0)heatValue=0;else if(heatValue>1)heatValue=1;if(soft>0){const t=heatValue;heatValue=t+soft*(t*t*(3-2*t)-t);}const offset=(heatValue*255|0)*3;data[index]=ramp[offset];data[index+1]=ramp[offset+1];data[index+2]=ramp[offset+2];index+=4;}}}}bufferCtx.putImageData(image,0,0);view.imageSmoothingEnabled=true;view.imageSmoothingQuality=\"high\";view.drawImage(buffer,0,0,state.viewWidth,state.viewHeight);state.drewOnce=true;};/* ---------------------------------------------------------------- */const readRect=()=>{state.rect=canvas.getBoundingClientRect();};const onPointerMove=event=>{if(reducedMotion||!propsRef.current.interactive){state.targetOn=0;return;}const rect=state.rect;if(!rect)return;const inside=event.clientX>=rect.left&&event.clientX<=rect.right&&event.clientY>=rect.top&&event.clientY<=rect.bottom;state.targetOn=inside?1:0;if(inside){const aspect=rect.width/Math.max(1,rect.height);state.targetX=((event.clientX-rect.left)/rect.width-.5)*aspect;state.targetY=.5-(event.clientY-rect.top)/rect.height;}};const onPointerOut=()=>{state.targetOn=0;};// The rect is cached and refreshed on scroll and resize rather than read\n// per pointer event. getBoundingClientRect forces layout, and doing that\n// on every mousemove is what makes interactive backgrounds feel heavy.\nwindow.addEventListener(\"pointermove\",onPointerMove,{passive:true});window.addEventListener(\"blur\",onPointerOut);window.addEventListener(\"scroll\",readRect,{passive:true,capture:true});const observer=new ResizeObserver(()=>{state.resizeAt=performance.now();state.needsResize=true;});observer.observe(canvas);let intersection=null;if(typeof IntersectionObserver!==\"undefined\"){intersection=new IntersectionObserver(entries=>{state.visible=entries.some(entry=>entry.isIntersecting);},{rootMargin:\"160px\"});intersection.observe(canvas);}/* ---------------------------------------------------------------- */let frame=0;const loop=time=>{if(canvas[OWNER]!==token)return;frame=requestAnimationFrame(loop);const p=propsRef.current;if(!state.visible||document.hidden){state.lastTime=time;return;}const target=QUALITY_EDGE[p.quality]??QUALITY_EDGE.medium;if(state.needsResize&&time-state.resizeAt>120){if(!resize())return;}else if(state.width<2||target!==state.edge){if(!resize())return;}const delta=state.lastTime<0?0:Math.min(80,time-state.lastTime);state.lastTime=time;// Pointer easing is normalised against elapsed time so the feel is\n// identical on a 60Hz and a 120Hz display.\nconst base=.12+clamp(p.interactionResponse/100)*.55;const ease=clamp(1-Math.pow(1-base,delta/16.667));if(!p.interactive)state.targetOn=0;state.pointerX+=(state.targetX-state.pointerX)*ease;state.pointerY+=(state.targetY-state.pointerY)*ease;state.pointerOn+=(state.targetOn-state.pointerOn)*ease;const still=reducedMotion||p.speed<=0;const settled=still&&state.drewOnce&&Math.abs(state.targetOn-state.pointerOn)<.002;if(settled)return;// Phase is a pure function of the timestamp, never accumulated. Two\n// loops on the same clock agree; two accumulators drift apart.\nconst sign=p.direction===\"counter\"?-1:1;let theta;if(still){theta=.17*TAU*sign;}else{const duration=18e3/Math.max(.05,p.speed);if(state.duration===0){state.duration=duration;state.sign=sign;}else if(duration!==state.duration||sign!==state.sign){const current=time/state.duration*state.sign+state.offset;state.duration=duration;state.sign=sign;state.offset=current-time/duration*sign;}const turns=time/duration*sign+state.offset;theta=(turns%1+1)%1*TAU;}const started=performance.now();compute(theta,p);const spent=performance.now()-started;state.cost=state.cost*.9+spent*.1;// Resolution follows the machine. A frame budget of ~11ms leaves\n// room for the browser's own work inside a 16.7ms frame.\nif(time-state.adjustAt>900){const previous=state.scale;if(state.cost>11&&state.scale>.45){state.scale=Math.max(.45,state.scale-.12);}else if(state.cost<4.5&&state.scale<1){state.scale=Math.min(1,state.scale+.08);}if(state.scale!==previous){state.needsResize=true;state.resizeAt=-Infinity;}state.adjustAt=time;}};readRect();frame=requestAnimationFrame(loop);return()=>{cancelAnimationFrame(frame);observer.disconnect();intersection?.disconnect();window.removeEventListener(\"pointermove\",onPointerMove);window.removeEventListener(\"blur\",onPointerOut);window.removeEventListener(\"scroll\",readRect,true);if(canvas[OWNER]===token)delete canvas[OWNER];};},[]);const grainOpacity=clamp(props.grain/100)*.5;return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",role:\"presentation\",style:{position:\"relative\",width:\"100%\",height:\"100%\",...props.style,minWidth:1,minHeight:1,overflow:\"hidden\",background:props.deepBlue,pointerEvents:\"none\",userSelect:\"none\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",opacity:clamp(props.opacity/100)}}),grainOpacity>.001&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(${getGrainTile()})`,backgroundRepeat:\"repeat\",opacity:grainOpacity,pointerEvents:\"none\"}})]});}LiquidHeatmapBackground.defaultProps={deepBlue:\"#0A1F7A\",purple:\"#5120A9\",pink:\"#E2229A\",red:\"#F23B32\",orange:\"#FF7A18\",yellow:\"#FFD829\",highlight:\"#FFF3A4\",speed:1,warp:58,blobScale:100,nesting:62,innerBlobs:6,softness:30,grain:18,saturation:122,contrast:108,opacity:100,direction:\"clockwise\",seed:1162,quality:\"medium\",interactive:true,interactionMode:\"push\",interactionStrength:70,interactionRadius:45,interactionResponse:85};addPropertyControls(LiquidHeatmapBackground,{deepBlue:{type:ControlType.Color,title:\"Deep Blue\",defaultValue:\"#0A1F7A\"},purple:{type:ControlType.Color,title:\"Purple\",defaultValue:\"#5120A9\"},pink:{type:ControlType.Color,title:\"Pink\",defaultValue:\"#E2229A\"},red:{type:ControlType.Color,title:\"Red\",defaultValue:\"#F23B32\"},orange:{type:ControlType.Color,title:\"Orange\",defaultValue:\"#FF7A18\"},yellow:{type:ControlType.Color,title:\"Yellow\",defaultValue:\"#FFD829\"},highlight:{type:ControlType.Color,title:\"Highlight\",defaultValue:\"#FFF3A4\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:0,max:3,step:.05,description:\"Zero holds a still frame\"},warp:{type:ControlType.Number,title:\"Warp\",defaultValue:58,min:0,max:100,step:1,unit:\"%\"},blobScale:{type:ControlType.Number,title:\"Blob Scale\",defaultValue:100,min:35,max:180,step:1,unit:\"%\"},nesting:{type:ControlType.Number,title:\"Nesting\",defaultValue:62,min:0,max:100,step:1,unit:\"%\"},innerBlobs:{type:ControlType.Number,title:\"Inner Blobs\",defaultValue:6,min:0,max:10,step:1,displayStepper:true},interactive:{type:ControlType.Boolean,title:\"Interactive\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},interactionMode:{type:ControlType.Enum,title:\"Pointer\",defaultValue:\"push\",options:[\"push\",\"pull\",\"heat\"],optionTitles:[\"Push\",\"Pull\",\"Heat\"],displaySegmentedControl:true,hidden:props=>!props.interactive},interactionStrength:{type:ControlType.Number,title:\"Force\",defaultValue:70,min:0,max:150,step:1,unit:\"%\",hidden:props=>!props.interactive},interactionRadius:{type:ControlType.Number,title:\"Reach\",defaultValue:45,min:5,max:100,step:1,unit:\"%\",hidden:props=>!props.interactive},interactionResponse:{type:ControlType.Number,title:\"Response\",defaultValue:85,min:0,max:100,step:1,unit:\"%\",hidden:props=>!props.interactive},softness:{type:ControlType.Number,title:\"Softness\",defaultValue:30,min:0,max:100,step:1,unit:\"%\"},grain:{type:ControlType.Number,title:\"Grain\",defaultValue:18,min:0,max:100,step:1,unit:\"%\"},saturation:{type:ControlType.Number,title:\"Saturation\",defaultValue:122,min:0,max:220,step:1,unit:\"%\"},contrast:{type:ControlType.Number,title:\"Contrast\",defaultValue:108,min:50,max:180,step:1,unit:\"%\"},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:100,min:0,max:100,step:1,unit:\"%\"},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"clockwise\",options:[\"clockwise\",\"counter\",\"horizontal\",\"vertical\"],optionTitles:[\"Clockwise\",\"Counter\",\"Horizontal\",\"Vertical\"]},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:1162,min:1,max:9999,step:1,displayStepper:true},quality:{type:ControlType.Enum,title:\"Quality\",defaultValue:\"medium\",options:[\"low\",\"medium\",\"high\"],optionTitles:[\"Low\",\"Medium\",\"High\"],displaySegmentedControl:true,description:\"Starting resolution; adapts down if frames run long\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LiquidHeatmapBackground\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"800\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LiquidGrainHero.map","// Generated by Framer (9200abc)\nexport default function metadata(params,activeLocale){return{description:\"A cinematic waitlist template for authors, publishers, and creative launches.\",robots:\"max-image-preview:large\",title:\"After Soon — Book Launch Waitlist\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}