{"version":3,"file":"shared-lib.Cl_7JvRR.mjs","names":["useState","STORE_KEY","HOT_SELECTOR","useState","useState","useRef","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/lovtiXuxg3r6lDQ1Veqm/o74EH5Wn0ykMwo8GuLB9/GlassCursor.js","https:/framer.com/m/GlassCursor-FYDvW7.js@o74EH5Wn0ykMwo8GuLB9","https:/framerusercontent.com/modules/aYiLNGDrPJVsV8BNkAJ4/BEtptpYmXXnAXnSGHW95/VisitorCursor.js","https:/framer.com/m/VisitorCursor-JlGxvU.js@BEtptpYmXXnAXnSGHW95","https:/framerusercontent.com/modules/wKH64u7CXMvcwPsLtVIa/o4OpJWS1fRihxZJryY27/RollingText.js","https:/framerusercontent.com/modules/tfTaNXwJSXXmD05gPEk3/iui2n1FDNqFNGQKCYHud/dhIdoIbwe.js","https:/framerusercontent.com/modules/28QgjTvqD8XDZnDrrHZY/iiFtnrHESct5rbTAm1dg/siteMetadata.js"],"sourcesContent":["// Request: let me switch between pointer designs from inside Framer. Adds a \"Design\" dropdown in the properties panel and\n// an optional on-site switcher pill (Show Switcher) for cycling designs live in preview.\n// Pointer: clear frosted glass at rest; over anything clickable it tints toward aurora with a cyan underglow, without\n// changing size. The top tip is the click point. The overlay draws on top of the whole page, so one instance in a shared\n// component covers every page. Hidden on touch devices and in the canvas (a static preview is shown there instead).\n// Update: \"Glow Radius\" widens the cyan underglow's reach without making it stronger (opacity is unchanged).\n// Update: steps aside when a visitor picks another cursor with the Visitor Cursor picker (saved as \"site-cursor\").\n// Update: every light glass design gets a thin dark inner shadow along its edge so it stays visible on light backgrounds.\n// Update: the default design is now called Twinkle (was Satin Soft Tip); its id stays \"softtip\" so saved settings keep working.\n// Update: the site's default cursor is now the cyan Dot (from Visitor Cursor), so this only draws once a visitor has\n// picked Twinkle; with no pick saved it steps aside too.\n// Update: no drop shadow at rest; the dark shadow now fades in only with the glow over links.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const INNER_SHADOW=.6;const DESIGNS={softtip:{name:\"Twinkle\",shape:{w:58,sideY:182,apexY:14,rA:.035,rS:0,rB:0},kind:\"light\",a:[.78,.34,.5],blur:6,sat:1.8,rim:1.2,rimA:[.9,.35,.7],halo:1,tint:.7},current:{name:\"Original Glass\",shape:{w:58,sideY:182,apexY:4,rA:0,rS:0,rB:0},kind:\"light\",a:[.6,.12,.26],blur:5,sat:1.9,rim:1.6,rimA:[.95,.18,.75],halo:1,tint:.85},satin:{name:\"Satin\",shape:{w:58,sideY:182,apexY:4,rA:.018,rS:.05,rB:.05},kind:\"light\",a:[.78,.34,.5],blur:6,sat:1.8,rim:1.2,rimA:[.9,.35,.7],halo:.7,tint:.7},slim:{name:\"Slim\",shape:{w:46,sideY:178,apexY:4,rA:.016,rS:.045,rB:.05},kind:\"light\",a:[.7,.28,.42],blur:6,sat:1.8,rim:1.2,rimA:[.95,.3,.7],halo:.8,tint:.75},smoked:{name:\"Smoked\",shape:{w:54,sideY:180,apexY:4,rA:.016,rS:.05,rB:.05},kind:\"smoked\",a:[.62,.7,.6],blur:8,sat:1.4,rim:1.2,rimA:[.85,.25,.6],halo:.6,tint:.55},pearl:{name:\"Pearl\",shape:{w:56,sideY:182,apexY:4,rA:.02,rS:.06,rB:.06},kind:\"light\",a:[.9,.62,.6],blur:4,sat:1.4,rim:1,rimA:[.95,.45,.6],halo:.5,tint:.6},crisp:{name:\"Crisp\",shape:{w:58,sideY:186,apexY:4,rA:.01,rS:.03,rB:.03},kind:\"light\",a:[.85,.4,.55],blur:8,sat:1.7,rim:1.4,rimA:[1,.4,.9],halo:.4,tint:.8},solid:{name:\"Solid Cyan\",shape:{w:58,sideY:182,apexY:14,rA:.035,rS:0,rB:0},kind:\"solid\",a:[1,1,1],blur:0,sat:1,rim:1,rimA:[.7,.2,.4],halo:1,tint:0}};const ORDER=[\"softtip\",\"current\",\"satin\",\"slim\",\"smoked\",\"pearl\",\"crisp\",\"solid\"];function qPt(p0,c,p1,t){const u=1-t;return[u*u*p0[0]+2*u*t*c[0]+t*t*p1[0],u*u*p0[1]+2*u*t*c[1]+t*t*p1[1]];}function qSub(p0,c,p1,t0,t1){const a=qPt(p0,c,p1,t0);const b=qPt(p0,c,p1,t1);const k0=(1-t0)*(1-t1);const k1=(1-t0)*t1+t0*(1-t1);const k2=t0*t1;return[a,[k0*p0[0]+k1*c[0]+k2*p1[0],k0*p0[1]+k1*c[1]+k2*p1[1]],b];}function buildPath(s,sx,sy){const A=[60,s.apexY];const R=[60+s.w,s.sideY];const B=[60,240];const L=[60-s.w,s.sideY];const V=[A,R,B,L];const cs=[[62,150],[60+s.w*.31,s.sideY+8],[60-s.w*.31,s.sideY+8],[58,150]];const rad=[s.rA,s.rS,s.rB,s.rS];const f=p=>`${(p[0]*sx).toFixed(4)} ${(p[1]*sy).toFixed(4)}`;let d=\"\";let first=A;for(let i=0;i<4;i++){const j=(i+1)%4;const sub=qSub(V[i],cs[i],V[j],rad[i],1-rad[j]);if(i===0){d+=`M${f(sub[0])}`;first=sub[0];}else{d+=` Q${f(V[i])} ${f(sub[0])}`;}d+=` Q${f(sub[1])} ${f(sub[2])}`;}d+=` Q${f(V[0])} ${f(first)} Z`;return d;}function rimSvg(path,w,stops,cls,id){return`<svg ${cls?`class=\"${cls}\" `:\"\"}viewBox=\"0 0 120 240\" aria-hidden=\"true\"><defs><linearGradient id=\"${id}\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">${stops}</linearGradient></defs><path d=\"${path}\" fill=\"none\" stroke=\"url(#${id})\" stroke-width=\"${w}\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/></svg>`;}// A dark stroke on the edge, clipped to the shape so only its inner half shows (see .gcur-inner).\nfunction innerShadowSvg(path,opacity){return`<svg class=\"gcur-inner\" viewBox=\"0 0 120 240\" aria-hidden=\"true\"><path d=\"${path}\" fill=\"none\" stroke=\"rgba(8,24,30,${opacity})\" stroke-width=\"3\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/></svg>`;}const AUR_STOPS='<stop offset=\"0\" stop-color=\"#fff\" stop-opacity=\"1\"/><stop offset=\".4\" stop-color=\"#9AF1FE\" stop-opacity=\".85\"/><stop offset=\".75\" stop-color=\"#6aa8ff\" stop-opacity=\".7\"/><stop offset=\"1\" stop-color=\"#9AF1FE\" stop-opacity=\".95\"/>';function pointerHTML(d){const path=buildPath(d.shape,1,1);const rest=`<stop offset=\"0\" stop-color=\"#fff\" stop-opacity=\"${d.rimA[0]}\"/><stop offset=\".5\" stop-color=\"#fff\" stop-opacity=\"${d.rimA[1]}\"/><stop offset=\"1\" stop-color=\"#9AF1FE\" stop-opacity=\"${d.rimA[2]}\"/>`;const inner=d.inner??(d.kind===\"light\"?INNER_SHADOW:0);return'<span class=\"gcur-glass\"></span><span class=\"gcur-aur\"></span>'+(inner?innerShadowSvg(path,inner):\"\")+rimSvg(path,d.rim,rest,\"\",\"gcur-g-rest\")+rimSvg(path,d.rim+.3,AUR_STOPS,\"gcur-rim-aur\",\"gcur-g-aur\");}function clipSvg(d){return`<svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\"><defs><clipPath id=\"gcur-clip\" clipPathUnits=\"objectBoundingBox\"><path d=\"${buildPath(d.shape,1/120,1/240)}\"/></clipPath></defs></svg>`;}// glow scales the underglow's strength and size together (Link Glow); spread scales only its radius (Glow Radius)\nfunction css(d,glow,spread){let glassBg;let aurBg;let blur;if(d.kind===\"smoked\"){glassBg=`radial-gradient(ellipse 30% 20% at 40% 30%,rgba(255,255,255,.28),transparent 70%),linear-gradient(150deg,rgba(46,56,64,${d.a[0]}) 0%,rgba(14,18,22,${d.a[1]}) 60%,rgba(30,62,72,${d.a[2]}) 100%)`;aurBg=\"linear-gradient(160deg,rgba(154,241,254,.38) 0%,rgba(154,241,254,.3) 50%,rgba(102,160,255,.4) 100%)\";blur=`blur(${d.blur}px) saturate(${d.sat}) brightness(1.1)`;}else if(d.kind===\"solid\"){glassBg=\"#9AF1FE\";aurBg=\"transparent\";blur=\"none\";}else{glassBg=`radial-gradient(ellipse 34% 24% at 40% 32%,rgba(255,255,255,.55),transparent 70%),linear-gradient(150deg,rgba(255,255,255,${d.a[0]}) 0%,rgba(255,255,255,${d.a[1]}) 45%,rgba(160,236,250,${d.a[2]}) 100%)`;aurBg=\"radial-gradient(ellipse 34% 24% at 40% 32%,rgba(255,255,255,.4),transparent 70%),linear-gradient(160deg,rgba(255,255,255,.3) 0%,rgba(154,241,254,.5) 40%,rgba(102,160,255,.42) 75%,rgba(154,241,254,.55) 100%)\";blur=`blur(${d.blur}px) saturate(${d.sat}) brightness(1.1)`;}const h=d.halo*glow;// At rest every shadow is fully transparent (kept in the list so the filter animates smoothly into .hot)\nreturn`\n.gcur-ptr{position:relative;display:block;--halo:${h};--spread:${spread};filter:drop-shadow(0 0 0 rgba(154,241,254,0)) drop-shadow(0 0 0 rgba(154,241,254,0)) drop-shadow(0 8px 14px rgba(0,0,0,0));transition:filter .4s ease}\n.gcur-ptr.hot{filter:drop-shadow(0 0 calc(8px * var(--halo) * var(--spread)) rgba(154,241,254,calc(.6 * var(--halo)))) drop-shadow(0 0 calc(22px * var(--halo) * var(--spread)) rgba(154,241,254,calc(.28 * var(--halo)))) drop-shadow(0 8px 14px rgba(0,0,0,.3))}\n.gcur-ptr>span,.gcur-ptr>svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}\n.gcur-glass{clip-path:url(#gcur-clip);background:${glassBg};backdrop-filter:${blur};-webkit-backdrop-filter:${blur}}\n.gcur-aur{clip-path:url(#gcur-clip);opacity:0;transition:opacity .4s ease;background:${aurBg}}\n.gcur-ptr>svg.gcur-inner{clip-path:url(#gcur-clip);filter:blur(.5px)}\n.gcur-ptr.hot .gcur-aur{opacity:${d.tint}}\n.gcur-rim-aur{opacity:0;transition:opacity .4s ease}\n.gcur-ptr.hot .gcur-rim-aur{opacity:${d.kind===\"solid\"?0:1}}\n`;}const SWITCH_CSS=`\n.gcur-switch{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:2147483646;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:92vw;padding:6px;border-radius:22px;background:rgba(10,12,14,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto;font:500 11px/1 \"Geist Mono\",ui-monospace,monospace;letter-spacing:.04em}\n.gcur-switch button{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.75);padding:9px 12px;border-radius:999px;font:inherit;letter-spacing:inherit;text-transform:uppercase;white-space:nowrap}\n.gcur-switch button:hover{color:#fff}\n.gcur-switch button[aria-pressed=\"true\"]{background:#9AF1FE;color:#04282c}\n.gcur-switch .gcur-sw-label{display:flex;align-items:center;padding:0 10px;color:rgba(255,255,255,.55);text-transform:uppercase}\n`;const HOT_SELECTOR='a[href], button, [role=\"button\"], [role=\"link\"], summary, label, select, input[type=\"submit\"], input[type=\"button\"], [data-highlight=\"true\"]';const STORE_KEY=\"gcur-design\";// Shared with VisitorCursor: the visitor's pick, and the event it fires when they change it.\nconst VISITOR_KEY=\"site-cursor\";const VISITOR_EVENT=\"site-cursor-change\";function readVisitorChoice(){if(typeof window===\"undefined\")return null;try{return window.localStorage.getItem(VISITOR_KEY);}catch(e){return null;}}/**\n * Glass Cursor\n *\n * Put one instance in a component that appears on every page (the nav bar). Choose the pointer with Design. Turn on\n * Show Switcher to get a small pill on the page for trying designs live; the pick is remembered for the session.\n * In the canvas it shows a static preview of the chosen pointer at rest and over a link.\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 120\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function GlassCursor(props){const{design=\"softtip\",showSwitcher=false,size=60,restingTilt=26,leanAmount=26,overLinkGlow=1,glowRadius=2,hideNativeCursor=true,style}=props;const isStatic=useIsStaticRenderer();const[override,setOverride]=useState(null);const[visitorChoice,setVisitorChoice]=useState(readVisitorChoice);useEffect(()=>{if(typeof window===\"undefined\")return;try{const v=window.sessionStorage.getItem(STORE_KEY);if(v&&DESIGNS[v])startTransition(()=>setOverride(v));}catch(e){/* storage can be blocked */}},[]);// Follow the visitor's cursor pick, live.\nuseEffect(()=>{if(typeof window===\"undefined\")return;const onChange=e=>{const v=e.detail;startTransition(()=>setVisitorChoice(typeof v===\"string\"?v:readVisitorChoice()));};const onStorage=e=>{if(e.key===VISITOR_KEY)startTransition(()=>setVisitorChoice(readVisitorChoice()));};window.addEventListener(VISITOR_EVENT,onChange);window.addEventListener(\"storage\",onStorage);return()=>{window.removeEventListener(VISITOR_EVENT,onChange);window.removeEventListener(\"storage\",onStorage);};},[]);// The site default is the cyan Dot, so Twinkle only draws when the visitor has explicitly picked it\nconst standDown=visitorChoice!==\"glass\";const activeId=showSwitcher&&override?override:DESIGNS[design]?design:\"softtip\";const active=DESIGNS[activeId];useEffect(()=>{if(isStatic||standDown||typeof window===\"undefined\")return;if(window.matchMedia(\"(hover: none)\").matches)return;const w=window;if(w.__glassCursorActive)return;w.__glassCursorActive=true;const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const styleEl=document.createElement(\"style\");styleEl.textContent=css(active,overLinkGlow,glowRadius)+\".gcur-root{position:fixed;left:0;top:0;z-index:2147483647;pointer-events:none;opacity:0;transform-origin:50% 0;will-change:transform;transition:opacity .2s ease}.gcur-root.on{opacity:1}\"+(showSwitcher?SWITCH_CSS:\"\")+(hideNativeCursor?\"html,html *,body,body *{cursor:none !important}\":\"\");document.head.appendChild(styleEl);const defs=document.createElement(\"div\");defs.innerHTML=clipSvg(active);document.body.appendChild(defs);const root=document.createElement(\"div\");root.className=\"gcur-root\";root.setAttribute(\"aria-hidden\",\"true\");const ptr=document.createElement(\"span\");ptr.className=\"gcur-ptr\";ptr.style.width=size/2+\"px\";ptr.style.height=size+\"px\";ptr.innerHTML=pointerHTML(active);root.appendChild(ptr);document.body.appendChild(root);let switcher=null;if(showSwitcher){switcher=document.createElement(\"div\");switcher.className=\"gcur-switch\";switcher.setAttribute(\"role\",\"group\");switcher.setAttribute(\"aria-label\",\"Pointer design\");const label=document.createElement(\"span\");label.className=\"gcur-sw-label\";label.textContent=\"Pointer\";switcher.appendChild(label);ORDER.forEach(id=>{const b=document.createElement(\"button\");b.type=\"button\";b.textContent=DESIGNS[id].name;b.setAttribute(\"aria-pressed\",id===activeId?\"true\":\"false\");b.addEventListener(\"click\",()=>{try{window.sessionStorage.setItem(STORE_KEY,id);}catch(e){/* storage can be blocked */}startTransition(()=>setOverride(id));});switcher.appendChild(b);});document.body.appendChild(switcher);}let tx=0,ty=0,x=0,y=0;let rot=-restingTilt;let scale=1;let hot=false,down=false,started=false;let raf=0;const onMove=e=>{if(e.pointerType===\"touch\")return;tx=e.clientX;ty=e.clientY;if(!started){x=tx;y=ty;started=true;}root.classList.add(\"on\");const t=e.target;hot=!!(t&&t.closest&&t.closest(HOT_SELECTOR));};const onDown=()=>{down=true;};const onUp=()=>{down=false;};const onLeave=()=>{root.classList.remove(\"on\");started=false;};const frame=()=>{const k=reduce?1:.32;const px=x;x+=(tx-x)*k;y+=(ty-y)*k;const vx=x-px;const target=-restingTilt+Math.max(-leanAmount,Math.min(leanAmount,vx*1.6));rot+=(target-rot)*(reduce?1:.2);scale+=((down?.9:1)-scale)*(reduce?1:.25);ptr.classList.toggle(\"hot\",hot);root.style.transform=`translate(${x-size/4}px,${y}px) rotate(${rot}deg) scale(${scale})`;raf=requestAnimationFrame(frame);};raf=requestAnimationFrame(frame);window.addEventListener(\"pointermove\",onMove,{passive:true});window.addEventListener(\"pointerdown\",onDown,{passive:true});window.addEventListener(\"pointerup\",onUp,{passive:true});document.documentElement.addEventListener(\"mouseleave\",onLeave);return()=>{cancelAnimationFrame(raf);window.removeEventListener(\"pointermove\",onMove);window.removeEventListener(\"pointerdown\",onDown);window.removeEventListener(\"pointerup\",onUp);document.documentElement.removeEventListener(\"mouseleave\",onLeave);root.remove();defs.remove();styleEl.remove();if(switcher)switcher.remove();w.__glassCursorActive=false;};},[isStatic,standDown,activeId,showSwitcher,size,restingTilt,leanAmount,overLinkGlow,glowRadius,hideNativeCursor]);if(isStatic){const pointer=(hot,label)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",justifyItems:\"center\",gap:10},children:[/*#__PURE__*/_jsx(\"span\",{className:\"gcur-ptr\"+(hot?\" hot\":\"\"),style:{width:size/2,height:size,transform:`rotate(${-restingTilt}deg)`,transformOrigin:\"50% 0\"},dangerouslySetInnerHTML:{__html:pointerHTML(active)}}),/*#__PURE__*/_jsx(\"span\",{style:{font:\"500 10px/1 sans-serif\",letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"rgba(255,255,255,.75)\"},children:label})]});return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:14,padding:16,borderRadius:12,background:\"radial-gradient(60% 70% at 20% 25%, #ff8a5c 0%, transparent 62%), radial-gradient(55% 70% at 85% 30%, #6a5cff 0%, transparent 60%), radial-gradient(60% 60% at 50% 95%, #12c4a8 0%, transparent 62%), #14161a\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"style\",{children:css(active,overLinkGlow,glowRadius)}),/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:clipSvg(active)}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:40,alignItems:\"flex-start\"},children:[pointer(false,\"Rest\"),pointer(true,\"Over a link\")]}),/*#__PURE__*/_jsx(\"span\",{style:{font:\"500 11px/1 sans-serif\",color:\"#fff\"},children:active.name})]});}return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{width:1,height:1,pointerEvents:\"none\"}});}addPropertyControls(GlassCursor,{design:{type:ControlType.Enum,title:\"Design\",defaultValue:\"softtip\",options:ORDER,optionTitles:ORDER.map(id=>DESIGNS[id].name)},showSwitcher:{type:ControlType.Boolean,title:\"Show Switcher\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},size:{type:ControlType.Number,title:\"Height\",defaultValue:60,min:24,max:120,unit:\"px\"},restingTilt:{type:ControlType.Number,title:\"Resting Tilt\",defaultValue:26,min:0,max:45,unit:\"deg\"},leanAmount:{type:ControlType.Number,title:\"Motion Lean\",defaultValue:26,min:0,max:40,unit:\"deg\"},overLinkGlow:{type:ControlType.Number,title:\"Link Glow\",defaultValue:1,min:0,max:1.5,step:.05},glowRadius:{type:ControlType.Number,title:\"Glow Radius\",description:\"Widens the link glow without making it stronger.\",defaultValue:2,min:.5,max:4,step:.1,unit:\"\\xd7\"},hideNativeCursor:{type:ControlType.Boolean,title:\"Hide Native\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GlassCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"200\",\"framerIntrinsicHeight\":\"120\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GlassCursor.map","/*\n * GlassCursor\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/lovtiXuxg3r6lDQ1Veqm/o74EH5Wn0ykMwo8GuLB9/GlassCursor.js\"\nexport { default } from \"https://framerusercontent.com/modules/lovtiXuxg3r6lDQ1Veqm/o74EH5Wn0ykMwo8GuLB9/GlassCursor.js\"\n","// Request: a toggle on the Cursor Closet project page that lets anyone visiting my site choose the cursor they see.\n// One component, two jobs:\n//   • Show Picker on: the visible toggle (Classic, Dot, Mouse, Paw, Twinkle). The pick is saved in the visitor's browser.\n//   • Show Picker off: an invisible 1px instance that applies the saved pick. The nav's RollingText embeds one, so the\n//     pick follows the visitor to every page.\n// Twinkle is the site's own GlassCursor; picking anything else tells GlassCursor to step aside.\n// Update: Glass option is now Twinkle (was Satin Soft Tip); the Tomato arrow is now a Dot; an explicit Twinkle pick is\n// also applied on pages that don't have their own GlassCursor (this component mounts one when needed).\n// Update: options are ordered Classic, Dot, Mouse, Twinkle, and the cursor only changes once an option is clicked\n// (hovering an option no longer previews its cursor).\n// Update: the Dot is the site default for visitors who haven't picked a cursor.\n// Update: the Dot is black at rest and turns Accent Cyan (#9AF1FE) over links, and it's a little bigger than before.\n// Added the pixel-art cat Paw from my Cursor Closet extension (after Mouse). The picker cards show the name only\n// (no second line of text); the picked card is marked by its accent border.\n// Update: the Dot keeps its size over links (it only turns cyan), and Twinkle's picker preview has no drop shadow,\n// matching the live cursor at rest. GlassCursor is pinned to the version without the resting shadow.\n// Update: the Dot is a little smaller (radius 6.5, was 7.5; 5.2 while pressed).\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import GlassCursor from\"https://framer.com/m/GlassCursor-FYDvW7.js@o74EH5Wn0ykMwo8GuLB9\";const STORE_KEY=\"site-cursor\";const EVENT=\"site-cursor-change\";const DEFAULT_CHOICE=\"dot\"// what visitors see until they pick something themselves\n;const DOT_INK=\"#171615\";const DOT_CYAN=\"#9AF1FE\"// Framer colour style /Accent Cyan\n;const HOT_SELECTOR='a[href], button, [role=\"button\"], [role=\"link\"], summary, label, select, input[type=\"submit\"], input[type=\"button\"], [data-highlight=\"true\"]';const TEXT_SELECTOR=':is(input:not([type]), input[type=\"text\"], input[type=\"search\"], input[type=\"email\"], input[type=\"url\"], input[type=\"password\"], input[type=\"number\"], textarea, [contenteditable=\"\"], [contenteditable=\"true\"])';const dotSvg=(r,fill,edge)=>`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"><circle cx=\"16\" cy=\"16\" r=\"${r}\" fill=\"${fill}\" stroke=\"${edge}\" stroke-width=\"1.5\"/></svg>`;// Paw: pixel art from my Cursor Closet export (Desktop/paw-cursor), one letter per pixel on a 32 × 32 grid\n// (\".\" is transparent). Drawn at 48px like in the extension.\nconst PAW_COLORS={k:\"#5b5b5f\",w:\"#ffffff\",g:\"#e9e9ec\",p:\"#e483a7\",q:\"#f6a7c3\",r:\"#fcd0df\",m:\"#e85a91\",n:\"#ff86b4\",s:\"#ffbfd6\"};const PAW_ROWS={default:[\"................................\",\"................................\",\"................................\",\"...........kk......kk...........\",\".........kkwwkk..kkwwkk.........\",\"........kwwwwwwkkwwwwwwk........\",\"........kwwppwwkkwwppwwk........\",\".......kwwprrpwwwwprqpwwk.......\",\".......kwwpqqqpwwpqqqpwwk.......\",\"......kkwwpqqqpwwpqqqpwwkk......\",\".....kwwwwpqqqpwwpqqqpwwwwk.....\",\"....kwwwwwppppwwwwppppwwwggk....\",\"...kwwpppwwwwwwwwwwwwwwpppggk...\",\"...kwwprrpwwwwwwwwwwwwprrpggk...\",\"...kwwpqqpwwwwppppwwwwpqqpggk...\",\"....kwpppwwwwpqqqqpwwwwpppgk....\",\".....kwwwwwwpqqqqqqpwwwwggk.....\",\"......kwwwwpqqqqqqqqpwwggk......\",\"......kwwwwpqqqqqqqqpwwggk......\",\"......kwwwwwpqqqqqqpwwwggk......\",\".......kwwwwpqqqqqqpwwggk.......\",\".......kwwwwwppppppwwwggk.......\",\"........kwwwwwwwwwwwwggk........\",\"........kwwwwwwwwwwwwggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\".........kkkkkkkkkkkkkk.........\",\"................................\",\"................................\"],hover:[\"................................\",\"................................\",\".......................r........\",\"..........kk........kk....n.....\",\"........kkwwkk....kkwwkk.nnn....\",\".......kwwwwwwk..kwwwwwwk.n.....\",\".......kwwmmwwk..kwwmmwwk.......\",\"......kwwmssmwwkkwwmsnmwwk..r...\",\"......kwwmnnnmwkkwmnnnmwwk......\",\".....kkwwmnnnmwwwwmnnnmwwkk.....\",\"....kwwwwmnnnmwwwwmnnnmwwwwk....\",\"...kwwwwwmmmmwwwwwwmmmmwwwggk...\",\"..kwwmmmwwwwwwwwwwwwwwwwmmmggk..\",\"..kwwmssmwwwwwwwwwwwwwwmssmggk..\",\"..kwwmnnmwwwwwmmmmwwwwwmnnmggk..\",\"...kwmmmwwwwwmnnnnmwwwwwmmmgk...\",\"....kwwwwwwwmnnnnnnmwwwwwggk....\",\".....kkwwwwmnnnnnnnnmwwggkk.....\",\"......kwwwwmnnnnnnnnmwwggk......\",\"......kwwwwwmnnnnnnmwwwggk......\",\".......kwwwwmnnnnnnmwwggk.......\",\".......kwwwwwmmmmmmwwwggk.......\",\"........kwwwwwwwwwwwwggk........\",\"........kwwwwwwwwwwwwggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\".........kkkkkkkkkkkkkk.........\",\"................................\",\"................................\"],click:[\"................................\",\"................................\",\"...............nn...............\",\".........n.....nn.....n.........\",\"..........n..........n..........\",\"................................\",\"..........kkkk....kkkk..........\",\".........kwwwwk..kwwwwk.........\",\"........kwwwwwwkkwwwwwwk........\",\".......kwwmmmmwwwwmmmmwwk.......\",\"......kkwwmssnmwwmssnmwwkk......\",\".....kwwwwmnnnmwwmnnnmwwggk.....\",\"....kwwwwwmnnmwwwwmnnmwwwggk....\",\"...kwwwmmwwmmwwwwwwmmwwmmwggk...\",\"...kwwmssmwwwwwwwwwwwwmssmggk...\",\"...kwwmnnmwwwwwwwwwwwwmnnmggk...\",\"....kwmmmwwwwmmmmmmwwwwmmmgk....\",\".....kwwwwwwmsnnnnnmwwwwggk.....\",\".....kwwwwwmnnnnnnnnmwwwggk.....\",\".....kwwwwwmnnnnnnnnmwwwggk.....\",\"......kwwwwwmnnnnnnmwwwggk......\",\"......kwwwwwwmmmmmmwwwwggk......\",\".......kggggggggggggggggk.......\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\"........kggggggggggggggk........\",\".........kkkkkkkkkkkkkk.........\",\"................................\",\"................................\",\"................................\",\"................................\"]};function pawSvg(rows){let rects=\"\";rows.forEach((row,y)=>{for(let x=0;x<row.length;){const c=row[x];let end=x+1;while(end<row.length&&row[end]===c)end++;if(c!==\".\")rects+=`<rect x=\"${x}\" y=\"${y}\" width=\"${end-x}\" height=\"1\" fill=\"${PAW_COLORS[c]}\"/>`;x=end;}});return`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 32 32\" shape-rendering=\"crispEdges\">${rects}</svg>`;}const CURSORS={mouse:{hot:[6,6],default:`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 100 100\"><g transform=\"translate(16 16) rotate(225) scale(0.135 -0.135)\"><g fill=\"none\" stroke=\"#ffffff\" stroke-width=\"51\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M-163 -94 L0 0 L-163 95\" stroke-linejoin=\"miter\" stroke-miterlimit=\"4\"/><circle cx=\"-126\" cy=\"-2\" r=\"6\" fill=\"#ffffff\"/><path d=\"M-200 4 V-92 H-238 Q-248 -92 -248 -82 V-56 Q-248 -46 -238 -46 H-200\"/><path d=\"M-476 -60 C-445 -120 -322 -120 -291 -60\"/><path d=\"M-476 114 C-445 162 -322 162 -291 114\"/><circle cx=\"-400\" cy=\"121\" r=\"4\" fill=\"#ffffff\"/><circle cx=\"-346\" cy=\"121\" r=\"4\" fill=\"#ffffff\"/><path d=\"M-508 -38 V94\"/><path d=\"M-508 -38 C-540 0 -562 93 -618 93 C-664 93 -693 62 -693 24 C-693 -10 -671 -32 -646 -32 C-619 -32 -598 -15 -598 6 C-598 26 -612 34 -628 34 H-652\"/></g><g fill=\"none\" stroke=\"#171615\" stroke-width=\"25\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"><path d=\"M-163 -94 L0 0 L-163 95\" stroke-linejoin=\"miter\" stroke-miterlimit=\"4\"/><circle cx=\"-126\" cy=\"-2\" r=\"6\" fill=\"#171615\"/><path d=\"M-200 4 V-92 H-238 Q-248 -92 -248 -82 V-56 Q-248 -46 -238 -46 H-200\"/><path d=\"M-476 -60 C-445 -120 -322 -120 -291 -60\"/><path d=\"M-476 114 C-445 162 -322 162 -291 114\"/><circle cx=\"-400\" cy=\"121\" r=\"4\" fill=\"#171615\"/><circle cx=\"-346\" cy=\"121\" r=\"4\" fill=\"#171615\"/><path d=\"M-508 -38 V94\"/><path d=\"M-508 -38 C-540 0 -562 93 -618 93 C-664 93 -693 62 -693 24 C-693 -10 -671 -32 -646 -32 C-619 -32 -598 -15 -598 6 C-598 26 -612 34 -628 34 H-652\"/></g></g></svg>`,hover:`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 100 100\"><g transform=\"translate(16 16) rotate(225) scale(0.135 -0.135)\"><g fill=\"none\" stroke=\"#ffffff\" stroke-width=\"51\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M-163 -94 L0 0 L-163 95\" stroke-linejoin=\"miter\" stroke-miterlimit=\"4\"/><circle cx=\"-126\" cy=\"-2\" r=\"6\" fill=\"#ffffff\"/><path d=\"M-200 4 V-92 H-238 Q-248 -92 -248 -82 V-56 Q-248 -46 -238 -46 H-200\"/><path d=\"M-476 -60 C-445 -120 -322 -120 -291 -60\"/><path d=\"M-476 114 C-445 162 -322 162 -291 114\"/><circle cx=\"-400\" cy=\"121\" r=\"4\" fill=\"#ffffff\"/><circle cx=\"-346\" cy=\"121\" r=\"4\" fill=\"#ffffff\"/><path d=\"M-508 -38 V94\"/><path d=\"M-508 -38 C-540 -76 -562 -169 -618 -169 C-664 -169 -693 -138 -693 -100 C-693 -66 -671 -44 -646 -44 C-619 -44 -598 -61 -598 -82 C-598 -102 -612 -110 -628 -110 H-652\"/><path d=\"M-60 -50 L-44 -122\" stroke-width=\"42\" stroke-linecap=\"round\"/><path d=\"M-60 -50 L8 -104\" stroke-width=\"42\" stroke-linecap=\"round\"/><path d=\"M-60 50 L-44 122\" stroke-width=\"42\" stroke-linecap=\"round\"/><path d=\"M-60 50 L8 104\" stroke-width=\"42\" stroke-linecap=\"round\"/></g><g fill=\"none\" stroke=\"#171615\" stroke-width=\"25\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"><path d=\"M-163 -94 L0 0 L-163 95\" stroke-linejoin=\"miter\" stroke-miterlimit=\"4\"/><circle cx=\"-126\" cy=\"-2\" r=\"6\" fill=\"#171615\"/><path d=\"M-200 4 V-92 H-238 Q-248 -92 -248 -82 V-56 Q-248 -46 -238 -46 H-200\"/><path d=\"M-476 -60 C-445 -120 -322 -120 -291 -60\"/><path d=\"M-476 114 C-445 162 -322 162 -291 114\"/><circle cx=\"-400\" cy=\"121\" r=\"4\" fill=\"#171615\"/><circle cx=\"-346\" cy=\"121\" r=\"4\" fill=\"#171615\"/><path d=\"M-508 -38 V94\"/><path d=\"M-508 -38 C-540 -76 -562 -169 -618 -169 C-664 -169 -693 -138 -693 -100 C-693 -66 -671 -44 -646 -44 C-619 -44 -598 -61 -598 -82 C-598 -102 -612 -110 -628 -110 H-652\"/><path d=\"M-60 -50 L-44 -122\" stroke-width=\"16\" stroke-linecap=\"round\"/><path d=\"M-60 -50 L8 -104\" stroke-width=\"16\" stroke-linecap=\"round\"/><path d=\"M-60 50 L-44 122\" stroke-width=\"16\" stroke-linecap=\"round\"/><path d=\"M-60 50 L8 104\" stroke-width=\"16\" stroke-linecap=\"round\"/></g></g></svg>`,click:`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 100 100\"><g transform=\"translate(16 16) rotate(225) scale(0.135 -0.135)\"><g fill=\"none\" stroke=\"#ffffff\" stroke-width=\"51\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M-163 -94 L0 0 L-163 95\" stroke-linejoin=\"miter\" stroke-miterlimit=\"4\"/><path d=\"M-144 -2 H-108\"/><path d=\"M-200 4 V-92 H-238 Q-248 -92 -248 -82 V-56 Q-248 -46 -238 -46 H-200\"/><path d=\"M-476 -60 C-445 -120 -322 -120 -291 -60\"/><path d=\"M-476 114 C-445 162 -322 162 -291 114\"/><circle cx=\"-400\" cy=\"121\" r=\"4\" fill=\"#ffffff\"/><circle cx=\"-346\" cy=\"121\" r=\"4\" fill=\"#ffffff\"/><path d=\"M-508 -38 V94\"/><path d=\"M-508 -38 C-540 0 -562 93 -618 93 C-664 93 -693 62 -693 24 C-693 -10 -671 -32 -646 -32 C-619 -32 -598 -15 -598 6 C-598 26 -612 34 -628 34 H-652\"/><path d=\"M33.4 -30.1 L62.4 -56.2\" stroke-width=\"42\" stroke-linecap=\"round\"/><path d=\"M45.0 0.0 L84.0 0.0\" stroke-width=\"42\" stroke-linecap=\"round\"/><path d=\"M33.4 30.1 L62.4 56.2\" stroke-width=\"42\" stroke-linecap=\"round\"/></g><g fill=\"none\" stroke=\"#171615\" stroke-width=\"25\" stroke-linecap=\"butt\" stroke-linejoin=\"round\"><path d=\"M-163 -94 L0 0 L-163 95\" stroke-linejoin=\"miter\" stroke-miterlimit=\"4\"/><path d=\"M-144 -2 H-108\"/><path d=\"M-200 4 V-92 H-238 Q-248 -92 -248 -82 V-56 Q-248 -46 -238 -46 H-200\"/><path d=\"M-476 -60 C-445 -120 -322 -120 -291 -60\"/><path d=\"M-476 114 C-445 162 -322 162 -291 114\"/><circle cx=\"-400\" cy=\"121\" r=\"4\" fill=\"#171615\"/><circle cx=\"-346\" cy=\"121\" r=\"4\" fill=\"#171615\"/><path d=\"M-508 -38 V94\"/><path d=\"M-508 -38 C-540 0 -562 93 -618 93 C-664 93 -693 62 -693 24 C-693 -10 -671 -32 -646 -32 C-619 -32 -598 -15 -598 6 C-598 26 -612 34 -628 34 H-652\"/><path d=\"M33.4 -30.1 L62.4 -56.2\" stroke-width=\"16\" stroke-linecap=\"round\"/><path d=\"M45.0 0.0 L84.0 0.0\" stroke-width=\"16\" stroke-linecap=\"round\"/><path d=\"M33.4 30.1 L62.4 56.2\" stroke-width=\"16\" stroke-linecap=\"round\"/></g></g></svg>`},// Black at rest; over links it turns Accent Cyan at the same size. It shrinks slightly while pressed.\ndot:{hot:[16,16],default:dotSvg(6.5,DOT_INK,\"#ffffff\"),hover:dotSvg(6.5,DOT_CYAN,DOT_INK),click:dotSvg(5.2,DOT_INK,\"#ffffff\"),hoverClick:dotSvg(5.2,DOT_CYAN,DOT_INK)},// Click points match the extension export (hx 0.52, hy 0.14 / 0.2 of 48px).\npaw:{hot:[25,7],clickHot:[25,10],default:pawSvg(PAW_ROWS.default),hover:pawSvg(PAW_ROWS.hover),click:pawSvg(PAW_ROWS.click)}};// Picker previews for the two options that aren't plain image cursors.\n// Twinkle: the same art as the cursor-closet card (default state), without a drop shadow.\nconst SATIN_PREVIEW=`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-7.8 -6.5 76.4 76.4\"><defs><linearGradient id=\"df\" x1=\".15\" y1=\"0\" x2=\".85\" y2=\"1\"><stop offset=\"0\" stop-color=\"#fff\" stop-opacity=\".82\"/><stop offset=\".45\" stop-color=\"#fff\" stop-opacity=\".4\"/><stop offset=\"1\" stop-color=\"#a0ecfa\" stop-opacity=\".55\"/></linearGradient><radialGradient id=\"dh\" cx=\".4\" cy=\".32\" r=\".42\"><stop offset=\"0\" stop-color=\"#fff\" stop-opacity=\".7\"/><stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\"0\"/></radialGradient><linearGradient id=\"dr\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0\" stop-color=\"#fff\" stop-opacity=\".95\"/><stop offset=\".5\" stop-color=\"#fff\" stop-opacity=\".4\"/><stop offset=\"1\" stop-color=\"#9AF1FE\" stop-opacity=\".8\"/></linearGradient></defs><g transform=\"rotate(-26) scale(0.3) translate(-60 -14)\"><g><path d=\"M60.2 23.4Q64 151.1 118 182Q78 190 60 240Q42 190 2 182Q56 151.1 59.8 23.4Q60 14 60.2 23.4Z\" fill=\"none\" stroke=\"#000\" stroke-opacity=\".24\" stroke-width=\"2.2\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/><path d=\"M60.2 23.4Q64 151.1 118 182Q78 190 60 240Q42 190 2 182Q56 151.1 59.8 23.4Q60 14 60.2 23.4Z\" fill=\"url(#df)\"/><path d=\"M60.2 23.4Q64 151.1 118 182Q78 190 60 240Q42 190 2 182Q56 151.1 59.8 23.4Q60 14 60.2 23.4Z\" fill=\"url(#dh)\"/><path d=\"M60.2 23.4Q64 151.1 118 182Q78 190 60 240Q42 190 2 182Q56 151.1 59.8 23.4Q60 14 60.2 23.4Z\" fill=\"none\" stroke=\"url(#dr)\" stroke-width=\"1.2\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/></g></g></svg>`;const CLASSIC_PREVIEW=`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"><path d=\"M9 6 V25 L13.6 20.6 L16.6 27.4 L19.4 26.2 L16.4 19.5 H22.6 Z\" fill=\"#000\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linejoin=\"round\"/></svg>`;// Display order: Classic, Dot, Mouse, Paw, Twinkle.\nconst OPTIONS=[{id:\"classic\",name:\"Classic\",preview:CLASSIC_PREVIEW,previewSize:30},{id:\"dot\",name:\"Dot\",preview:CURSORS.dot.default,previewSize:30},{id:\"mouse\",name:\"Mouse\",preview:CURSORS.mouse.default,previewSize:40},{id:\"paw\",name:\"Paw\",preview:CURSORS.paw.default,previewSize:40},{id:\"glass\",name:\"Twinkle\",preview:SATIN_PREVIEW,previewSize:44}];const svgData=svg=>\"data:image/svg+xml;charset=utf-8,\"+encodeURIComponent(svg);const cursorUrl=(svg,[x,y],fallback)=>`url(\"${svgData(svg)}\") ${x} ${y}, ${fallback}`;function isChoice(v){return v===\"glass\"||v===\"mouse\"||v===\"dot\"||v===\"paw\"||v===\"classic\";}function readChoice(){try{const v=window.localStorage.getItem(STORE_KEY);if(v===\"tomato\")return\"dot\"// picks saved before the Dot replaced Tomato\n;return isChoice(v)?v:DEFAULT_CHOICE;}catch(e){return DEFAULT_CHOICE;}}// True once the visitor has picked something themselves (as opposed to the site default).\nfunction hasPick(){try{return window.localStorage.getItem(STORE_KEY)!=null;}catch(e){return false;}}function saveChoice(choice){try{window.localStorage.setItem(STORE_KEY,choice);}catch(e){/* storage can be blocked; the pick still applies to this page */}window.dispatchEvent(new CustomEvent(EVENT,{detail:choice}));}function siteCursorCss(){const rules=[];for(const id of[\"mouse\",\"dot\",\"paw\"]){const s=CURSORS[id];const clickHot=s.clickHot||s.hot;const root=`html[data-site-cursor=\"${id}\"]`;rules.push(`${root}, ${root} * { cursor: ${cursorUrl(s.default,s.hot,\"auto\")} !important }`);rules.push(`${root}[data-site-cursor-hot], ${root}[data-site-cursor-hot] * { cursor: ${cursorUrl(s.hover,s.hot,\"pointer\")} !important }`);rules.push(`${root}[data-site-cursor-down], ${root}[data-site-cursor-down] * { cursor: ${cursorUrl(s.click,clickHot,\"auto\")} !important }`);if(s.hoverClick){const both=`${root}[data-site-cursor-hot][data-site-cursor-down]`;rules.push(`${both}, ${both} * { cursor: ${cursorUrl(s.hoverClick,clickHot,\"pointer\")} !important }`);}}// Keep the normal I-beam in text fields.\nrules.push(`html[data-site-cursor]:not(#sc-a) ${TEXT_SELECTOR} { cursor: text !important }`);return rules.join(\"\\n\");}/**\n * Visitor Cursor\n *\n * @framerIntrinsicWidth 640\n * @framerIntrinsicHeight 150\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function VisitorCursor(props){const{showPicker,surface,ink,accent,line,nameFont,radius,style}=props;const isStatic=useIsStaticRenderer();const[choice,setChoice]=useState(DEFAULT_CHOICE);const[explicit,setExplicit]=useState(false);// Track the current pick so the picker shows it.\nuseEffect(()=>{if(typeof window===\"undefined\")return;startTransition(()=>{setChoice(readChoice());setExplicit(hasPick());});const onChange=e=>{const v=e.detail;startTransition(()=>{setChoice(isChoice(v)?v:readChoice());setExplicit(true);});};const onStorage=e=>{if(e.key===STORE_KEY)startTransition(()=>{setChoice(readChoice());setExplicit(hasPick());});};window.addEventListener(EVENT,onChange);window.addEventListener(\"storage\",onStorage);return()=>{window.removeEventListener(EVENT,onChange);window.removeEventListener(\"storage\",onStorage);};},[]);// Apply the pick to the whole page. Only one instance does this.\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\")return;if(window.matchMedia(\"(hover: none)\").matches)return;const w=window;if(w.__visitorCursorActive)return;w.__visitorCursorActive=true;const root=document.documentElement;const styleEl=document.createElement(\"style\");styleEl.textContent=siteCursorCss();document.head.appendChild(styleEl);const apply=c=>{if(c===\"mouse\"||c===\"dot\"||c===\"paw\")root.setAttribute(\"data-site-cursor\",c);else root.removeAttribute(\"data-site-cursor\");};apply(readChoice());const onChange=e=>{const v=e.detail;apply(isChoice(v)?v:readChoice());};const onStorage=e=>{if(e.key===STORE_KEY)apply(readChoice());};const onOver=e=>{const t=e.target;const hot=!!(t&&t.closest&&t.closest(HOT_SELECTOR));if(hot!==root.hasAttribute(\"data-site-cursor-hot\"))root.toggleAttribute(\"data-site-cursor-hot\",hot);};const onDown=e=>{if(e.button===0)root.setAttribute(\"data-site-cursor-down\",\"\");};const onUp=()=>root.removeAttribute(\"data-site-cursor-down\");window.addEventListener(EVENT,onChange);window.addEventListener(\"storage\",onStorage);document.addEventListener(\"mouseover\",onOver,{passive:true});window.addEventListener(\"pointerdown\",onDown,{passive:true});window.addEventListener(\"pointerup\",onUp,{passive:true});window.addEventListener(\"blur\",onUp);return()=>{window.removeEventListener(EVENT,onChange);window.removeEventListener(\"storage\",onStorage);document.removeEventListener(\"mouseover\",onOver);window.removeEventListener(\"pointerdown\",onDown);window.removeEventListener(\"pointerup\",onUp);window.removeEventListener(\"blur\",onUp);root.removeAttribute(\"data-site-cursor\");root.removeAttribute(\"data-site-cursor-hot\");root.removeAttribute(\"data-site-cursor-down\");styleEl.remove();w.__visitorCursorActive=false;};},[isStatic]);// Twinkle is drawn by GlassCursor. It only runs once the visitor has actually picked it (the site default is\n// the Dot); this mounts one when they do, in case the page has no GlassCursor of its own. Only one GlassCursor runs.\nconst glassNode=!isStatic&&choice===\"glass\"&&(showPicker||explicit)?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,top:0,width:1,height:1,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(GlassCursor,{...{}})}):null;if(!showPicker){return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{...style,position:\"relative\",width:1,height:1,pointerEvents:\"none\"},children:glassNode});}const pick=c=>{startTransition(()=>{setChoice(c);setExplicit(true);});saveChoice(c);};// The cursor only changes when an option is clicked; hovering an option keeps the current cursor.\nreturn /*#__PURE__*/_jsxs(\"div\",{role:\"radiogroup\",\"aria-label\":\"Cursor on this site\",style:{...style,position:\"relative\",width:\"100%\",display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(130px, 1fr))\",gap:10},children:[glassNode,OPTIONS.map(o=>{const on=o.id===choice;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",role:\"radio\",\"aria-checked\":on,onClick:()=>pick(o.id),style:{appearance:\"none\",display:\"flex\",alignItems:\"center\",gap:12,padding:10,textAlign:\"left\",borderRadius:radius,border:`1px solid ${on?accent:line}`,boxShadow:on?`0 0 0 1px ${accent}, 0 2px 2px ${withAlpha(accent,.35)}`:\"none\",background:surface,color:ink,transition:\"border-color .15s ease, box-shadow .2s ease\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{width:46,height:46,flexShrink:0,display:\"grid\",placeItems:\"center\",borderRadius:Math.max(0,radius-4),border:`1px solid ${line}`,backgroundColor:\"#ffffff\",backgroundImage:\"conic-gradient(#ece8df 25%, transparent 0 50%, #ece8df 0 75%, transparent 0)\",backgroundSize:\"10px 10px\"},children:/*#__PURE__*/_jsx(\"img\",{src:svgData(o.preview),alt:\"\",width:o.previewSize,height:o.previewSize,draggable:false})}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:'\"Geist\", sans-serif',...nameFont,color:ink,minWidth:0},children:o.name})]},o.id);})]});}// Accepts #RGB, #RRGGBB or rgb()/rgba() and returns rgba() with the given alpha.\nfunction withAlpha(color,alpha){if(color.startsWith(\"#\")){let hex=color.slice(1);if(hex.length===3)hex=hex.split(\"\").map(c=>c+c).join(\"\");const n=parseInt(hex.slice(0,6),16);return`rgba(${n>>16&255}, ${n>>8&255}, ${n&255}, ${alpha})`;}const parts=color.match(/[\\d.]+/g);if(parts&&parts.length>=3)return`rgba(${parts[0]}, ${parts[1]}, ${parts[2]}, ${alpha})`;return color;}addPropertyControls(VisitorCursor,{showPicker:{type:ControlType.Boolean,title:\"Show Picker\",defaultValue:true,enabledTitle:\"Picker\",disabledTitle:\"Hidden\",description:\"Hidden: only applies the visitor's pick. The nav's RollingText embeds one.\"},surface:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#FFFDF8\",hidden:p=>!p.showPicker},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#171615\",hidden:p=>!p.showPicker},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#FF5B2E\",hidden:p=>!p.showPicker},line:{type:ControlType.Color,title:\"Line\",defaultValue:\"#E2DDD2\",hidden:p=>!p.showPicker},nameFont:{type:ControlType.Font,title:\"Name Font\",defaultValue:{fontSize:\"15px\",variant:\"Semibold\",lineHeight:\"1.1em\",letterSpacing:\"-0.01em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden:p=>!p.showPicker},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:14,min:0,max:32,step:1,hidden:p=>!p.showPicker}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VisitorCursor\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"640\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"150\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VisitorCursor.map","/*\n * VisitorCursor\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/aYiLNGDrPJVsV8BNkAJ4/BEtptpYmXXnAXnSGHW95/VisitorCursor.js\"\nexport { default } from \"https://framerusercontent.com/modules/aYiLNGDrPJVsV8BNkAJ4/BEtptpYmXXnAXnSGHW95/VisitorCursor.js\"\n","// Rolling Text Animation by Robbi Firmansah - Bie Lab\n// Added: embeds a hidden Visitor Cursor (1px, invisible). RollingText lives in the nav bar, which is on every page, so\n// this is what keeps a visitor's cursor pick (Twinkle, Mouse, Paw, Dot or Classic) applied as they move between pages.\n// It does nothing to the text animation. Remove the <VisitorCursor> line below to turn it off.\n// Update: the Visitor Cursor import is pinned to a saved version (the @… part of the URL). Without the pin Framer kept\n// serving an older cached copy (the orange-on-hover Dot). After editing VisitorCursor.tsx, update the pin to its new\n// version so the nav picks up the change.\n// Update: pin moved to the version with the smaller Dot.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useInView}from\"framer-motion\";import VisitorCursor from\"https://framer.com/m/VisitorCursor-JlGxvU.js@BEtptpYmXXnAXnSGHW95\";/**\n * Vertical Text Rolling Animation\n *\n * Each character position shows a vertical column of the SAME target letter repeated multiple times, rolling to reveal the final character.\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 120\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function RollingText(props){const{text=\"ROLLING\",duplicateCount=8,rollDuration=2,staggerDelay=.1,blurIntensity=8,backgroundColor=\"#000000\",textColor=\"#FFFFFF\",font,animationPattern=\"sequential\"}=props;const[isAnimating,setIsAnimating]=useState(false);const containerRef=useRef(null);const isInView=useInView(containerRef,{once:true});const isStatic=useIsStaticRenderer();const handleHover=()=>{if(isStatic)return;startTransition(()=>{setIsAnimating(false);setTimeout(()=>{startTransition(()=>setIsAnimating(true));},50);});};const characters=text.split(\"\");return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\",cursor:\"pointer\",userSelect:\"none\"},onMouseEnter:handleHover,children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,top:0,width:1,height:1,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(VisitorCursor,{...{showPicker:false}})}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:\"0.05em\",...font},children:characters.map((char,index)=>/*#__PURE__*/_jsx(CharacterColumn,{character:char,duplicateCount:duplicateCount,rollDuration:rollDuration,delay:index*staggerDelay,blurIntensity:blurIntensity,isAnimating:isAnimating,textColor:textColor,font:font,isStatic:isStatic,animationPattern:animationPattern,characterIndex:index},`${char}-${index}`))})]});}function CharacterColumn({character,duplicateCount,rollDuration,delay,blurIntensity,isAnimating,textColor,font,isStatic,animationPattern,characterIndex}){// Create array of duplicate characters\nconst duplicates=Array(duplicateCount).fill(character);// Calculate the height needed to show one character\nconst lineHeight=parseFloat(font?.lineHeight||\"1em\");const fontSize=parseFloat(font?.fontSize||\"60px\");const characterHeight=fontSize*lineHeight;// Calculate total scroll distance (all duplicates minus the final visible one)\nconst totalScrollDistance=characterHeight*(duplicateCount-1);// Determine animation direction based on pattern and character position\nconst isOddPosition=characterIndex%2===0// 0-indexed, so 0,2,4... are \"odd\" positions (1st, 3rd, 5th...)\n;const shouldRollFromBottom=animationPattern===\"alternating\"&&!isOddPosition;// Set initial and final positions based on direction\nconst initialY=shouldRollFromBottom?-totalScrollDistance:0;const finalY=shouldRollFromBottom?0:-totalScrollDistance;if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:`${characterHeight}px`,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,...font,lineHeight:font?.lineHeight||\"1em\"},children:character})});}return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:`${characterHeight}px`,overflow:\"hidden\",display:\"flex\",alignItems:\"flex-start\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\"},initial:{y:initialY},animate:{y:finalY},transition:{duration:rollDuration,delay:delay,ease:[.25,.46,.45,.94],type:\"tween\"},children:duplicates.map((char,index)=>/*#__PURE__*/_jsx(motion.span,{style:{color:textColor,height:`${characterHeight}px`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...font,lineHeight:font?.lineHeight||\"1em\"},initial:{filter:\"blur(0px)\"},animate:{filter:[\"blur(0px)\",`blur(${blurIntensity}px)`,`blur(${blurIntensity}px)`,\"blur(0px)\"]},transition:{duration:rollDuration,delay:delay,times:[0,.2,.8,1],ease:\"easeOut\"},children:char},index))},isAnimating?\"animating\":\"idle\")});}addPropertyControls(RollingText,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"ROLLING\"},animationPattern:{type:ControlType.Enum,title:\"Animation Pattern\",options:[\"sequential\",\"alternating\"],optionTitles:[\"Sequential\",\"Alternating\"],defaultValue:\"sequential\",displaySegmentedControl:true},font:{type:ControlType.Font,title:\"Font\",defaultValue:{fontSize:\"60px\",variant:\"Bold\",letterSpacing:\"-0.02em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#FFFFFF\"},duplicateCount:{type:ControlType.Number,title:\"Duplicate Count\",defaultValue:8,min:3,max:20,step:1},rollDuration:{type:ControlType.Number,title:\"Roll Duration\",defaultValue:2,min:.5,max:5,step:.1,unit:\"s\"},staggerDelay:{type:ControlType.Number,title:\"Stagger Delay\",defaultValue:.1,min:0,max:.5,step:.01,unit:\"s\"},blurIntensity:{type:ControlType.Number,title:\"Blur Intensity\",defaultValue:8,min:0,max:20,step:1,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RollingText\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"120\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RollingText.map","// Generated by Framer (7bfce40)\nimport{jsx as _jsx}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/wKH64u7CXMvcwPsLtVIa/o4OpJWS1fRihxZJryY27/RollingText.js\";const RollingTextFonts=getFonts(RollingText);const cycleOrder=[\"VDDdmhC8Z\",\"i1esNVt2W\"];const serializationHash=\"framer-Dtp32\";const variantClassNames={i1esNVt2W:\"framer-v-usebie\",VDDdmhC8Z:\"framer-v-n7ur2r\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const xfmlbPKZG=undefined;const YIujMXGXM=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\":\"VDDdmhC8Z\",\"Variant 2\":\"i1esNVt2W\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,text,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"VDDdmhC8Z\",xfmlbPKZG:link??props.xfmlbPKZG,YIujMXGXM:text??props.YIujMXGXM??\"Work\"};};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,YIujMXGXM,xfmlbPKZG,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"VDDdmhC8Z\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onMouseEnter1t80g0p=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});setVariant(\"i1esNVt2W\");});const onMouseLeaveukdjkq=activeVariantCallback(async(...args)=>{setGestureState({isHovered:false});setVariant(\"VDDdmhC8Z\");});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:xfmlbPKZG,motionChild:true,nodeId:\"VDDdmhC8Z\",openInNewTab:false,scopeId:\"dhIdoIbwe\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-n7ur2r\",className,classNames)} framer-oxvvt`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"VDDdmhC8Z\",onMouseEnter:onMouseEnter1t80g0p,ref:refBinding,style:{backgroundColor:\"rgba(68, 68, 68, 0)\",...style},variants:{i1esNVt2W:{backgroundColor:\"rgba(68, 68, 68, 0.1)\"}},...addPropertyOverrides({i1esNVt2W:{\"data-framer-name\":\"Variant 2\",onMouseLeave:onMouseLeaveukdjkq}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-14p0kup-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"sc2unS43u-container\",nodeId:\"sc2unS43u\",rendersWithMotion:true,scopeId:\"dhIdoIbwe\",children:/*#__PURE__*/_jsx(RollingText,{animationPattern:\"sequential\",backgroundColor:\"rgba(0, 0, 0, 0)\",blurIntensity:0,duplicateCount:3,font:{fontFamily:'\"Space Grotesk\", \"Space Grotesk Placeholder\", sans-serif',fontSize:\"18px\",fontStyle:\"normal\",fontWeight:600,letterSpacing:\"-0.02em\",lineHeight:\"1em\"},height:\"100%\",id:\"sc2unS43u\",layoutId:\"sc2unS43u\",rollDuration:.5,staggerDelay:.1,text:YIujMXGXM,textColor:\"rgb(68, 68, 68)\",width:\"100%\"})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Dtp32.framer-oxvvt, .framer-Dtp32 .framer-oxvvt { display: block; }\",\".framer-Dtp32.framer-n7ur2r { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 4px 8px 4px 8px; position: relative; text-decoration: none; width: min-content; }\",\".framer-Dtp32 .framer-14p0kup-container { flex: none; height: auto; position: relative; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 26\n * @framerIntrinsicWidth 61.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"i1esNVt2W\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"YIujMXGXM\":\"text\",\"xfmlbPKZG\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerdhIdoIbwe=withCSS(Component,css,\"framer-Dtp32\");export default FramerdhIdoIbwe;FramerdhIdoIbwe.displayName=\"Navigation\";FramerdhIdoIbwe.defaultProps={height:26,width:61.5};addPropertyControls(FramerdhIdoIbwe,{variant:{options:[\"VDDdmhC8Z\",\"i1esNVt2W\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},YIujMXGXM:{defaultValue:\"Work\",title:\"Text\",type:ControlType.String},onYIujMXGXMChange:{changes:\"YIujMXGXM\",type:ControlType.ChangeHandler},xfmlbPKZG:{title:\"Link\",type:ControlType.Link}});addFonts(FramerdhIdoIbwe,[{explicitInter:true,fonts:[{cssFamilyName:\"Space Grotesk\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Space Grotesk\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/FOIKAJFLDFRPJ452NHBMMHCNDL4FUUBB/5AC3Y6FTG5H7IECKNZVIR7XI64O5YW5S/OB3CIWMGQGGYEGXRXPOVBXWAH4INE6T4.woff2\",weight:\"600\"}]},...RollingTextFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerdhIdoIbwe\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"YIujMXGXM\\\":\\\"text\\\",\\\"xfmlbPKZG\\\":\\\"link\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"26\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"i1esNVt2W\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"61.5\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f8e97a5)\nexport default function metadata(params,activeLocale){return{favicon:\"https://framerusercontent.com/assets/NTvBuUiUQyEisacScjsTpoyVnw.png\",robots:\"max-image-preview:large\",title:\"Celena's Playground\"};}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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AAE,CAAC,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,EAAE,KAAK,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,QAAQ,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,K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"}