{"version":3,"file":"LiquidGradient.ZYa_isdr.mjs","names":["getProps","React.forwardRef","Vector","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/vMkDrcXMQJdEOuz7fj8q/4mrqxKaxXKt7OA94adKr/t0oonzQxC.js","https:/framerusercontent.com/modules/3jtPEoW9JrfEPtMIirvP/6WfQQqFQpYH6EWLYSYJo/llAavOVmP.js","https:/framerusercontent.com/modules/7ooluYTVT4ydKKmtv9h1/cEwu4N3wCkoRLLGBgINN/e9Y5KLmzV.js","https:/framerusercontent.com/modules/QEytd7xyjUsL7yuVUzSs/O7s2vxltmhiskELYwyrY/LiquidGradient.js"],"sourcesContent":["// Generated by Framer (c54c588)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const OYSK92oBF=undefined;const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 13 12\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 6.667 0 L 6.667 1.666 L 8.334 1.666 L 8.334 3.333 L 10 3.333 L 10 5 L 0 5 L 0 6.666 L 10 6.666 L 10 8.333 L 8.334 8.333 L 8.334 10 L 6.667 10 L 6.667 11.666 L 8.334 11.666 L 8.334 10 L 10 10 L 10 8.333 L 11.667 8.333 L 11.667 6.666 L 13.334 6.666 L 13.334 5 L 11.667 5 L 11.667 3.333 L 10 3.333 L 10 1.666 L 8.334 1.666 L 8.334 0 Z\" fill=\"var(--eklfnv, var(--token-3c2f8bec-ff6a-4d68-8ab8-ea90f0017ea9, rgb(255, 255, 255)))\" height=\"11.666px\" id=\"jKSP9ZSps\" width=\"13.334000000000003px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,OYSK92oBF:fill??props.OYSK92oBF??\"var(--token-3c2f8bec-ff6a-4d68-8ab8-ea90f0017ea9, rgb(255, 255, 255))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,OYSK92oBF,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-S2zg3\",className),layoutId:layoutId,ref:ref,style:{\"--eklfnv\":OYSK92oBF,...style}});});const css=[`.framer-S2zg3 { -webkit-mask: ${mask}; aspect-ratio: 1.0833333333333333; background-color: var(--eklfnv); mask: ${mask}; width: 13px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 13\n * @framerIntrinsicHeight 12\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"OYSK92oBF\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Vector\",\"color\":{\"type\":\"variable\",\"value\":\"eklfnv\"},\"set\":{\"localId\":\"vectorSet/rX6my16Pu\",\"id\":\"rX6my16Pu\",\"moduleId\":\"NbCbf5io6RQepqFiVnvJ\"}}\n */const Icon=withCSS(Component,css,\"framer-S2zg3\");Icon.displayName=\"Vector\";export default Icon;addPropertyControls(Icon,{OYSK92oBF:{defaultValue:'var(--token-3c2f8bec-ff6a-4d68-8ab8-ea90f0017ea9, rgb(255, 255, 255)) /* {\"name\":\"White\"} */',hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"OYSK92oBF\\\":\\\"fill\\\"}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Vector\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"eklfnv\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/rX6my16Pu\\\",\\\"id\\\":\\\"rX6my16Pu\\\",\\\"moduleId\\\":\\\"NbCbf5io6RQepqFiVnvJ\\\"}}\",\"framerIntrinsicWidth\":\"13\",\"framerIntrinsicHeight\":\"12\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e0809aa)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import RollingText from\"https://framerusercontent.com/modules/aeEe477xpzEFqqaZhiTE/ltgP15qtviN0Ho7MrfaG/RollingText.js\";import Vector from\"https://framerusercontent.com/modules/vMkDrcXMQJdEOuz7fj8q/4mrqxKaxXKt7OA94adKr/t0oonzQxC.js\";const RollingTextFonts=getFonts(RollingText);const VectorFonts=getFonts(Vector);const enabledGestures={aWABgwDXd:{hover:true},nk6794DBD:{hover:true}};const cycleOrder=[\"nk6794DBD\",\"aWABgwDXd\"];const serializationHash=\"framer-53Vjd\";const variantClassNames={aWABgwDXd:\"framer-v-1r2eqtp\",nk6794DBD:\"framer-v-fj4oh8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const j7cYL0HN3=undefined;const KqVf5pOgb=undefined;const XbDZYbwtC=undefined;const Y4RXttTBC=undefined;const sQQCjW7at=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;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={Primary:\"nk6794DBD\",Secondary:\"aWABgwDXd\"};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,label,link,newTab,smoothScroll,width,...props})=>{return{...props,j7cYL0HN3:click??props.j7cYL0HN3,KqVf5pOgb:link??props.KqVf5pOgb,sQQCjW7at:label??props.sQQCjW7at??\"Book a call\",variant:humanReadableVariantMap[props.variant]??props.variant??\"nk6794DBD\",XbDZYbwtC:newTab??props.XbDZYbwtC??false,Y4RXttTBC:smoothScroll??props.Y4RXttTBC??false};};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,sQQCjW7at,KqVf5pOgb,XbDZYbwtC,Y4RXttTBC,j7cYL0HN3,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"nk6794DBD\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1mdaonu=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(j7cYL0HN3){const res=await j7cYL0HN3(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(gestureVariant===\"aWABgwDXd-hover\")return false;if(baseVariant===\"aWABgwDXd\")return false;return true;};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:KqVf5pOgb,motionChild:true,nodeId:\"nk6794DBD\",openInNewTab:XbDZYbwtC,scopeId:\"llAavOVmP\",smoothScroll:Y4RXttTBC,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-fj4oh8\",className,classNames)} framer-1aomg2k`,\"data-border\":true,\"data-framer-name\":\"Primary\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"nk6794DBD\",onTap:onTap1mdaonu,ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(255, 255, 255, 0.08)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(255, 255, 255, 0.06)\",borderBottomLeftRadius:6,borderBottomRightRadius:6,borderTopLeftRadius:6,borderTopRightRadius:6,...style},...addPropertyOverrides({\"aWABgwDXd-hover\":{\"data-framer-name\":undefined},\"nk6794DBD-hover\":{\"data-framer-name\":undefined},aWABgwDXd:{\"data-framer-name\":\"Secondary\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-38z2ml-container\",\"data-framer-name\":\"Fit\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"eohtLneTz-container\",name:\"Fit\",nodeId:\"eohtLneTz\",rendersWithMotion:true,scopeId:\"llAavOVmP\",children:/*#__PURE__*/_jsx(RollingText,{color:\"var(--token-3c2f8bec-ff6a-4d68-8ab8-ea90f0017ea9, rgb(255, 255, 255))\",font:{fontFamily:'\"Satoshi\", \"Satoshi Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0px\",lineHeight:\"16px\"},height:\"100%\",id:\"eohtLneTz\",layoutId:\"eohtLneTz\",name:\"Fit\",padding:\"0px\",reverse:false,stagger:20,state:\"Default\",style:{height:\"100%\"},tag:\"p\",text:sQQCjW7at,textTransform:\"uppercase\",transition:{bounce:0,delay:0,duration:.3,type:\"spring\"},variable:{optical:14,weight:550},width:\"100%\",...addPropertyOverrides({\"aWABgwDXd-hover\":{state:\"Roll\"},\"nk6794DBD-hover\":{state:\"Roll\"},aWABgwDXd:{font:{fontFamily:'\"Satoshi\", \"Satoshi Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0px\",lineHeight:\"22px\"}}},baseVariant,gestureVariant)})})}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1c21raz\",\"data-framer-name\":\"Icon\",layoutDependency:layoutDependency,layoutId:\"T0FdGV8ez\",children:/*#__PURE__*/_jsx(Vector,{animated:true,className:\"framer-6feuc8\",layoutDependency:layoutDependency,layoutId:\"zQkxUR_nh\",style:{\"--eklfnv\":\"var(--token-3c2f8bec-ff6a-4d68-8ab8-ea90f0017ea9, rgb(255, 255, 255))\"},transformTemplate:transformTemplate1})})]})})})})});});const css=[\".framer-53Vjd.framer-1aomg2k, .framer-53Vjd .framer-1aomg2k { display: block; }\",\".framer-53Vjd.framer-fj4oh8 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 8px 12px 8px 12px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-53Vjd .framer-38z2ml-container { -webkit-user-select: none; flex: none; height: 22px; position: relative; user-select: none; width: auto; }\",\".framer-53Vjd .framer-1c21raz { align-content: center; align-items: center; aspect-ratio: 1 / 1; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: auto; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 20px; }\",\".framer-53Vjd .framer-6feuc8 { aspect-ratio: 1.1666666666666667 / 1; flex: none; height: auto; left: 50%; position: absolute; top: 50%; width: 14px; z-index: 1; }\",\".framer-53Vjd.framer-v-1r2eqtp.framer-fj4oh8 { padding: 10px 12px 10px 12px; }\",\".framer-53Vjd.framer-v-fj4oh8.hover .framer-6feuc8 { left: 55%; }\",'.framer-53Vjd[data-border=\"true\"]::after, .framer-53Vjd [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 38\n * @framerIntrinsicWidth 139\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"aWABgwDXd\":{\"layout\":[\"auto\",\"auto\"]},\"aN4ngBkyx\":{\"layout\":[\"auto\",\"auto\"]},\"kzCcA0_0N\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"sQQCjW7at\":\"label\",\"KqVf5pOgb\":\"link\",\"XbDZYbwtC\":\"newTab\",\"Y4RXttTBC\":\"smoothScroll\",\"j7cYL0HN3\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerllAavOVmP=withCSS(Component,css,\"framer-53Vjd\");export default FramerllAavOVmP;FramerllAavOVmP.displayName=\"Button v1\";FramerllAavOVmP.defaultProps={height:38,width:139};addPropertyControls(FramerllAavOVmP,{variant:{options:[\"nk6794DBD\",\"aWABgwDXd\"],optionTitles:[\"Primary\",\"Secondary\"],title:\"Variant\",type:ControlType.Enum},sQQCjW7at:{defaultValue:\"Book a call\",title:\"Label\",type:ControlType.String},onsQQCjW7atChange:{changes:\"sQQCjW7at\",type:ControlType.ChangeHandler},KqVf5pOgb:{title:\"Link\",type:ControlType.Link},XbDZYbwtC:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean},onXbDZYbwtCChange:{changes:\"XbDZYbwtC\",type:ControlType.ChangeHandler},Y4RXttTBC:{defaultValue:false,title:\"Smooth Scroll\",type:ControlType.Boolean},onY4RXttTBCChange:{changes:\"Y4RXttTBC\",type:ControlType.ChangeHandler},j7cYL0HN3:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerllAavOVmP,[{explicitInter:true,fonts:[{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/P2LQKHE6KA6ZP4AAGN72KDWMHH6ZH3TA/ZC32TK2P7FPS5GFTL46EU6KQJA24ZYDB/7AHDUZ4A7LFLVFUIFSARGIWCRQJHISQP.woff2\",weight:\"500\"}]},...RollingTextFonts,...VectorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerllAavOVmP\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"aWABgwDXd\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"aN4ngBkyx\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"kzCcA0_0N\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"sQQCjW7at\\\":\\\"label\\\",\\\"KqVf5pOgb\\\":\\\"link\\\",\\\"XbDZYbwtC\\\":\\\"newTab\\\",\\\"Y4RXttTBC\\\":\\\"smoothScroll\\\",\\\"j7cYL0HN3\\\":\\\"click\\\"}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"38\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"139\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./llAavOVmP.map","// Generated by Framer (27c13c3)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Satoshi-medium\",\"FS;Satoshi-bold\",\"FS;Satoshi-bold italic\",\"FS;Satoshi-medium italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/P2LQKHE6KA6ZP4AAGN72KDWMHH6ZH3TA/ZC32TK2P7FPS5GFTL46EU6KQJA24ZYDB/7AHDUZ4A7LFLVFUIFSARGIWCRQJHISQP.woff2\",weight:\"500\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LAFFD4SDUCDVQEXFPDC7C53EQ4ZELWQI/PXCT3G6LO6ICM5I3NTYENYPWJAECAWDD/GHM6WVH6MILNYOOCXHXB5GTSGNTMGXZR.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/CDEBEFT2R7XKNGXSBBLZGMY4MMHZG75P/HEVKDGQCYDZ7Z6CDVR2ZQGBCTUD6ZARH/BKWEE3VKGTFABE37K2DTH625VUSN2N35.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NID3I7RITWZSKXRCJGOCMP5NOADJK6IG/2HLHGD7OBTWCOHW64YXOE5KFXHU4KJHM/ZHME2QIRFR7UPJ47NLY27RCAFY44CKZJ.woff2\",weight:\"500\"}]}];export const css=['.framer-yrHMp .framer-styles-preset-z6pfur:not(.rich-text-wrapper), .framer-yrHMp .framer-styles-preset-z6pfur.rich-text-wrapper p { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0px; --framer-line-height: 16px; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-3c2f8bec-ff6a-4d68-8ab8-ea90f0017ea9, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }'];export const className=\"framer-yrHMp\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Liquid Gradient\nimport{defineShader,ControlType}from\"framer\";export default defineShader({title:\"Liquid Gradient\",resolutionScale:\"consistent\",fragment:`\n// === CONSTANTS ===\nconst float GOLDEN_ANGLE = 2.3999632;\nconst float TAU = 6.28318530;\n\n// === PCG hash - https://www.jcgt.org/published/0009/03/02/\nuvec3 hash3(uvec3 v) {\n    v = v * 1664525u + 1013904223u;\n    v.x += v.y * v.z;\n    v.y += v.z * v.x;\n    v.z += v.x * v.y;\n    v ^= v >> 16u;\n    v.x += v.y * v.z;\n    v.y += v.z * v.x;\n    v.z += v.x * v.y;\n    return v;\n}\n\n// Seed\nvec3 seedRandom(float seedVal) {\n    uvec3 s = uvec3(\n        floatBitsToUint(seedVal),\n        floatBitsToUint(seedVal * 1.5 + 7.31),\n        floatBitsToUint(seedVal * 2.7 + 13.37)\n    );\n    s = hash3(s);\n    return vec3(s) / float(0xFFFFFFFFu);\n}\n\n// === COLOR SPACE UTILITIES ===\nvec3 toLinear(vec3 c) {\n    return pow(c, vec3(2.2));\n}\n\nvec3 toSrgb(vec3 c) {\n    return pow(clamp(c, 0.0, 1.0), vec3(0.4545));\n}\n\nvec3 linearToOklab(vec3 c) {\n    float l = 0.4122214708 * c.r + 0.5363325363 * c.g + 0.0514459929 * c.b;\n    float m = 0.2119034982 * c.r + 0.6806995451 * c.g + 0.1073969566 * c.b;\n    float s = 0.0883024619 * c.r + 0.2817188376 * c.g + 0.6299787005 * c.b;\n    \n    l = pow(max(l, 0.0), 1.0/3.0);\n    m = pow(max(m, 0.0), 1.0/3.0);\n    s = pow(max(s, 0.0), 1.0/3.0);\n    \n    return vec3(\n        0.2104542553 * l + 0.7936177850 * m - 0.0040720468 * s,\n        1.9779984951 * l - 2.4285922050 * m + 0.4505937099 * s,\n        0.0259040371 * l + 0.7827717662 * m - 0.8086757660 * s\n    );\n}\n\nvec3 oklabToLinear(vec3 c) {\n    float l = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z;\n    float m = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z;\n    float s = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z;\n    \n    l = l * l * l;\n    m = m * m * m;\n    s = s * s * s;\n    \n    return vec3(\n        +4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,\n        -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,\n        -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s\n    );\n}\n\nvec3 oklabToLch(vec3 lab) {\n    return vec3(lab.x, length(lab.yz), atan(lab.z, lab.y));\n}\n\nvec3 lchToOklab(vec3 lch) {\n    return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nvec3 mixLch(vec3 lab0, vec3 lab1, float t) {\n    vec3 lch0 = oklabToLch(lab0);\n    vec3 lch1 = oklabToLch(lab1);\n    \n    if (lch0.y < 0.05) lch0.z = lch1.z;\n    if (lch1.y < 0.05) lch1.z = lch0.z;\n    \n    float dh = lch1.z - lch0.z;\n    if (dh > 3.14159265) dh -= 6.28318530;\n    if (dh < -3.14159265) dh += 6.28318530;\n    \n    return lchToOklab(vec3(\n        mix(lch0.x, lch1.x, t),\n        mix(lch0.y, lch1.y, t),\n        lch0.z + dh * t\n    ));\n}\n\n// === PALETTE SAMPLING ===\nvec3 getColor(int idx) {\n    if (u_colors_length < 1) return vec3(0.0);\n    int safeIdx = clamp(idx, 0, u_colors_length - 1);\n    return u_colors[safeIdx].rgb;\n}\n\nvec3 paletteN(float t, int count) {\n    if (count < 1) return vec3(0.0);\n    if (count < 2) return toLinear(getColor(0));\n    \n    float segmentSize = 1.0 / float(count - 1);\n    t = clamp(t, 0.0, 1.0);\n    int idx = min(int(floor(t / segmentSize)), count - 2);\n    float localT = clamp((t - float(idx) * segmentSize) / segmentSize, 0.0, 1.0);\n    \n    vec3 lab0 = linearToOklab(toLinear(getColor(idx)));\n    vec3 lab1 = linearToOklab(toLinear(getColor(idx + 1)));\n    \n    return oklabToLinear(mixLch(lab0, lab1, localT));\n}\n\n// === DITHER ===\nfloat IGN(vec2 uv) {\n    return fract(52.9829189 * fract(dot(uv, vec2(0.06711056, 0.00583715))));\n}\n\nfloat quickNoise(vec2 I) {\n    return fract(sin(dot(I, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\n// Dither Mode: 0=Off, 1=IGN, 2=quickNoise\nfloat getDither(vec2 I, float mode) {\n    if (mode < 0.5) return 0.5;          // 0: Off\n    if (mode < 1.5) return IGN(I);       // 1: Smooth\n    return quickNoise(I);                // 2: Grain\n}\n\n// === POST-PROCESS ===\nvec3 softGamutMap(vec3 linearRgb) {\n    float maxC = max(linearRgb.r, max(linearRgb.g, linearRgb.b));\n    float minC = min(linearRgb.r, min(linearRgb.g, linearRgb.b));\n    \n    if (minC >= 0.0 && maxC <= 1.0) return linearRgb;\n    \n    vec3 lab = linearToOklab(max(linearRgb, 0.0));\n    float L = clamp(lab.x, 0.0, 1.0);\n    float C = length(lab.yz);\n    float h = atan(lab.z, lab.y);\n    \n    float maxChroma = 0.4 * (1.0 - pow(abs(2.0 * L - 1.0), 2.0));\n    \n    if (C > maxChroma * 0.7) {\n        float knee = maxChroma * 0.7;\n        C = knee + (maxChroma - knee) * tanh((C - knee) / (maxChroma - knee + 0.001));\n    }\n    \n    return clamp(oklabToLinear(vec3(L, C * cos(h), C * sin(h))), 0.0, 1.0);\n}\n\nvec3 applyContrastSaturation(vec3 linearRgb, float contrast, float saturation) {\n    vec3 lab = linearToOklab(linearRgb);\n    float C = length(lab.yz);\n    float h = atan(lab.z, lab.y);\n    \n    lab.x = clamp((lab.x - 0.5) * contrast + 0.5, 0.0, 1.0);\n    C *= saturation;\n    lab.y = C * cos(h);\n    lab.z = C * sin(h);\n    \n    return oklabToLinear(lab);\n}\n\n// === MAIN ===\nvoid main() {\n    vec2 fragCoord = v_uv * u_resolution;\n    vec2 r = u_resolution;\n    vec2 p = (fragCoord * 2.0 - r) / r.y;\n    \n    int colorCount = u_colors_length;\n    \n    // Early out: no colors -> black\n    if (colorCount < 1) {\n        fragColor = vec4(0.0, 0.0, 0.0, 1.0);\n        return;\n    }\n\n    float t = u_time * 0.3;\n    \n    // Map time onto a circle so animation seamlessly wraps.\n    float looping = step(0.5, u_loop);\n    float phase = TAU * u_time / max(u_loop, 0.01);\n    float radius = u_loop * u_speed * 0.3 / TAU;\n    float tA = sin(phase) * radius;\n    float tB = (1.0 - cos(phase)) * radius;\n    \n    // Seed-based offsets\n    vec3 seedOffset = seedRandom(u_seed);\n    vec3 seedOffset2 = seedRandom(u_seed + 100.0);\n    \n    // Golden angle rotation\n    float seedAngle = u_seed * GOLDEN_ANGLE;\n    vec2 seedPhase = (seedOffset2.xy - 0.5) * TAU;\n    \n    // Seed-based rotation\n    float cs = cos(seedAngle);\n    float sn = sin(seedAngle);\n    p = mat2(cs, -sn, sn, cs) * p;\n    \n    // Get dither value\n    float dither = getDither(floor(fragCoord / u_pixelRatio), u_ditherMode);\n    \n    // === TURBULENCE ===\n    float totalVal = 0.0;\n    float totalWeight = 0.0;\n    int turbIter = int(u_turbIter);\n    \n    float freq = 1.0 / max(u_turbFreq, 0.01);\n    \n    for (float i = 0.0; i < 4.0; i++) {\n        float eph = i / 4.0;\n       \n        vec2 q = p * u_scale;\n        float sq = eph * eph;\n        \n        if (u_jellify > 0.5) {\n            q.yx *= mix(1.0, 0.5, 1.0 - exp(-sq));\n        }\n        \n        float a = seedPhase.x;\n        float d = seedPhase.y;\n        \n        for (int j = 2; j < 13; j++) {\n            if (j >= turbIter) break;\n            float fj = float(j);\n            // When looping, use circular time. Otherwise original t.\n            float t1 = mix(t * u_speed, tA, looping);\n            float t2 = mix(t * u_speed, tB, looping);\n            q += u_turbAmp * sin(q.yx / freq * fj + t1 + vec2(a, d) + seedOffset.xy * fj) / fj;\n            a += cos(fj + d * 1.2 + q.x * 2.0 - t1 + seedOffset2.z + t2 * 0.3 * looping);\n            d += sin(fj * q.y + a + seedOffset.z + t1 + seedOffset2.y + t2 * 0.3 * looping);\n        }\n        \n        float v = 0.5 + 0.5 * sin(length(q.yx + vec2(a, d) * 0.2) * u_waveFreq + i * i + seedOffset.x);\n        float weight = smoothstep(0.0, 0.5, eph) * smoothstep(1.0, 0.5, eph);\n        totalVal += v * weight;\n        totalWeight += weight;\n    }\n    \n    float val = totalVal / totalWeight;\n    val = clamp((val - 0.3) / 0.4, 0.0, 1.0);\n    val = pow(val, exp(-u_distBias));\n    val = clamp(val + (dither - 0.5) * u_dither, 0.0, 1.0);\n    \n    vec3 col = paletteN(val, colorCount);\n    col *= u_exposure;\n    col = applyContrastSaturation(col, u_contrast, u_saturation);\n    col = softGamutMap(col);\n    col = toSrgb(col);\n    \n    fragColor = vec4(col, 1.0);\n}\n`,propertyControls:{colors:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Color},maxCount:8,defaultValue:[\"#00001A\",\"#2962FF\",\"#40BCFF\",\"#FFB8B5\",\"#FFC14F\"]},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:648,min:0,max:1e3,step:1},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.3,min:0,max:2,step:.01},loop:{type:ControlType.Number,title:\"Loop\",defaultValue:0,min:0,max:60,step:.5,hiddenWhenUnset:true,displayStepper:true},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:.42,min:.1,max:2,step:.01},turbAmp:{type:ControlType.Number,title:\"Amplitude\",defaultValue:.6,min:0,max:1,step:.01},turbFreq:{type:ControlType.Number,title:\"Frequency\",defaultValue:.1,min:.1,max:2,step:.01},turbIter:{type:ControlType.Number,title:\"Definition\",defaultValue:7,min:3,max:10,step:1,displayStepper:true},waveFreq:{type:ControlType.Number,title:\"Bands\",defaultValue:3.8,min:.1,max:5,step:.1},distBias:{type:ControlType.Number,title:\"Bias\",defaultValue:0,min:-1,max:1,step:.1,hiddenWhenUnset:true},jellify:{type:ControlType.Boolean,title:\"Jellify\",defaultValue:false,hiddenWhenUnset:true},ditherMode:{type:ControlType.Enum,title:\"Noise\",options:[0,1,2],optionTitles:[\"Off\",\"Smooth\",\"Grain\"],defaultValue:0},dither:{type:ControlType.Number,title:\"Amount\",defaultValue:.05,min:0,max:.2,step:.01,hidden:props=>props.ditherMode===0},exposure:{type:ControlType.Number,title:\"Exposure\",defaultValue:1.1,min:.5,max:2,step:.1,section:\"Filters\",displayStepper:true,hiddenWhenUnset:true},contrast:{type:ControlType.Number,title:\"Contrast\",defaultValue:1.1,min:.5,max:2,step:.1,section:\"Filters\",displayStepper:true,hiddenWhenUnset:true},saturation:{type:ControlType.Number,title:\"Saturation\",defaultValue:1,min:0,max:2,step:.1,section:\"Filters\",displayStepper:true,hiddenWhenUnset:true}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"shader\",\"name\":null,\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LiquidGradient.map"],"mappings":"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"}