@magic-ext/magic-widget 1.0.0-canary.979.21192450759.0 → 1.0.0-canary.979.21261788025.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +316 -45
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/reducer.d.ts +5 -1
- package/dist/cjs/types/types.d.ts +4 -3
- package/dist/cjs/types/utils/device.d.ts +5 -0
- package/dist/cjs/types/views/WalletConnectView.d.ts +7 -0
- package/dist/cjs/types/views/WalletPendingView.d.ts +3 -2
- package/dist/cjs/types/wagmi/walletconnect-provider.d.ts +3 -0
- package/dist/es/index.mjs +316 -45
- package/dist/es/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -2
package/dist/cjs/index.js
CHANGED
|
@@ -9,6 +9,9 @@ var provider = require('@magic-sdk/provider');
|
|
|
9
9
|
var core = require('@wagmi/core');
|
|
10
10
|
var appkitAdapterWagmi = require('@reown/appkit-adapter-wagmi');
|
|
11
11
|
var networks$1 = require('@reown/appkit/networks');
|
|
12
|
+
var viem = require('viem');
|
|
13
|
+
var ethereumProvider = require('@walletconnect/ethereum-provider');
|
|
14
|
+
var appkit = require('@reown/appkit');
|
|
12
15
|
|
|
13
16
|
function _interopNamespaceDefault(e) {
|
|
14
17
|
var n = Object.create(null);
|
|
@@ -9216,7 +9219,7 @@ const d$o=({color:o,title:l,titleId:e,...r})=>{const i=o||token("colors.text.pri
|
|
|
9216
9219
|
|
|
9217
9220
|
const f$9={branded:d$p,success:s$d,error:d$r,warning:d$o,neutral:d$q},d$n=o=>{const{variant:t="branded",...m}=o,n=f$9[t];return jsxRuntime.jsx(HStack,{children:jsxRuntime.jsx(n,{...m})})};
|
|
9218
9221
|
|
|
9219
|
-
const b$
|
|
9222
|
+
const b$8=React.forwardRef((g,N)=>{const{label:w,description:n,size:l="md",variant:m="branded",icon:c=false,dismissible:d=false,onPress:e}=g,[k,x]=React.useState(true),[C,S]=React.useState(false),s={sm:token("spacing.4"),md:token("spacing.5"),lg:token("spacing.6")},p=n?s.sm:s[l],i=o$3({size:l,variant:m,icon:c,description:!!n,isDismissed:C,dismissible:d,interactive:!!e}),j=()=>{S(true);},v=React.useRef(null),u=N||v,{buttonProps:I}=$701a24aa0da5b062$export$ea18c227d4417cc3({onPress:e},u),f=()=>jsxRuntime.jsxs(HStack,{className:e?"":i.container,onAnimationEnd:()=>x(false),ref:u,children:[jsxRuntime.jsxs(VStack,{alignItems:"flex-start",gap:1.5,children:[jsxRuntime.jsxs(HStack,{w:"full",justifyContent:"space-between",children:[jsxRuntime.jsxs(HStack,{alignItems:"center",children:[c&&jsxRuntime.jsx(d$n,{variant:m,className:i.icon,width:p,height:p}),jsxRuntime.jsx("p",{className:i.label,children:w})]}),d&&jsxRuntime.jsx("button",{className:i.button,onClick:j,"aria-label":"dismiss callout",children:jsxRuntime.jsx(c$a,{className:i.button,width:s.sm,height:s.sm})})]}),!!n&&jsxRuntime.jsx("p",{className:i.description,children:n})]}),!!e&&jsxRuntime.jsx(c$b,{className:i.button,width:s.sm,height:s.sm})]});return k?e?jsxRuntime.jsx("button",{...I,className:i.container,children:jsxRuntime.jsx(f,{})}):jsxRuntime.jsx(f,{}):null});b$8.displayName="Callout";
|
|
9220
9223
|
|
|
9221
9224
|
const d$m=({inverted:a,neutral:c,progress:h=30,size:e=64,strokeWidth:r=6})=>{const t=e/2,l=Math.abs(h)/100,i=2*Math.PI*t,s=a?"surface.primary":c?"text.primary":"brand.base";return jsxRuntime.jsx(Center,{inline:true,children:jsxRuntime.jsxs("svg",{width:e,height:e,viewBox:`0 0 ${e} ${e}`,fill:"none",stroke:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("circle",{className:css({stroke:s,strokeOpacity:.12}),cx:"50%",cy:"50%",r:t-r/2,strokeLinecap:"round",strokeWidth:r}),jsxRuntime.jsx("circle",{className:css({animation:"spin 1s linear infinite",stroke:s,transformOrigin:"center center"}),cx:"50%",cy:"50%",r:t-r/2,strokeDasharray:i,strokeDashoffset:i-i*l+r*4,strokeLinecap:"round",strokeWidth:r})]})})};
|
|
9222
9225
|
|
|
@@ -9274,7 +9277,7 @@ const B$3=({isOpen:r=false,title:u,onToggle:e,children:d,showCloseButton:f=true}
|
|
|
9274
9277
|
|
|
9275
9278
|
const s$a=({color:o,title:t,titleId:l,...r})=>{const e=o||token("colors.text.primary");return jsxRuntime.jsxs("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",color:e,"aria-labelledby":l,...r,children:[t?jsxRuntime.jsx("title",{id:l,children:t}):null,jsxRuntime.jsx("path",{d:"M11.2625 0.24827C11.4758 0.0870459 11.7344 0 12 0C12.2656 0 12.5242 0.0870459 12.7375 0.24827C14.2625 1.36858 17.625 4.81861 17.625 13.1445C17.625 15.8944 16.65 19.2044 15.925 21.2285C15.75 21.725 15.2875 22.056 14.7625 22.056H9.25C8.725 22.056 8.25 21.725 8.075 21.2285C7.35 19.2044 6.375 15.8944 6.375 13.1445C6.375 4.81861 9.7375 1.36858 11.2625 0.24827ZM14.5 10.5984C14.5 9.19799 13.375 8.05222 12 8.05222C10.625 8.05222 9.5 9.19799 9.5 10.5984C9.5 11.9988 10.625 13.1445 12 13.1445C13.375 13.1445 14.5 11.9988 14.5 10.5984ZM6.6125 22.718C6.0125 21.1522 4.7125 17.4093 4.525 13.972L3.1125 14.9268C2.4125 15.4106 2 16.1999 2 17.0529V22.718C2 23.6219 2.8875 24.233 3.7125 23.902L6.6125 22.718ZM22 22.718V17.0529C22 16.1999 21.5875 15.4106 20.8875 14.9396L19.475 13.9848C19.2875 17.4093 17.975 21.1649 17.3875 22.7308L20.2875 23.9147C21.1125 24.233 22 23.6219 22 22.718Z",fill:"currentColor"})]})};
|
|
9276
9279
|
|
|
9277
|
-
const b$
|
|
9280
|
+
const b$7="https://assets.fortmatic.com/MagicLogos/blank.png",o$1="2.625rem",c$6=D$3(({children:t,...r})=>jsxRuntime.jsx(Center,{children:React.Children.map(t,i=>React.cloneElement(i,r))})),w$2=t=>{const{assetUri:r}=t;return $$5(t.children,i=>{const s=i.get(c$6);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:!r||r===b$7?s?{...s,props:{...s.props,width:o$1,height:o$1}}:jsxRuntime.jsx(s$a,{height:o$1,width:o$1,color:token("colors.brand.lighter")}):jsxRuntime.jsx("img",{className:css({height:o$1,width:o$1,overflow:"hidden"}),alt:"logo",src:r})})})};Object.assign(w$2,{PlaceholderIcon:c$6});
|
|
9278
9281
|
|
|
9279
9282
|
/**
|
|
9280
9283
|
* Lodash (Custom Build) <https://lodash.com/>
|
|
@@ -13419,7 +13422,7 @@ var qrcode = function() {
|
|
|
13419
13422
|
}));
|
|
13420
13423
|
});
|
|
13421
13424
|
|
|
13422
|
-
createCommonjsModule(function (module, exports$1) {
|
|
13425
|
+
var dist = createCommonjsModule(function (module, exports$1) {
|
|
13423
13426
|
var __extends = (commonjsGlobal && commonjsGlobal.__extends) || (function () {
|
|
13424
13427
|
var extendStatics = function (d, b) {
|
|
13425
13428
|
extendStatics = Object.setPrototypeOf ||
|
|
@@ -13796,7 +13799,7 @@ const s$9=D$3("div"),c$4=D$3("div"),l$1=D$3("div"),h$6=({children:a,position:m="
|
|
|
13796
13799
|
|
|
13797
13800
|
const s$8=({color:e,title:o,titleId:r,...l})=>{const i=e||token("colors.text.primary");return jsxRuntime.jsxs("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",color:i,"aria-labelledby":r,...l,children:[o?jsxRuntime.jsx("title",{id:r,children:o}):null,jsxRuntime.jsx("path",{d:"M3 6H21",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"}),jsxRuntime.jsx("path",{d:"M3 12H21",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"}),jsxRuntime.jsx("path",{d:"M3 18H21",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"}),jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 6C2 5.44772 2.44772 5 3 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H3C2.44772 7 2 6.55228 2 6ZM2 12C2 11.4477 2.44772 11 3 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H3C2.44772 13 2 12.5523 2 12ZM3 17C2.44772 17 2 17.4477 2 18C2 18.5523 2.44772 19 3 19H21C21.5523 19 22 18.5523 22 18C22 17.4477 21.5523 17 21 17H3Z",fill:"currentColor"})]})};
|
|
13798
13801
|
|
|
13799
|
-
const g$4=D$3("div"),b$
|
|
13802
|
+
const g$4=D$3("div"),b$6=D$3("div"),h$5=D$3("div"),L$3=({children:x,placement:y="right",isOpen:i=false})=>{const[r,o]=React.useState(i),[v,p]=React.useState(r),a=React.useRef(null),s=y==="left";return React.useEffect(()=>{o(i);},[i]),React.useEffect(()=>{let t;return r?t=setTimeout(()=>p(true),10):p(false),()=>clearTimeout(t)},[r]),React.useEffect(()=>{const t=m=>{a.current&&!a.current.contains(m.target)&&o(false);};return document.addEventListener("mousedown",t),()=>{document.removeEventListener("mousedown",t);}},[o]),$$5(x,t=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Q$2,{onPress:()=>o(m=>!m),textStyle:"neutral",variant:"text",children:jsxRuntime.jsx(Q$2.TrailingIcon,{children:jsxRuntime.jsx(s$8,{})})}),jsxRuntime.jsx(Box,{position:"absolute",display:r?"block":"none",h:"full",bottom:0,left:0,right:0,bg:"text.primary/20",_dark:{bg:"rgba(0, 0, 0, .7)"}}),jsxRuntime.jsxs(Stack,{ref:a,position:"absolute",transform:v?"translateX(0)":s?"translateX(-100%)":"translateX(100%)",transition:"transform 0.3s",top:0,bottom:0,...s?{left:0}:{right:0},bg:"surface.primary",_dark:{bg:"surface.secondary"},...s?{roundedRight:"2xl"}:{roundedLeft:"2xl"},zIndex:10,justifyContent:"space-between",p:4,pb:6,w:80,children:[jsxRuntime.jsxs(Stack,{gap:6,children:[jsxRuntime.jsx(Stack,{h:"full",justifyContent:"space-between",children:t.get(g$4)}),jsxRuntime.jsx(Divider,{color:"surface.quaternary"}),jsxRuntime.jsx(Stack,{children:t.get(b$6)})]}),t.get(h$5)]})]}))},T$4=Object.assign(L$3,{Header:g$4,Content:b$6,Footer:h$5});
|
|
13800
13803
|
|
|
13801
13804
|
const f$6=({animate:n,show:o,onHidden:s,onShown:a})=>{const[i,t]=React.useState(o),d=React.useCallback(()=>a(),[]),r=React.useCallback(()=>{t(false),s();},[]);return React.useEffect(()=>{o?t(true):n||t(false);},[o]),{displayed:i,onShow:d,onHide:r}};
|
|
13802
13805
|
|
|
@@ -13894,9 +13897,9 @@ const _$2=({avatarUrl:i,email:o,name:e,logoutLabel:d="Log out",onReceive:a,onLog
|
|
|
13894
13897
|
|
|
13895
13898
|
const i=D$3(({children:r})=>r),L$1=r=>{const{isPending:e,isSuccess:m,onChange:n,onComplete:p,originName:s,pinLength:c,id:a,autoFocus:g,errorMessage:t,children:h}=r,d=()=>e?jsxRuntime.jsx(d$m,{size:36,strokeWidth:4}):m?jsxRuntime.jsx(s$d,{color:token("colors.brand.base"),width:36,height:36}):jsxRuntime.jsx(k$4,{originName:s,onChange:n,pinLength:c,onComplete:p,id:a,autoFocus:g});return $$5(h,l=>jsxRuntime.jsxs(VStack,{gap:3,my:3,children:[jsxRuntime.jsx(Center,{height:12,children:d()}),t&&jsxRuntime.jsx(M$8,{variant:"error",size:"sm",styles:{textAlign:"center"},children:t}),l.get(i)]}))},P$2=Object.assign(L$1,{RetryContent:i});
|
|
13896
13899
|
|
|
13897
|
-
var m$3=typeof window>"u"?React__namespace.useEffect:React__namespace.useLayoutEffect,y$5=e=>{let t=React__namespace.createContext(e);return t.displayName="SlotsContext",t},x$3=e=>typeof e=="string"?e:e.displayName||e.name||"Component",h$3=["$$typeof","render","displayName","defaultProps"],E$1=(e,t)=>{if(typeof t=="string")return e;let r=Object.getOwnPropertyNames(t).reduce((o,s)=>(h$3.includes(s)||(o[s]=t[s]),o),{});return Object.assign(e,r)};var d$5="slots-wrapper",N$1=new RegExp(`^<${d$5}>.*</${d$5}>$`),v$1=({name:e,forceUpdate:t,children:r})=>{let o=React__namespace.useRef(null),s=React__namespace.useRef(false);return m$3(()=>{var c;if(!s.current&&((c=o.current)==null?void 0:c.innerHTML)){let i=o.current.innerHTML;i&&!N$1.test(i)&&console.warn(`Unwrapped children found in "${e}", either wrap them in slots or remove`);}s.current=true,t();},[e]),s.current?React__namespace.createElement(React__namespace.Fragment,null,r):React__namespace.createElement(d$5,{ref:o},r)};var f$3=React__namespace.createContext({rescan:()=>{}}),P$1=({children:e})=>{let[t,r]=React__namespace.useReducer(()=>[],[]),o=React__namespace.useMemo(()=>({rescan:r}),[t]);return React__namespace.createElement(f$3.Provider,{value:o},e)};var C$3=e=>{let t=new Map;return {register(r,o){t.set(r,o);},update(r,o){t.set(r,o),e==null||e(r);},unmount(r){t.delete(r),e==null||e(r);},clear(){t.clear();},has(r){return t.has(r)},get(){return Array.from(t.values())}}};var A$2=(e,t)=>e.type===t,b$
|
|
13900
|
+
var m$3=typeof window>"u"?React__namespace.useEffect:React__namespace.useLayoutEffect,y$5=e=>{let t=React__namespace.createContext(e);return t.displayName="SlotsContext",t},x$3=e=>typeof e=="string"?e:e.displayName||e.name||"Component",h$3=["$$typeof","render","displayName","defaultProps"],E$1=(e,t)=>{if(typeof t=="string")return e;let r=Object.getOwnPropertyNames(t).reduce((o,s)=>(h$3.includes(s)||(o[s]=t[s]),o),{});return Object.assign(e,r)};var d$5="slots-wrapper",N$1=new RegExp(`^<${d$5}>.*</${d$5}>$`),v$1=({name:e,forceUpdate:t,children:r})=>{let o=React__namespace.useRef(null),s=React__namespace.useRef(false);return m$3(()=>{var c;if(!s.current&&((c=o.current)==null?void 0:c.innerHTML)){let i=o.current.innerHTML;i&&!N$1.test(i)&&console.warn(`Unwrapped children found in "${e}", either wrap them in slots or remove`);}s.current=true,t();},[e]),s.current?React__namespace.createElement(React__namespace.Fragment,null,r):React__namespace.createElement(d$5,{ref:o},r)};var f$3=React__namespace.createContext({rescan:()=>{}}),P$1=({children:e})=>{let[t,r]=React__namespace.useReducer(()=>[],[]),o=React__namespace.useMemo(()=>({rescan:r}),[t]);return React__namespace.createElement(f$3.Provider,{value:o},e)};var C$3=e=>{let t=new Map;return {register(r,o){t.set(r,o);},update(r,o){t.set(r,o),e==null||e(r);},unmount(r){t.delete(r),e==null||e(r);},clear(){t.clear();},has(r){return t.has(r)},get(){return Array.from(t.values())}}};var A$2=(e,t)=>e.type===t,b$5=e=>{if(!e)return;let{key:t,ref:r,props:o}=e;return {...o,key:t,ref:r}};var R$1=y$5(void 0),$$1=({children:e})=>e(),w$1=e=>{let t=0;return ()=>`${e}_${t++}`},M$2=w$1("s"),K=({children:e,callback:t})=>{let r=React__namespace.useReducer(()=>[],[])[1],o=React__namespace.useMemo(()=>C$3(r),[r]);return React__namespace.createElement(React__namespace.Fragment,null,React__namespace.createElement(R$1.Provider,{value:o},React__namespace.createElement(P$1,null,process.env.NODE_ENV==="production"?e:React__namespace.createElement(v$1,{name:"HostSlots",forceUpdate:r},e))),React__namespace.createElement($$1,null,()=>t(o.get())))},X$1=(e,t)=>React__namespace.createElement(K,{children:e,callback:t}),q$2=e=>{let t=w$1(M$2()),r=React__namespace.forwardRef(({$slot_key$:c,...i},S)=>{let a=React__namespace.useContext(R$1);if(!a)return null;let g=React__namespace.useContext(f$3),T=React__namespace.createElement(s,{key:c,ref:S,...i});return a.register(c,T),React__namespace.useEffect(()=>{a.has(c)&&a.update(c,T);}),m$3(()=>(a.clear(),g.rescan(),()=>a.unmount(c)),[a]),null}),o=(c,i)=>{if(!React__namespace.useContext(R$1))return e?React__namespace.createElement(e,{ref:i,...c}):null;let[a]=React__namespace.useState(t);return React__namespace.createElement(r,{ref:i,$slot_key$:a,...c})};o.displayName=e?`Slot(${x$3(e)})`:"Slot";let s=React__namespace.forwardRef(o);return e?E$1(s,e):s};
|
|
13898
13901
|
|
|
13899
|
-
const l=q$2(({actionBox:e,children:n,disabledLabel:o,label:i,onPress:r})=>e?jsxRuntime.jsx(Center,{h:"76px",maxW:"115px",w:"full",opacity:o?.3:1,pointerEvents:o?"none":"initial",children:jsxRuntime.jsx(a$4,{className:css({_hover:{bgColor:"neutral.secondary"},bgColor:"neutral.tertiary",h:"100%"}),borderRadius:"0.75rem",expand:true,onPress:r,children:jsxRuntime.jsxs(VStack,{gap:2,children:[React.cloneElement(React.Children.only(n),{height:20,width:20}),jsxRuntime.jsx(M$8,{size:"sm",styles:{fontWeight:500},children:i})]})})}):jsxRuntime.jsxs(VStack,{gap:1,minW:20,opacity:o?.3:1,pointerEvents:o?"none":"initial",children:[jsxRuntime.jsx(Q$2,{variant:"neutral",size:"sm",onPress:r,"aria-label":"Buy",children:jsxRuntime.jsx(Q$2.LeadingIcon,{children:n})}),jsxRuntime.jsx(M$8,{size:"sm",styles:{fontWeight:500},children:i})]})),f$2=({actionBox:e,children:n})=>jsxRuntime.jsx(Box,{w:"full",children:X$1(n,o=>jsxRuntime.jsx(HStack,{w:"full",justifyContent:"space-around",px:10,children:o.map(i=>{if(A$2(i,l)){const{key:r,disabledLabel:m,...a}=b$
|
|
13902
|
+
const l=q$2(({actionBox:e,children:n,disabledLabel:o,label:i,onPress:r})=>e?jsxRuntime.jsx(Center,{h:"76px",maxW:"115px",w:"full",opacity:o?.3:1,pointerEvents:o?"none":"initial",children:jsxRuntime.jsx(a$4,{className:css({_hover:{bgColor:"neutral.secondary"},bgColor:"neutral.tertiary",h:"100%"}),borderRadius:"0.75rem",expand:true,onPress:r,children:jsxRuntime.jsxs(VStack,{gap:2,children:[React.cloneElement(React.Children.only(n),{height:20,width:20}),jsxRuntime.jsx(M$8,{size:"sm",styles:{fontWeight:500},children:i})]})})}):jsxRuntime.jsxs(VStack,{gap:1,minW:20,opacity:o?.3:1,pointerEvents:o?"none":"initial",children:[jsxRuntime.jsx(Q$2,{variant:"neutral",size:"sm",onPress:r,"aria-label":"Buy",children:jsxRuntime.jsx(Q$2.LeadingIcon,{children:n})}),jsxRuntime.jsx(M$8,{size:"sm",styles:{fontWeight:500},children:i})]})),f$2=({actionBox:e,children:n})=>jsxRuntime.jsx(Box,{w:"full",children:X$1(n,o=>jsxRuntime.jsx(HStack,{w:"full",justifyContent:"space-around",px:10,children:o.map(i=>{if(A$2(i,l)){const{key:r,disabledLabel:m,...a}=b$5(i);return m?jsxRuntime.jsx(d$j,{content:m,width:"max-content",children:jsxRuntime.jsx(Box,{children:jsxRuntime.jsx(l,{actionBox:e,disabledLabel:m,...a})})},r):jsxRuntime.jsx(l,{actionBox:e,...a},r)}})}))});f$2.Action=l;
|
|
13900
13903
|
|
|
13901
13904
|
const x$2=({actionBox:n,buyLabel:s="Buy",buyDisabledLabel:b,sendLabel:r="Send",sendDisabledLabel:t,swapLabel:d="Swap",swapDisabledLabel:c,onBuy:l,onSend:a,onSwap:i})=>jsxRuntime.jsxs(f$2,{actionBox:n,children:[l&&jsxRuntime.jsx(f$2.Action,{disabledLabel:b,label:s,onPress:l,children:jsxRuntime.jsx(s$7,{})}),i&&jsxRuntime.jsx(f$2.Action,{disabledLabel:c,label:d,onPress:i,children:jsxRuntime.jsx(d$9,{})}),a&&jsxRuntime.jsx(f$2.Action,{disabledLabel:t,label:r,onPress:a,children:jsxRuntime.jsx(n$5,{})})]});
|
|
13902
13905
|
|
|
@@ -13906,13 +13909,13 @@ const H$2=({connected:r,connectedLabel:p="Connected",disconnectLabel:l,disconnec
|
|
|
13906
13909
|
|
|
13907
13910
|
const a$1=({fiatTotal:t,symbol:s})=>{const i=t?t.split("."):["0","00"],r=t?"text.primary":"text.tertiary";return jsxRuntime.jsxs(HStack,{alignItems:"flex-start",gap:1,my:3,children:[jsxRuntime.jsx(M$8.H4,{fontColor:r,styles:{lineHeight:"2.75rem"},children:s}),jsxRuntime.jsxs(HStack,{alignItems:"baseline",gap:0,children:[jsxRuntime.jsx(M$8.H1,{fontColor:r,children:i[0]}),jsxRuntime.jsx(M$8.H4,{fontColor:r,children:`.${i[1]||"00"}`})]})]})};
|
|
13908
13911
|
|
|
13909
|
-
const j$1=D$3(_$2),y$4=D$3(x$2),A$1=D$3(m$2),M$1=D$3(H$2),b$
|
|
13912
|
+
const j$1=D$3(_$2),y$4=D$3(x$2),A$1=D$3(m$2),M$1=D$3(H$2),b$4=D$3(({children:e})=>jsxRuntime.jsx(VStack,{w:"full",justify:"center",children:e})),k$2=D$3(a$1),C$2=D$3($$2),B$2=({children:e,...H})=>$$5(e,o=>{const n=o.getProps(j$1),a=o.getProps(y$4),i=o.getProps(A$1),c=o.getProps(M$1),p=o.getProps(k$2),l=o.getProps(C$2),S=`radial-gradient(circle at top, color-mix(in srgb, ${token("colors.text.primary")}, transparent 88%) 0%, transparent 25%)`,m=c||i||n;return jsxRuntime.jsxs(i$6,{...H,fullscreen:true,paddingType:"none",gap:0,children:[jsxRuntime.jsxs(VStack,{h:"full",w:"full",style:m?{background:S}:{},children:[m&&jsxRuntime.jsxs(HStack,{justify:"space-between",px:4,w:"full",children:[c?jsxRuntime.jsx(H$2,{...c}):jsxRuntime.jsx(Box,{h:10,w:10,m:1}),i&&jsxRuntime.jsx(m$2,{...i}),n?jsxRuntime.jsx(_$2,{...n}):jsxRuntime.jsx(Box,{h:10,w:10,m:1})]}),p&&jsxRuntime.jsx(a$1,{...p}),a&&jsxRuntime.jsx(x$2,{...a}),o.get(b$4)]}),l&&jsxRuntime.jsx($$2,{...l})]})});Object.assign(B$2,{AccountMenu:j$1,Actions:y$4,Address:A$1,ConnectionMenu:M$1,Content:b$4,Fiat:k$2,Navigation:C$2});
|
|
13910
13913
|
|
|
13911
|
-
const y$3=D$3(({children:t,...r})=>jsxRuntime.jsx(Center,{children:React.Children.map(t,e=>React.cloneElement(e,r))})),b$
|
|
13914
|
+
const y$3=D$3(({children:t,...r})=>jsxRuntime.jsx(Center,{children:React.Children.map(t,e=>React.cloneElement(e,r))})),b$3=D$3(({children:t,...r})=>jsxRuntime.jsx(Center,{children:React.Children.map(t,e=>React.cloneElement(e,r))})),x$1=React.forwardRef(({className:t,...r},e)=>{const{primaryLabel:p,secondaryLabel:l,isExternalLink:N}=r;return $$5(r.children,c=>{const i=c.get(y$3),m=c.get(b$3);return jsxRuntime.jsx(a$4,{ref:e,className:cx(css({p:4,bg:"neutral.quaternary",_hover:{bg:"neutral.secondary"}}),t),borderRadius:"0.5rem",expand:true,...r,children:jsxRuntime.jsxs(HStack,{justify:"space-between",w:"full",children:[jsxRuntime.jsxs(HStack,{children:[i&&{...i,props:{height:24,...i.props,className:i.props.color?void 0:css({color:"brand.base"})}},jsxRuntime.jsxs(VStack,{gap:0,alignItems:"start",children:[jsxRuntime.jsxs(HStack,{children:[typeof p=="string"?jsxRuntime.jsx(M$8,{fontWeight:"medium",children:p}):p,N&&jsxRuntime.jsx(d$e,{width:14,height:14,color:token("colors.neutral.primary")})]}),l&&jsxRuntime.jsx(M$8,{size:"sm",fontColor:"text.tertiary",children:l})]})]}),jsxRuntime.jsx(HStack,{children:m&&{...m,props:{...m.props,className:m.props.color?void 0:css({color:"neutral.primary"}),width:16,height:16}}})]})})})});x$1.displayName="NavigationButton";Object.assign(x$1,{LeadingIcon:y$3,TrailingIcon:b$3});
|
|
13912
13915
|
|
|
13913
13916
|
const n$3=({title:C,titleId:i,...t})=>jsxRuntime.jsxs("svg",{width:32,height:32,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":i,...t,children:[C?jsxRuntime.jsx("title",{id:i,children:C}):null,jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.0047 25.3341C21.1593 25.3341 25.338 21.1554 25.338 16.0008C25.338 10.8461 21.1593 6.66745 16.0047 6.66745C10.85 6.66745 6.67135 10.8461 6.67135 16.0008C6.67135 21.1554 10.85 25.3341 16.0047 25.3341ZM14.6917 12.8109C15.1258 12.0172 15.3429 11.6204 15.6317 11.4922C15.8727 11.3854 16.1476 11.3854 16.3885 11.4922C16.6774 11.6204 16.8944 12.0172 17.3285 12.8109L17.7788 13.6343C17.8582 13.7794 17.8979 13.852 17.9486 13.9155C17.9918 13.9695 18.0409 14.0186 18.095 14.0618C18.1585 14.1126 18.2311 14.1523 18.3762 14.2316L19.1996 14.682C19.9933 15.1161 20.3901 15.3331 20.5182 15.622C20.6251 15.8629 20.6251 16.1378 20.5182 16.3787C20.3901 16.6676 19.9933 16.8846 19.1996 17.3187L18.3762 17.7691C18.2311 17.8484 18.1585 17.8881 18.095 17.9389C18.0409 17.9821 17.9918 18.0312 17.9486 18.0852C17.8979 18.1488 17.8582 18.2213 17.7788 18.3664L17.3285 19.1898C16.8944 19.9835 16.6774 20.3804 16.3885 20.5085C16.1476 20.6153 15.8727 20.6153 15.6317 20.5085C15.3429 20.3804 15.1258 19.9835 14.6917 19.1898L14.2414 18.3664C14.1621 18.2213 14.1224 18.1488 14.0716 18.0852C14.0284 18.0312 13.9793 17.9821 13.9252 17.9389C13.8617 17.8881 13.7892 17.8484 13.6441 17.7691L12.8207 17.3187C12.027 16.8846 11.6301 16.6676 11.502 16.3787C11.3952 16.1378 11.3952 15.8629 11.502 15.622C11.6301 15.3331 12.027 15.1161 12.8207 14.682L13.6441 14.2316C13.7891 14.1523 13.8617 14.1126 13.9252 14.0618C13.9793 14.0186 14.0284 13.9695 14.0716 13.9155C14.1224 13.852 14.1621 13.7794 14.2414 13.6343L14.6917 12.8109Z",fill:"url(#paint0_linear_10465_20426)"}),jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16 30C23.732 30 30 23.732 30 16C30 8.26801 23.732 2 16 2C8.26801 2 2 8.26801 2 16C2 23.732 8.26801 30 16 30ZM16.0047 27.2008C22.1903 27.2008 27.2047 22.1864 27.2047 16.0008C27.2047 9.81519 22.1903 4.80078 16.0047 4.80078C9.8191 4.80078 4.80469 9.81519 4.80469 16.0008C4.80469 22.1864 9.8191 27.2008 16.0047 27.2008Z",fill:"url(#paint1_linear_10465_20426)"}),jsxRuntime.jsxs("defs",{children:[jsxRuntime.jsxs("linearGradient",{id:"paint0_linear_10465_20426",x1:4.8,y1:1.06667,x2:32.4967,y2:31.1537,gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#6851FF"}),jsxRuntime.jsx("stop",{offset:1,stopColor:"#CE99FF"})]}),jsxRuntime.jsxs("linearGradient",{id:"paint1_linear_10465_20426",x1:4.8,y1:1.06667,x2:32.4967,y2:31.1537,gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#6851FF"}),jsxRuntime.jsx("stop",{offset:1,stopColor:"#CE99FF"})]})]})]});
|
|
13914
13917
|
|
|
13915
|
-
const b$
|
|
13918
|
+
const b$2=D$3(({children:o,...e})=>jsxRuntime.jsx(Center,{children:React.Children.map(o,i=>React.cloneElement(i,e))})),k$1=({name:o,fiatBalanceWithSymbol:e,tokenBalanceWithSymbol:i,tokenIcon:r,logoUrl:a,tokenBalanceFirst:l,disabled:s=false,isLoading:n=false})=>{const m=l||!e;return jsxRuntime.jsxs(HStack,{w:"full",justify:"space-between",opacity:s?"0.5":"1",children:[jsxRuntime.jsxs(HStack,{gap:4,children:[r?{...r,props:{...r.props,width:40,height:40}}:a?jsxRuntime.jsx("img",{width:40,height:40,src:a,alt:`${o} logo`}):jsxRuntime.jsx(n$3,{width:40,height:40}),jsxRuntime.jsx(M$8,{fontWeight:"medium",styles:{textTransform:"capitalize",textAlign:"left"},children:o})]}),jsxRuntime.jsx(VStack,{gap:0,alignItems:"flex-end",children:n?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(d$i,{height:"1rem",width:"6rem"}),i&&e&&jsxRuntime.jsx("div",{style:{marginTop:"4px"},children:jsxRuntime.jsx(d$i,{height:"1rem",width:"4rem"})})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(M$8,{size:"sm",styles:{lineHeight:"1.5rem",textAlign:"right"},children:m?i:e}),jsxRuntime.jsx(M$8,{size:"sm",fontColor:"text.secondary",styles:{lineHeight:"1.5rem",textAlign:"right"},children:m?e:i})]})})]})},T$1=o=>{const{name:e,fiatBalanceWithSymbol:i,tokenBalanceWithSymbol:r,logoUrl:a,onPress:l,tokenBalanceFirst:s,disabled:n,isLoading:m}=o,y=React.useRef(null),u=React.useCallback(()=>{l?.();},[l]);return $$5(o.children,B=>{const h=B.get(b$2);return l?jsxRuntime.jsx(a$4,{ref:y,className:css({_dark:{bg:"surface.tertiary"},_hover:{bg:"neutral.secondary"},bg:"neutral.quaternary",px:4,py:2,minH:16}),borderRadius:"0.5rem",expand:true,onPress:n?void 0:u,disabled:n,children:jsxRuntime.jsx(k$1,{name:e,fiatBalanceWithSymbol:i,tokenBalanceWithSymbol:r,tokenIcon:h,logoUrl:a,tokenBalanceFirst:s,disabled:n,isLoading:m})}):jsxRuntime.jsx(k$1,{name:e,fiatBalanceWithSymbol:i,tokenBalanceWithSymbol:r,tokenIcon:h,logoUrl:a,tokenBalanceFirst:s,disabled:n,isLoading:m})})};Object.assign(T$1,{TokenIcon:b$2});
|
|
13916
13919
|
|
|
13917
13920
|
const _$1={send:{title:"Send",primaryTextColor:token("colors.text.primary"),secondaryTextColor:token("colors.text.secondary"),icon:c$2,iconColor:token("colors.negative.darker"),skeletonWidth:"89px"},receive:{title:"Receive",primaryTextColor:token("colors.positive.base"),secondaryTextColor:`${token("colors.positive.lighter")}`,icon:s$7,iconColor:token("colors.positive.base"),skeletonWidth:"89px"},networkFee:{title:"Network Fee",primaryTextColor:token("colors.text.primary"),secondaryTextColor:token("colors.text.secondary"),icon:d$c,iconColor:token("colors.brand.base"),skeletonWidth:"54px"},spendingCap:{title:"Spending Cap",primaryTextColor:token("colors.warning.base"),secondaryTextColor:token("colors.warning.base"),icon:s$2,iconColor:token("colors.warning.base"),skeletonWidth:"89px"}},y$2=D$3(({children:s,...t})=>jsxRuntime.jsx(Center,{children:React.Children.map(s,l=>React.cloneElement(l,t))})),q$1=s=>{const{variant:t,primaryText:l,secondaryText:c,children:C,onPress:m,loading:a,showTitle:f=true}=s,{title:g,primaryTextColor:d,secondaryTextColor:w,icon:T,iconColor:k,skeletonWidth:h}=_$1[t],b=t==="send"||t==="networkFee",u=React.useRef(null),v=React.useCallback(()=>{m?.();},[m]);return $$5(C,W=>{const e=W.get(y$2);return jsxRuntime.jsxs(HStack,{w:"full",justify:"space-between",children:[jsxRuntime.jsxs(HStack,{gap:2,children:[jsxRuntime.jsx(T,{width:16,height:16,color:k}),f&&jsxRuntime.jsx(M$8,{size:"sm",fontWeight:"medium",children:g})]}),jsxRuntime.jsxs(HStack,{gap:4,children:[c&&jsxRuntime.jsx(M$8,{styles:{color:w},children:c}),b?jsxRuntime.jsx(a$4,{ref:u,className:css({px:4,py:2.5,bg:"surface.secondary"}),borderRadius:"0.75rem",onPress:v,...s,children:jsxRuntime.jsxs(HStack,{gap:3,children:[a?jsxRuntime.jsx(d$i,{width:h}):jsxRuntime.jsx(M$8,{styles:{color:d},children:l}),e&&{...e,props:{...e.props,width:32,height:32}}]})}):jsxRuntime.jsxs(HStack,{gap:3,children:[a?jsxRuntime.jsx(d$i,{width:h}):jsxRuntime.jsx(M$8,{styles:{color:d},children:l}),e&&{...e,props:{...e.props,width:32,height:32}}]})]})]})})};Object.assign(q$1,{TokenIcon:y$2});
|
|
13918
13921
|
|
|
@@ -13950,6 +13953,8 @@ const d=({title:e,titleId:i,...C})=>jsxRuntime.jsxs("svg",{width:32,height:32,vi
|
|
|
13950
13953
|
|
|
13951
13954
|
const r=({title:l,titleId:t,...n})=>jsxRuntime.jsxs("svg",{width:32,height:32,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":t,...n,children:[l?jsxRuntime.jsx("title",{id:t,children:l}):null,jsxRuntime.jsxs("g",{clipPath:"url(#clip0_12156_1502)",children:[jsxRuntime.jsx("path",{d:"M30.9683 17.8945C32.1562 15.2317 26.2834 7.7924 20.6728 4.69301C17.1364 2.29195 13.4513 2.62182 12.705 3.67607C11.0671 5.98968 18.1286 7.95014 22.8511 10.2378C21.836 10.6802 20.8793 11.4741 20.3167 12.4894C18.5561 10.5609 14.6918 8.90006 10.1575 10.2378C7.10193 11.1394 4.56248 13.2647 3.58098 16.4748C3.34252 16.3685 3.07845 16.3094 2.80065 16.3094C1.73836 16.3094 0.877197 17.1735 0.877197 18.2393C0.877197 19.3052 1.73836 20.1693 2.80065 20.1693C2.99755 20.1693 3.61322 20.0368 3.61322 20.0368L13.4513 20.1083C9.51684 26.371 6.40753 27.2865 6.40753 28.3715C6.40753 29.4564 9.38264 29.1624 10.4997 28.758C15.8473 26.822 21.5909 20.7882 22.5765 19.0513C26.7154 19.5694 30.1937 19.6307 30.9683 17.8945Z",fill:"url(#paint0_linear_12156_1502)"}),jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.8507 10.2385C22.8509 10.2386 22.8512 10.2387 22.8514 10.2388C23.0704 10.1523 23.0349 9.82791 22.9748 9.57312C22.8367 8.98766 20.453 6.6259 18.2146 5.56811C15.1645 4.12666 12.9185 4.20098 12.5867 4.86535C13.208 6.14298 16.0884 7.34261 19.0965 8.59539C20.38 9.12991 21.6867 9.6741 22.8512 10.2382C22.851 10.2383 22.8508 10.2384 22.8507 10.2385Z",fill:"url(#paint1_linear_12156_1502)"}),jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.9801 23.0977C18.3632 22.8612 17.6664 22.6441 16.8743 22.4473C17.7189 20.9308 17.8961 18.6858 17.0985 17.2664C15.9789 15.2744 14.5736 14.2141 11.308 14.2141C9.51189 14.2141 4.67598 14.8211 4.59017 18.8717C4.58115 19.2967 4.58993 19.6862 4.62061 20.0443L13.4513 20.1086C12.2608 22.0036 11.1458 23.409 10.1697 24.4776C11.3417 24.779 12.3088 25.032 13.1968 25.2642C14.0393 25.4845 14.8104 25.6863 15.6176 25.8929C16.8352 25.0029 17.9798 24.0324 18.9801 23.0977Z",fill:"url(#paint2_linear_12156_1502)"}),jsxRuntime.jsx("path",{d:"M3.4631 19.6282C3.82387 22.7051 5.56671 23.911 9.12801 24.2679C12.6893 24.6247 14.7321 24.3853 17.4518 24.6336C19.7233 24.8409 21.7515 26.0023 22.5039 25.601C23.1809 25.2398 22.8021 23.9348 21.8961 23.0975C20.7216 22.0123 19.096 21.2577 16.2359 20.9899C16.8059 19.424 16.6462 17.2284 15.7609 16.0338C14.4809 14.3066 12.1183 13.5257 9.12801 13.8669C6.00393 14.2233 3.0104 15.7666 3.4631 19.6282Z",fill:"url(#paint3_linear_12156_1502)"})]}),jsxRuntime.jsxs("defs",{children:[jsxRuntime.jsxs("linearGradient",{id:"paint0_linear_12156_1502",x1:9.80166,y1:15.5365,x2:30.7229,y2:21.4494,gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#8697FF"}),jsxRuntime.jsx("stop",{offset:1,stopColor:"#ABB7FF"})]}),jsxRuntime.jsxs("linearGradient",{id:"paint1_linear_12156_1502",x1:27.1914,y1:15.1379,x2:12.0523,y2:.0128466,gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#8697FF"}),jsxRuntime.jsx("stop",{offset:1,stopColor:"#5156D8",stopOpacity:0})]}),jsxRuntime.jsxs("linearGradient",{id:"paint2_linear_12156_1502",x1:19.3999,y1:23.6263,x2:4.88188,y2:15.3076,gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#465EED"}),jsxRuntime.jsx("stop",{offset:1,stopColor:"#8697FF",stopOpacity:0})]}),jsxRuntime.jsxs("linearGradient",{id:"paint3_linear_12156_1502",x1:11.0501,y1:15.3802,x2:20.8875,y2:27.8377,gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#8898FF"}),jsxRuntime.jsx("stop",{offset:.983895,stopColor:"#6277F1"})]}),jsxRuntime.jsx("clipPath",{id:"clip0_12156_1502",children:jsxRuntime.jsx("rect",{width:31.5,height:28,fill:"white",transform:"translate(0.25 2)"})})]})]});
|
|
13952
13955
|
|
|
13956
|
+
function b$1({value:r,ecLevel:i="H",qrStyle:d="dots",eyeRadius:t=0,eyeColor:g=token("colors.ink.90"),size:a=160,logoImage:n=void 0,logoHeight:s=32,logoWidth:m=32,logoOpacity:c=1,logoPadding:y=0,logoPaddingStyle:u="square",logoOnLoad:C=void 0,removeQrCodeBehindLogo:f=false,enableCORS:h=false,quietZone:v=5,bgColor:p=token("colors.chalk"),fgColor:q=token("colors.ink.90"),style:L=void 0,id:e="qr-code"}){return jsxRuntime.jsx(Flex,{alignItems:"center",justifyContent:"center",className:css({shadow:"0.125rem 0.125rem 1.5rem {colors.ink.70/15}",overflow:"hidden",padding:1,borderRadius:"1rem"}),children:jsxRuntime.jsx(dist.QRCode,{value:r,ecLevel:i,qrStyle:d,eyeRadius:t,eyeColor:g,size:a,logoImage:n,logoHeight:s,logoWidth:m,logoOpacity:c,logoPadding:y,logoPaddingStyle:u,logoOnLoad:C,removeQrCodeBehindLogo:f,enableCORS:h,quietZone:v,bgColor:p,fgColor:q,style:L,id:e,"data-testid":e})})}
|
|
13957
|
+
|
|
13953
13958
|
const m$1={brand:{base:{base:0,lightest:102,lighter:51,darker:-51,darkest:-102},dark:{base:0,lightest:"25%",lighter:"66%",darker:102,darkest:102}},neutral:{base:{primary:0,secondary:51,tertiary:102,quaternary:153},dark:{primary:"16%",secondary:"12%",tertiary:"8%",quaternary:"5%"}},surface:{base:{primary:0,secondary:-51,tertiary:-102},dark:{primary:0,secondary:21,tertiary:42}},text:{base:{primary:0,secondary:51,tertiary:102},dark:{primary:0,secondary:"72%",tertiary:"44%"}}},u$1=(r,e)=>{r=r.replace(/[^0-9a-f]/gi,"").slice(0,6);const t=e?Math.round(.01*parseFloat(e)*255).toString(16):void 0;return r.length<3?r:(r.length<6&&(r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]),t?r+t:r)},h$1=(r,e)=>{r=u$1(r);const t=parseInt(r,16),i=Math.min(Math.max(0,(t>>16)+e),255),c=Math.min(Math.max(0,(t&255)+e),255),d=Math.min(Math.max(0,(t>>8&255)+e),255);return "#"+("00000"+(c|d<<8|i<<16).toString(16)).slice(-6)},g$1=({onError:r})=>{const[e,t]=React.useState(null),i=(a,s)=>{const l=m$1[a].base,p=m$1[a].dark;let y;try{for(const[n,o]of Object.entries(l))y=h$1(s,o),e?.style.setProperty(`--${a}-${n}`,y);for(const[n,o]of Object.entries(p))y=typeof o=="string"?"#"+u$1(s,o):h$1(s,o),e?.style.setProperty(`--${a}-${n}-dark`,y);}catch(n){r?.(n);}},c=a=>{try{e?.style.setProperty("--brand-font",a);}catch(s){r?.(s);}},d=(a,s)=>{try{e?.style.setProperty(`--${a}-radius`,s);}catch(l){r?.(l);}};return React.useEffect(()=>{t(document?.documentElement);},[]),{setColors:i,setFont:c,setRadius:d}};
|
|
13954
13959
|
|
|
13955
13960
|
const ProviderButton = ({ label, Icon, onPress, hideLabel }) => {
|
|
@@ -14054,9 +14059,7 @@ var m=(o=>(o.MissingApiKey="MISSING_API_KEY",o.ModalNotReady="MODAL_NOT_READY",o
|
|
|
14054
14059
|
|
|
14055
14060
|
// Reown project ID
|
|
14056
14061
|
const projectId = '141e0e0e531b47a47d662bca4eb70fae';
|
|
14057
|
-
// Supported networks
|
|
14058
14062
|
const networks = [networks$1.mainnet, networks$1.sepolia];
|
|
14059
|
-
// Set up the Wagmi Adapter
|
|
14060
14063
|
const wagmiAdapter = new appkitAdapterWagmi.WagmiAdapter({
|
|
14061
14064
|
projectId,
|
|
14062
14065
|
networks,
|
|
@@ -14811,6 +14814,14 @@ function useWalletConnect(provider) {
|
|
|
14811
14814
|
};
|
|
14812
14815
|
}
|
|
14813
14816
|
|
|
14817
|
+
let walletConnectProvider = null;
|
|
14818
|
+
function setWalletConnectProvider(provider) {
|
|
14819
|
+
walletConnectProvider = provider;
|
|
14820
|
+
}
|
|
14821
|
+
function getWalletConnectProvider() {
|
|
14822
|
+
return walletConnectProvider;
|
|
14823
|
+
}
|
|
14824
|
+
|
|
14814
14825
|
function useSiweLogin() {
|
|
14815
14826
|
const { signMessageAsync } = wagmi.useSignMessage();
|
|
14816
14827
|
const connectedChainId = wagmi.useChainId();
|
|
@@ -14833,7 +14844,27 @@ function useSiweLogin() {
|
|
|
14833
14844
|
chainId: effectiveChainId,
|
|
14834
14845
|
});
|
|
14835
14846
|
// Step 2: Sign the message with the connected wallet
|
|
14836
|
-
|
|
14847
|
+
// Use WalletConnect provider if available, otherwise use wagmi's signMessageAsync
|
|
14848
|
+
let signature;
|
|
14849
|
+
const wcProvider = getWalletConnectProvider();
|
|
14850
|
+
if (wcProvider && wcProvider.accounts && wcProvider.accounts[0]?.toLowerCase() === address.toLowerCase()) {
|
|
14851
|
+
// Verify provider is connected and session is active
|
|
14852
|
+
if (!wcProvider.session || !wcProvider.session.topic) {
|
|
14853
|
+
throw new Error('WalletConnect session not established');
|
|
14854
|
+
}
|
|
14855
|
+
// Use WalletConnect provider for signing
|
|
14856
|
+
// personal_sign expects hex-encoded message (0x-prefixed hex string)
|
|
14857
|
+
const hexMessage = viem.toHex(message);
|
|
14858
|
+
// Make the signing request
|
|
14859
|
+
signature = (await wcProvider.request({
|
|
14860
|
+
method: 'personal_sign',
|
|
14861
|
+
params: [hexMessage, address],
|
|
14862
|
+
}));
|
|
14863
|
+
}
|
|
14864
|
+
else {
|
|
14865
|
+
// Use wagmi's signMessageAsync (for other wallets)
|
|
14866
|
+
signature = await signMessageAsync({ message });
|
|
14867
|
+
}
|
|
14837
14868
|
// Step 3: Send the signed message to Magic backend for verification
|
|
14838
14869
|
await extension.login({ message, signature });
|
|
14839
14870
|
// Step 4: Set up the connected state for 3rd party wallet RPC routing
|
|
@@ -14875,14 +14906,23 @@ const Pending = ({ onPressBack, title, description, Icon, isPending, errorMessag
|
|
|
14875
14906
|
React.createElement(Box, { position: "relative", h: 20, w: 20 },
|
|
14876
14907
|
isPending && React.createElement(d$m, { size: 80, strokeWidth: 8, neutral: true, progress: 40 }),
|
|
14877
14908
|
isPending ? (React.createElement(Icon, { width: 36, height: 36, className: centeredIconClass })) : (React.createElement(s$d, { width: 36, height: 36, color: token('colors.brand.base'), className: centeredIconClass }))),
|
|
14878
|
-
React.createElement(VStack, { gap: 2 },
|
|
14909
|
+
React.createElement(VStack, { gap: 2, px: 7 },
|
|
14879
14910
|
React.createElement(M$8.H4, null, title),
|
|
14880
14911
|
React.createElement(M$8, { fontColor: "text.tertiary", styles: { textAlign: 'center' } }, description),
|
|
14881
14912
|
errorMessage && (React.createElement(M$8, { variant: "error", styles: { textAlign: 'center' } }, errorMessage))))));
|
|
14882
14913
|
};
|
|
14883
14914
|
|
|
14884
|
-
const WalletPendingView = ({ provider, dispatch }) => {
|
|
14885
|
-
|
|
14915
|
+
const WalletPendingView = ({ provider, state, dispatch }) => {
|
|
14916
|
+
// Only proceed if we're actually in the wallet_pending view
|
|
14917
|
+
if (state.view !== 'wallet_pending') {
|
|
14918
|
+
return null;
|
|
14919
|
+
}
|
|
14920
|
+
const { connectWallet, isPending: isWalletPending, error: walletError, address: wagmiAddress, isConnectedToSelectedProvider, } = useWalletConnect(provider);
|
|
14921
|
+
const { isConnected } = wagmi.useAccount();
|
|
14922
|
+
// For WalletConnect, use the stored address from state (from EthereumProvider or AppKit)
|
|
14923
|
+
// For other wallets, use the address from wagmi connector
|
|
14924
|
+
const isWalletConnect = provider === ThirdPartyWallets.WALLETCONNECT;
|
|
14925
|
+
const address = isWalletConnect ? (state.walletAddress || wagmiAddress) : wagmiAddress;
|
|
14886
14926
|
const { performSiweLogin, isLoading: isSiweLoading, error: siweError, isSuccess: isSiweSuccess } = useSiweLogin();
|
|
14887
14927
|
const { title, description, Icon } = getProviderConfig(provider);
|
|
14888
14928
|
// Track whether we've attempted connection and SIWE
|
|
@@ -14891,8 +14931,10 @@ const WalletPendingView = ({ provider, dispatch }) => {
|
|
|
14891
14931
|
const [siweAttemptedForAddress, setSiweAttemptedForAddress] = React.useState(null);
|
|
14892
14932
|
const [errorMessage, setErrorMessage] = React.useState(null);
|
|
14893
14933
|
// Initiate wallet connection on mount (only if not already connected to the SELECTED provider)
|
|
14934
|
+
// Skip for WalletConnect since it's already connected via EthereumProvider
|
|
14935
|
+
// Only trigger if we have a valid provider AND we're in the wallet_pending view
|
|
14894
14936
|
React.useEffect(() => {
|
|
14895
|
-
if (!connectionAttempted) {
|
|
14937
|
+
if (!connectionAttempted && !isWalletConnect && provider && state.view === 'wallet_pending') {
|
|
14896
14938
|
setConnectionAttempted(true);
|
|
14897
14939
|
// Only skip wallet connection if already connected to the SAME wallet type
|
|
14898
14940
|
// If connected to a different wallet, we need to switch
|
|
@@ -14917,14 +14959,26 @@ const WalletPendingView = ({ provider, dispatch }) => {
|
|
|
14917
14959
|
setErrorMessage(err?.message || 'Failed to connect wallet');
|
|
14918
14960
|
});
|
|
14919
14961
|
}
|
|
14920
|
-
}, [connectionAttempted, connectWallet, isConnectedToSelectedProvider, address, provider]);
|
|
14962
|
+
}, [connectionAttempted, connectWallet, isConnectedToSelectedProvider, address, provider, isWalletConnect]);
|
|
14921
14963
|
// Once wallet is connected to the SELECTED provider with a stable address, initiate SIWE login
|
|
14922
14964
|
// Only attempt SIWE if:
|
|
14923
|
-
// 1. We're connected to the selected provider with an address
|
|
14965
|
+
// 1. We're connected to the selected provider with an address (or WalletConnect with stored address and provider)
|
|
14924
14966
|
// 2. We haven't already attempted SIWE for this specific address
|
|
14925
14967
|
// 3. We're not currently in a loading state (prevents double-calls during reconnection)
|
|
14926
14968
|
React.useEffect(() => {
|
|
14927
|
-
|
|
14969
|
+
// Only attempt SIWE if we're actually in the wallet_pending view
|
|
14970
|
+
if (state.view !== 'wallet_pending') {
|
|
14971
|
+
return;
|
|
14972
|
+
}
|
|
14973
|
+
// For WalletConnect, check if ready for SIWE:
|
|
14974
|
+
// - Desktop: EthereumProvider with active session
|
|
14975
|
+
// - Mobile AppKit: Connected via wagmi with address from state (no WalletConnect provider stored)
|
|
14976
|
+
const wcProvider = isWalletConnect ? getWalletConnectProvider() : null;
|
|
14977
|
+
const isWcDesktopReady = isWalletConnect && address && wcProvider && wcProvider.session;
|
|
14978
|
+
// Mobile AppKit WalletConnect: has address from state, connected via wagmi, but no WalletConnect provider
|
|
14979
|
+
const isWcMobileReady = isWalletConnect && address && state.walletAddress && isConnected && !wcProvider;
|
|
14980
|
+
const shouldAttemptSiwe = isWcDesktopReady || isWcMobileReady || (isConnectedToSelectedProvider && address);
|
|
14981
|
+
if (shouldAttemptSiwe && siweAttemptedForAddress !== address && !isSiweLoading) {
|
|
14928
14982
|
setSiweAttemptedForAddress(address);
|
|
14929
14983
|
setErrorMessage(null); // Clear any previous errors
|
|
14930
14984
|
performSiweLogin(address).catch(err => {
|
|
@@ -14945,19 +14999,27 @@ const WalletPendingView = ({ provider, dispatch }) => {
|
|
|
14945
14999
|
setErrorMessage(err?.message || 'SIWE login failed');
|
|
14946
15000
|
});
|
|
14947
15001
|
}
|
|
14948
|
-
}, [isConnectedToSelectedProvider, address, siweAttemptedForAddress, isSiweLoading, performSiweLogin, provider]);
|
|
15002
|
+
}, [isConnectedToSelectedProvider, address, siweAttemptedForAddress, isSiweLoading, performSiweLogin, provider, isWalletConnect, state.walletAddress, isConnected]);
|
|
14949
15003
|
React.useEffect(() => {
|
|
14950
|
-
|
|
15004
|
+
// Ignore walletError for WalletConnect since we're using EthereumProvider directly, not wagmi
|
|
15005
|
+
if (walletError && connectionAttempted && !isWalletConnect) {
|
|
14951
15006
|
setErrorMessage(walletError.message);
|
|
14952
15007
|
}
|
|
14953
|
-
}, [walletError, connectionAttempted]);
|
|
15008
|
+
}, [walletError, connectionAttempted, isWalletConnect]);
|
|
14954
15009
|
React.useEffect(() => {
|
|
14955
15010
|
if (siweError && siweAttemptedForAddress) {
|
|
15011
|
+
const errorMsg = (siweError.message || '').toLowerCase();
|
|
15012
|
+
// Ignore "connector not connected" errors for WalletConnect since we use EthereumProvider directly
|
|
15013
|
+
if (isWalletConnect && (errorMsg.includes('connector not connected') || errorMsg.includes('connectornotconnectederror'))) {
|
|
15014
|
+
return;
|
|
15015
|
+
}
|
|
14956
15016
|
setErrorMessage(siweError.message);
|
|
14957
15017
|
}
|
|
14958
|
-
}, [siweError, siweAttemptedForAddress]);
|
|
15018
|
+
}, [siweError, siweAttemptedForAddress, isWalletConnect]);
|
|
14959
15019
|
// Show spinner until SIWE is complete or there's an error
|
|
14960
|
-
|
|
15020
|
+
// For WalletConnect, skip isWalletPending since connection is handled in WalletConnectView
|
|
15021
|
+
const isPending = !errorMessage &&
|
|
15022
|
+
((isWalletConnect ? false : isWalletPending) || isSiweLoading || (!isSiweSuccess && !walletError && !siweError));
|
|
14961
15023
|
return (React.createElement(Pending, { onPressBack: () => dispatch({ type: 'GO_TO_LOGIN' }), title: title, description: description, Icon: Icon, isPending: isPending, errorMessage: errorMessage }));
|
|
14962
15024
|
};
|
|
14963
15025
|
|
|
@@ -14970,7 +15032,13 @@ function widgetReducer(state, action) {
|
|
|
14970
15032
|
switch (action.type) {
|
|
14971
15033
|
// Navigation
|
|
14972
15034
|
case 'GO_TO_LOGIN':
|
|
14973
|
-
return {
|
|
15035
|
+
return {
|
|
15036
|
+
...initialState,
|
|
15037
|
+
selectedProvider: undefined,
|
|
15038
|
+
walletAddress: undefined,
|
|
15039
|
+
email: undefined,
|
|
15040
|
+
error: undefined,
|
|
15041
|
+
};
|
|
14974
15042
|
// Email OTP flow
|
|
14975
15043
|
case 'EMAIL_OTP_START':
|
|
14976
15044
|
return {
|
|
@@ -15100,8 +15168,14 @@ function widgetReducer(state, action) {
|
|
|
15100
15168
|
error: undefined,
|
|
15101
15169
|
};
|
|
15102
15170
|
// Wallet flow
|
|
15103
|
-
case 'SELECT_WALLET':
|
|
15104
|
-
|
|
15171
|
+
case 'SELECT_WALLET': {
|
|
15172
|
+
const isWalletConnect = action.provider === ThirdPartyWallets.WALLETCONNECT ||
|
|
15173
|
+
action.provider.toLowerCase() === 'walletconnect';
|
|
15174
|
+
const walletView = isWalletConnect ? 'walletconnect_pending' : 'wallet_pending';
|
|
15175
|
+
return { ...state, view: walletView, selectedProvider: action.provider, error: undefined };
|
|
15176
|
+
}
|
|
15177
|
+
case 'WALLETCONNECT_CONNECTED':
|
|
15178
|
+
return { ...state, view: 'wallet_pending', walletAddress: action.address, selectedProvider: ThirdPartyWallets.WALLETCONNECT };
|
|
15105
15179
|
// OAuth flow
|
|
15106
15180
|
case 'SELECT_PROVIDER':
|
|
15107
15181
|
return { ...state, view: 'oauth_pending', selectedProvider: action.provider, error: undefined };
|
|
@@ -15131,13 +15205,8 @@ function useOAuthLogin() {
|
|
|
15131
15205
|
setIsLoading(false);
|
|
15132
15206
|
handleSuccess({
|
|
15133
15207
|
method: 'oauth',
|
|
15134
|
-
|
|
15135
|
-
oauth:
|
|
15136
|
-
provider: oauthResult.oauth.provider,
|
|
15137
|
-
name: oauthResult.oauth.userInfo.name,
|
|
15138
|
-
email: oauthResult.oauth.userInfo.email,
|
|
15139
|
-
picture: oauthResult.oauth.userInfo.picture,
|
|
15140
|
-
},
|
|
15208
|
+
magic: oauthResult.magic,
|
|
15209
|
+
oauth: oauthResult.oauth,
|
|
15141
15210
|
});
|
|
15142
15211
|
return oauthResult;
|
|
15143
15212
|
}
|
|
@@ -15164,8 +15233,9 @@ const OAuthPendingView = ({ provider, dispatch }) => {
|
|
|
15164
15233
|
const [loginAttempted, setLoginAttempted] = React.useState(false);
|
|
15165
15234
|
const [errorMessage, setErrorMessage] = React.useState(null);
|
|
15166
15235
|
// Trigger OAuth login on mount
|
|
15236
|
+
// Only trigger if we have a valid provider
|
|
15167
15237
|
React.useEffect(() => {
|
|
15168
|
-
if (!loginAttempted) {
|
|
15238
|
+
if (!loginAttempted && provider) {
|
|
15169
15239
|
setLoginAttempted(true);
|
|
15170
15240
|
performOAuthLogin(provider).catch(err => {
|
|
15171
15241
|
const errorMessage = (err?.message || '').toLowerCase();
|
|
@@ -15359,7 +15429,7 @@ const RecoveryCodeView = ({ state, dispatch }) => {
|
|
|
15359
15429
|
React.createElement(se, { "aria-label": "8-character code", attr: {
|
|
15360
15430
|
size: 35,
|
|
15361
15431
|
}, placeholder: "8-character code", onChange: onChangeOtp, alignText: "center", errorMessage: error ?? '', disabled: isVerifying }),
|
|
15362
|
-
React.createElement(b$
|
|
15432
|
+
React.createElement(b$8, { label: "Two-Factor Authentication will be disabled.", variant: "warning" }))),
|
|
15363
15433
|
!isVerifying && !isSuccess && (React.createElement(Q$2, { label: "I lost my recovery code", variant: "text", textStyle: "neutral", onPress: onLostRecoveryCode, disabled: isVerifying || isSuccess, size: "sm" })))));
|
|
15364
15434
|
};
|
|
15365
15435
|
|
|
@@ -15384,6 +15454,188 @@ const LostRecoveryCode = ({ dispatch }) => {
|
|
|
15384
15454
|
" support team.")))));
|
|
15385
15455
|
};
|
|
15386
15456
|
|
|
15457
|
+
// Mobile device detection utility
|
|
15458
|
+
// Based on farcaster's implementation
|
|
15459
|
+
function isAndroid() {
|
|
15460
|
+
return typeof navigator !== 'undefined' && /android/i.test(navigator.userAgent);
|
|
15461
|
+
}
|
|
15462
|
+
function isSmallIOS() {
|
|
15463
|
+
return typeof navigator !== 'undefined' && /iPhone|iPod/.test(navigator.userAgent);
|
|
15464
|
+
}
|
|
15465
|
+
function isLargeIOS() {
|
|
15466
|
+
return (typeof navigator !== 'undefined' &&
|
|
15467
|
+
(/iPad/.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)));
|
|
15468
|
+
}
|
|
15469
|
+
function isIOS() {
|
|
15470
|
+
return isSmallIOS() || isLargeIOS();
|
|
15471
|
+
}
|
|
15472
|
+
function isMobile() {
|
|
15473
|
+
return isAndroid() || isIOS();
|
|
15474
|
+
}
|
|
15475
|
+
|
|
15476
|
+
// WalletConnect logo as data URL (base64 encoded SVG)
|
|
15477
|
+
const WALLETCONNECT_LOGO_DATA_URL = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTE2NzUgNy41MTYwNUM4LjgzMzM4IDMuNjgxMzQgMTUuMTgzNSAzLjY4MTM0IDE5LjEwMDEgNy41MTYwNUwxOS41NzE1IDcuOTc3NTZDMTkuNzY3MyA4LjE2OTI5IDE5Ljc2NzMgOC40ODAxNiAxOS41NzE1IDguNjcxOUwxNy45NTkgMTAuMjUwNkMxNy44NjExIDEwLjM0NjUgMTcuNzAyNCAxMC4zNDY1IDE3LjYwNDQgMTAuMjUwNkwxNi45NTU4IDkuNjE1NTRDMTQuMjIzNCA2Ljk0MDM1IDkuNzkzNDMgNi45NDAzNSA3LjA2MTA5IDkuNjE1NTRMNi4zNjY0MyAxMC4yOTU3QzYuMjY4NTEgMTAuMzkxNSA2LjEwOTc2IDEwLjM5MTUgNi4wMTE4NCAxMC4yOTU3TDQuMzk5MzcgOC43MTY5M0M0LjIwMzU0IDguNTI1MiA0LjIwMzU0IDguMjE0MzMgNC4zOTkzNyA4LjAyMjZMNC45MTY3NSA3LjUxNjA1Wk0yMi40MzQ5IDEwLjc4MTFMMjMuODcgMTIuMTg2MUMyNC4wNjU4IDEyLjM3NzkgMjQuMDY1OCAxMi42ODg3IDIzLjg3IDEyLjg4MDVMMTcuMzk5IDE5LjIxNjJDMTcuMjAzMiAxOS40MDc5IDE2Ljg4NTcgMTkuNDA3OSAxNi42ODk4IDE5LjIxNjJDMTYuNjg5OCAxOS4yMTYyIDE2LjY4OTggMTkuMjE2MiAxNi42ODk4IDE5LjIxNjJMMTIuMDk3MSAxNC43MTk2QzEyLjA0ODIgMTQuNjcxNiAxMS45Njg4IDE0LjY3MTYgMTEuOTE5OCAxNC43MTk2TDcuMzI3MjEgMTkuMjE2MkM3LjEzMTM4IDE5LjQwNzkgNi44MTM4NyAxOS40MDggNi42MTgwNCAxOS4yMTYyQzYuNjE4MDQgMTkuMjE2MiA2LjYxODA0IDE5LjIxNjIgNi42MTgwNCAxOS4yMTYyTDAuMTQ2ODc0IDEyLjg4MDRDLTAuMDQ5NTc5IDEyLjY4ODcgLTAuMDQ5NTc5IDEyLjM3NzggMC4xNDY4NzQgMTIuMTg2MUwxLjU4MTk4IDEwLjc4MUMxLjc3NzgxIDEwLjU4OTIgMi4wOTUzMiAxMC41ODkyIDIuMjkxMTUgMTAuNzgxTDYuODgzOTIgMTUuMjc3N0M2LjkzMjg4IDE1LjMyNTYgNy4wMTIyNiAxNS4zMjU2IDcuMDYxMjIgMTUuMjc3N0M3LjA2MTIxIDE1LjI3NzcgNy4wNjEyMiAxNS4yNzc3IDcuMDYxMjIgMTUuMjc3N0wxMS42NTM4IDEwLjc4MUMxMS44NDk2IDEwLjU4OTIgMTIuMTY3MSAxMC41ODkyIDEyLjM2MjkgMTAuNzgxQzEyLjM2MjkgMTAuNzgxIDEyLjM2MjkgMTAuNzgxIDEyLjM2MjkgMTAuNzgxTDE2Ljk1NTcgMTUuMjc3N0MxNy4wMDQ3IDE1LjMyNTYgMTcuMDg0IDE1LjMyNTYgMTcuMTMzIDE1LjI3NzdMMjEuNzI1NyAxMC43ODExQzIxLjkyMTUgMTAuNTg5MyAyMi4yMzkgMTAuNTg5MyAyMi40MzQ5IDEwLjc4MTFaIiBmaWxsPSIjM0I5OUZDIi8+Cjwvc3ZnPgo=';
|
|
15478
|
+
const WalletConnectView = ({ dispatch }) => {
|
|
15479
|
+
const { address, isConnected } = wagmi.useAccount();
|
|
15480
|
+
const { disconnect } = wagmi.useDisconnect();
|
|
15481
|
+
const providerRef = React.useRef(null);
|
|
15482
|
+
const [uri, setUri] = React.useState(null);
|
|
15483
|
+
const [errorMessage, setErrorMessage] = React.useState(null);
|
|
15484
|
+
const [connectionAttempted, setConnectionAttempted] = React.useState(false);
|
|
15485
|
+
const [wcAddress, setWcAddress] = React.useState(null);
|
|
15486
|
+
const { Icon } = WALLET_METADATA[ThirdPartyWallets.WALLETCONNECT];
|
|
15487
|
+
// Detect mobile synchronously
|
|
15488
|
+
const isMobileDevice = typeof window !== 'undefined' && isMobile();
|
|
15489
|
+
// Create AppKit instance for mobile (only create if mobile)
|
|
15490
|
+
const appKit = React.useMemo(() => {
|
|
15491
|
+
if (typeof window === 'undefined')
|
|
15492
|
+
return null;
|
|
15493
|
+
if (!isMobileDevice)
|
|
15494
|
+
return null;
|
|
15495
|
+
return appkit.createAppKit({
|
|
15496
|
+
adapters: [wagmiAdapter],
|
|
15497
|
+
networks: networks,
|
|
15498
|
+
projectId: projectId,
|
|
15499
|
+
});
|
|
15500
|
+
}, [isMobileDevice]);
|
|
15501
|
+
// Mobile connection flow using AppKit modal
|
|
15502
|
+
const initiateMobileConnection = React.useCallback(() => {
|
|
15503
|
+
if (connectionAttempted || !appKit)
|
|
15504
|
+
return;
|
|
15505
|
+
setConnectionAttempted(true);
|
|
15506
|
+
setErrorMessage(null);
|
|
15507
|
+
try {
|
|
15508
|
+
// If already connected to a different wallet, disconnect first
|
|
15509
|
+
if (isConnected) {
|
|
15510
|
+
disconnect();
|
|
15511
|
+
}
|
|
15512
|
+
// Open AppKit modal for wallet selection
|
|
15513
|
+
appKit.open();
|
|
15514
|
+
}
|
|
15515
|
+
catch (err) {
|
|
15516
|
+
const error = err;
|
|
15517
|
+
setErrorMessage(error?.message || 'Failed to open wallet selection');
|
|
15518
|
+
}
|
|
15519
|
+
}, [connectionAttempted, appKit, isConnected, disconnect]);
|
|
15520
|
+
// Desktop connection flow using EthereumProvider (existing implementation)
|
|
15521
|
+
const initiateDesktopConnection = React.useCallback(async () => {
|
|
15522
|
+
if (connectionAttempted)
|
|
15523
|
+
return;
|
|
15524
|
+
setConnectionAttempted(true);
|
|
15525
|
+
setErrorMessage(null);
|
|
15526
|
+
try {
|
|
15527
|
+
// If already connected to a different wallet, disconnect first
|
|
15528
|
+
if (isConnected) {
|
|
15529
|
+
disconnect();
|
|
15530
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
15531
|
+
}
|
|
15532
|
+
// Initialize Ethereum provider
|
|
15533
|
+
const chainIds = networks.map(n => Number(n.id));
|
|
15534
|
+
const provider = await ethereumProvider.EthereumProvider.init({
|
|
15535
|
+
projectId,
|
|
15536
|
+
chains: chainIds,
|
|
15537
|
+
optionalChains: chainIds,
|
|
15538
|
+
showQrModal: false, // We handle the QR code display ourselves
|
|
15539
|
+
});
|
|
15540
|
+
providerRef.current = provider;
|
|
15541
|
+
setWalletConnectProvider(provider); // Store for SIWE signing
|
|
15542
|
+
// Listen for display_uri event to get QR code
|
|
15543
|
+
provider.on('display_uri', (uri) => {
|
|
15544
|
+
setUri(uri);
|
|
15545
|
+
});
|
|
15546
|
+
// Connect
|
|
15547
|
+
await provider.connect();
|
|
15548
|
+
// Get connected address
|
|
15549
|
+
const accounts = provider.accounts;
|
|
15550
|
+
if (accounts && accounts.length > 0) {
|
|
15551
|
+
setWcAddress(accounts[0]);
|
|
15552
|
+
}
|
|
15553
|
+
}
|
|
15554
|
+
catch (err) {
|
|
15555
|
+
const error = err;
|
|
15556
|
+
const errorMsg = (error?.message || '').toLowerCase();
|
|
15557
|
+
// If user rejected/denied the connection, go back to login
|
|
15558
|
+
if (errorMsg.includes('user rejected') ||
|
|
15559
|
+
errorMsg.includes('user denied') ||
|
|
15560
|
+
errorMsg.includes('rejected the request') ||
|
|
15561
|
+
errorMsg.includes('user cancelled') ||
|
|
15562
|
+
errorMsg.includes('user canceled')) {
|
|
15563
|
+
dispatch({ type: 'GO_TO_LOGIN' });
|
|
15564
|
+
return;
|
|
15565
|
+
}
|
|
15566
|
+
setErrorMessage(error?.message || 'Failed to connect wallet');
|
|
15567
|
+
}
|
|
15568
|
+
}, [connectionAttempted, isConnected, disconnect, dispatch]);
|
|
15569
|
+
// Initiate connection based on device type
|
|
15570
|
+
React.useEffect(() => {
|
|
15571
|
+
if (isMobileDevice) {
|
|
15572
|
+
initiateMobileConnection();
|
|
15573
|
+
}
|
|
15574
|
+
else {
|
|
15575
|
+
initiateDesktopConnection();
|
|
15576
|
+
}
|
|
15577
|
+
}, [isMobileDevice, initiateMobileConnection, initiateDesktopConnection]);
|
|
15578
|
+
// For mobile: Listen for connection via wagmi (AppKit connects through wagmi)
|
|
15579
|
+
React.useEffect(() => {
|
|
15580
|
+
if (isMobileDevice && isConnected && address) {
|
|
15581
|
+
// AppKit connected through wagmi, transition to WalletPendingView
|
|
15582
|
+
dispatch({ type: 'WALLETCONNECT_CONNECTED', address: address });
|
|
15583
|
+
}
|
|
15584
|
+
}, [isMobileDevice, isConnected, address, dispatch]);
|
|
15585
|
+
// For desktop: When connection is established via EthereumProvider, transition to WalletPendingView for SIWE
|
|
15586
|
+
React.useEffect(() => {
|
|
15587
|
+
if (!isMobileDevice && wcAddress) {
|
|
15588
|
+
// Store the provider reference for SIWE signing
|
|
15589
|
+
// Pass the address through the action
|
|
15590
|
+
dispatch({ type: 'WALLETCONNECT_CONNECTED', address: wcAddress });
|
|
15591
|
+
}
|
|
15592
|
+
}, [isMobileDevice, wcAddress, dispatch]);
|
|
15593
|
+
const handleBack = () => {
|
|
15594
|
+
// Cleanup provider on back (desktop only)
|
|
15595
|
+
if (providerRef.current) {
|
|
15596
|
+
providerRef.current.disconnect().catch(() => {
|
|
15597
|
+
// Ignore cleanup errors
|
|
15598
|
+
});
|
|
15599
|
+
providerRef.current = null;
|
|
15600
|
+
setWalletConnectProvider(null);
|
|
15601
|
+
}
|
|
15602
|
+
// Close AppKit modal if open (mobile)
|
|
15603
|
+
if (appKit) {
|
|
15604
|
+
appKit.close();
|
|
15605
|
+
}
|
|
15606
|
+
dispatch({ type: 'GO_TO_LOGIN' });
|
|
15607
|
+
};
|
|
15608
|
+
// Show error state
|
|
15609
|
+
if (errorMessage) {
|
|
15610
|
+
return (React.createElement(React.Fragment, null,
|
|
15611
|
+
React.createElement(WidgetHeader, { onPressBack: handleBack, showHeaderText: false }),
|
|
15612
|
+
React.createElement(VStack, { gap: 6, pt: 4, alignItems: "center" },
|
|
15613
|
+
React.createElement(Icon, { width: 60, height: 60 }),
|
|
15614
|
+
React.createElement(VStack, { gap: 2, alignItems: "center", px: 7 },
|
|
15615
|
+
React.createElement(M$8.H4, null, "Connection Failed"),
|
|
15616
|
+
React.createElement(M$8, { variant: "error", styles: { textAlign: 'center' } }, errorMessage)))));
|
|
15617
|
+
}
|
|
15618
|
+
// Mobile: Show loading state while AppKit modal is open
|
|
15619
|
+
if (isMobileDevice) {
|
|
15620
|
+
return (React.createElement(React.Fragment, null,
|
|
15621
|
+
React.createElement(WidgetHeader, { onPressBack: handleBack, showHeaderText: false }),
|
|
15622
|
+
React.createElement(VStack, { gap: 6, pt: 4, alignItems: "center" },
|
|
15623
|
+
React.createElement(Icon, { width: 60, height: 60 }),
|
|
15624
|
+
React.createElement(VStack, { gap: 2, alignItems: "center", px: 7 },
|
|
15625
|
+
React.createElement(M$8.H4, null, "Select your wallet"),
|
|
15626
|
+
React.createElement(M$8, { fontColor: "text.tertiary", styles: { textAlign: 'center' } }, "Choose a wallet app to connect")))));
|
|
15627
|
+
}
|
|
15628
|
+
// Desktop: Show custom QR code (existing behavior)
|
|
15629
|
+
return (React.createElement(React.Fragment, null,
|
|
15630
|
+
React.createElement(WidgetHeader, { onPressBack: handleBack, showHeaderText: false }),
|
|
15631
|
+
React.createElement(VStack, { gap: 6, pt: 4, alignItems: "center" },
|
|
15632
|
+
uri ? (React.createElement(b$1, { eyeRadius: 8, value: uri, qrStyle: "dots", size: 262, logoImage: WALLETCONNECT_LOGO_DATA_URL, logoHeight: 52, logoWidth: 52, logoPadding: 12, style: { borderRadius: 16 }, quietZone: 12 })) : (React.createElement(Center, { width: "294px", height: "294px" },
|
|
15633
|
+
React.createElement(d$i, { width: 286, height: 286, borderRadius: 16, backgroundColor: "surface.secondary" }))),
|
|
15634
|
+
React.createElement(VStack, { gap: 2, alignItems: "center", px: 7 },
|
|
15635
|
+
React.createElement(M$8.H4, null, "Scan with your wallet"),
|
|
15636
|
+
React.createElement(M$8, { fontColor: "text.tertiary", styles: { textAlign: 'center' } }, "Open your mobile wallet and scan this QR code to connect")))));
|
|
15637
|
+
};
|
|
15638
|
+
|
|
15387
15639
|
// Create a query client for react-query
|
|
15388
15640
|
const queryClient = new reactQuery.QueryClient();
|
|
15389
15641
|
// Inject CSS into document head (only once)
|
|
@@ -15393,21 +15645,31 @@ function injectCSS() {
|
|
|
15393
15645
|
return;
|
|
15394
15646
|
const styleElement = document.createElement('style');
|
|
15395
15647
|
styleElement.id = 'magic-widget-styles';
|
|
15396
|
-
styleElement.textContent = "html{--font-fallback:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--global-font-body,var(--font-fallback))}*{margin:0px;padding:0px;font:inherit}*,:after,:before{box-sizing:border-box;border-width:0px;border-style:solid;border-color:var(--global-color-border,currentColor)}hr{height:0px;color:inherit;border-top-width:1px}body{height:100%}img{border-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}ol,ul{list-style:none}code,kbd,pre,samp{font-size:1em}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:var(--edNtiq);background-image:none}button,input,optgroup,select,textarea{color:inherit}button,select{text-transform:none}table{text-indent:0px;border-collapse:collapse;border-color:inherit}input::placeholder,textarea::placeholder{opacity:1;color:var(--global-color-placeholder,#9ca3af)}textarea{resize:vertical}summary{display:list-item}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-0.25em}sup{top:-0.5em}dialog{padding:0px}a{color:inherit;text-decoration:inherit}abbr:where([title]){text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{--font-mono-fallback:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New';font-size:1em;font-family:var(--global-font-mono,var(--font-mono-fallback))}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-cancel-button,::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=number]{-moz-appearance:textfield}:-moz-ui-invalid{box-shadow:none}:-moz-focusring{outline:auto}[hidden]{display:none!important}:root{--made-with-panda:'🐼'}*,::backdrop,:after,:before{--blur: ;--brightness: ;--contrast: ;--grayscale: ;--hue-rotate: ;--invert: ;--saturate: ;--sepia: ;--drop-shadow: ;--backdrop-blur: ;--backdrop-brightness: ;--backdrop-contrast: ;--backdrop-grayscale: ;--backdrop-hue-rotate: ;--backdrop-invert: ;--backdrop-opacity: ;--backdrop-saturate: ;--backdrop-sepia: ;--scroll-snap-strictness:proximity;--border-spacing-x:0;--border-spacing-y:0;--translate-x:0;--translate-y:0;--rotate:0;--skew-x:0;--skew-y:0;--scale-x:1;--scale-y:1}html{--primary:black}:where(:root,:host){--cUJial:1/1;--joSgrv:4/3;--dXjFHz:3/4;--gqpqIn:16/9;--lixcAJ:18/5;--hSWVDT:1.618/1;--dzOvWn:none;--drrWcF:cubic-bezier(0.4,0,0.2,1);--hgfxJf:linear;--hCLxzh:cubic-bezier(0.4,0,1,1);--byCBno:cubic-bezier(0,0,0.2,1);--gSAVQW:cubic-bezier(0.4,0,0.2,1);--fuVfvZ:50ms;--fVBMec:100ms;--mUhz:150ms;--cWTXGg:200ms;--cifMdM:300ms;--goNNlj:400ms;--bPXfWW:500ms;--dRPRGd:100;--dooANa:200;--fVSZDc:300;--llFanx:400;--leEsKL:500;--hmvyHR:600;--ghWdwL:700;--janwPd:800;--bvnjIx:900;--ekeMrS:1;--jyTpIu:1.25;--ipEwfb:1.375;--lomeBD:1.5;--kwMYUX:1.625;--dVGecO:2;--dywXPJ:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--guQdxN:ui-serif,Georgia,Cambria,\"Times New Roman\",Times,serif;--gxQaAd:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--jrseCf:-0.05em;--glKTKc:-0.025em;--knaPyh:0em;--jwdARF:0.025em;--eUSVTv:0.05em;--lhSeXO:0.1em;--kWjDjq:0.5rem;--loLyxA:0.75rem;--eRgJXV:0.875rem;--daFrau:1rem;--gKFLFQ:1.125rem;--gFqSQX:1.25rem;--dllMvh:1.5rem;--jaXqkI:1.875rem;--cLogVb:2.25rem;--izMrAu:3rem;--hdlyfR:3.75rem;--bDBsww:4.5rem;--fwhTbD:6rem;--lkGdGW:8rem;--bUWovs:0 1px 2px 0 rgb(0 0 0/0.05);--cDhNnp:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--jMKUKK:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--kNVcRA:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--bnVgij:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--IghlV:0 25px 50px -12px rgb(0 0 0/0.25);--gmhFEB:inset 0 2px 4px 0 rgb(0 0 0/0.05);--aZLOC:4px;--jDYzax:8px;--kMMDaR:12px;--dyIDQb:16px;--TtVDs:24px;--btncja:40px;--esAhmv:64px;--fcTUxn:0rem;--dacYEG:0.25rem;--ebuyxV:0.5rem;--bYDCFo:0.75rem;--hIimNX:1rem;--fFrqVq:1.25rem;--gGIQOF:1.5rem;--eDRUVY:1.75rem;--flZesP:2rem;--djiiAi:2.25rem;--ieMJEa:2.5rem;--cBFxYr:2.75rem;--uyqLg:3rem;--hXmVPi:3.5rem;--mYCWo:4rem;--jgejxp:5rem;--iYEvIx:6rem;--dzpWeZ:7rem;--fifqnK:8rem;--faFCyS:9rem;--bxwoov:10rem;--huPzrf:11rem;--hgdKvb:12rem;--cZMJbQ:13rem;--iXfUeA:14rem;--vWSpd:15rem;--gtqdrN:16rem;--hNtIEu:18rem;--kqIPsj:20rem;--wdMRQ:24rem;--gEfgCY:0.125rem;--jJIQbV:0.375rem;--cqwGG:0.625rem;--dhUgfD:0.875rem;--bJeTGz:spin 1s linear infinite;--cxTetH:ping 1s cubic-bezier(0,0,0.2,1) infinite;--jjLJjo:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;--eUTuJH:bounce 1s infinite;--bLinLB:currentColor;--qLIrn:#000;--RiClf:#fff;--edNtiq:rgb(0 0 0/0);--cQacUT:#fff1f2;--fFtaKH:#ffe4e6;--eUoFZM:#fecdd3;--bPMUxN:#fda4af;--bvZVli:#fb7185;--jGTTif:#f43f5e;--iVPyxk:#e11d48;--fRnMVl:#be123c;--hxzBoW:#9f1239;--esXPMX:#881337;--epiLsK:#4c0519;--hPYfGc:#fdf2f8;--ioAkJk:#fce7f3;--eyVWNz:#fbcfe8;--nXIqK:#f9a8d4;--hGgStN:#f472b6;--dviDWY:#ec4899;--kUZZAj:#db2777;--gKbLdu:#be185d;--UhnuV:#9d174d;--hYEIxc:#831843;--dPgAHx:#500724;--kpTESD:#fdf4ff;--jfJgr:#fae8ff;--gZeVto:#f5d0fe;--gfHpEZ:#f0abfc;--dSTUoK:#e879f9;--cZwoAv:#d946ef;--jPvANs:#c026d3;--iVXUZd:#a21caf;--hYKnEO:#86198f;--hfmHQz:#701a75;--cYPdae:#4a044e;--ksTgfC:#faf5ff;--iCdJRO:#f3e8ff;--dWAXWh:#e9d5ff;--jcWlLI:#d8b4fe;--eLlnzT:#c084fc;--jRGBpu:#a855f7;--fmdPtN:#9333ea;--kszdjo:#7e22ce;--kMigIv:#6b21a8;--eDhKZa:#581c87;--eadxYH:#3b0764;--elZfLV:#f5f3ff;--jcWAkV:#ede9fe;--gHfMHa:#ddd6fe;--jSzuYT:#c4b5fd;--jDVPUQ:#a78bfa;--bzTONN:#8b5cf6;--ktyKIO:#7c3aed;--cpwJBL:#6d28d9;--foWeJc:#5b21b6;--iApNaV:#4c1d95;--cfTfyk:#2e1065;--kbclAu:#eef2ff;--gAzkHe:#e0e7ff;--gRHwoJ:#c7d2fe;--iYtjYI:#a5b4fc;--jCTsMf:#818cf8;--ujwXi:#6366f1;--LrIEN:#4f46e5;--cSdwoM:#4338ca;--irwviH:#3730a3;--kyiiSG:#312e81;--hgSANP:#1e1b4b;--glmLoi:#eff6ff;--bYrJpO:#dbeafe;--hoTvPd:#bfdbfe;--bMEoOM:#93c5fd;--hIEEwj:#60a5fa;--cgpxvS:#3b82f6;--hwRjVh:#2563eb;--bUCcUQ:#1d4ed8;--golFsv:#1e40af;--LWyse:#1e3a8a;--eJQij:#172554;--dyXAhp:#ecfeff;--eeWoox:#cffafe;--fnHbwe:#a5f3fc;--cLmYYf:#67e8f9;--bpLSHw:#22d3ee;--kcNzIt:#06b6d4;--llymQa:#0891b2;--iJeksb:#0e7490;--jTKpqw:#155e75;--hrqmSx:#164e63;--bcqAnE:#083344;--jqQOis:#f0fdfa;--hsCMHs:#ccfbf1;--jcJhxj:#99f6e4;--czjDVi:#5eead4;--kfgCt:#2dd4bf;--eWbmzo:#14b8a6;--gGhHpf:#0d9488;--cIdNe:#0f766e;--catTvB:#115e59;--gMpZsw:#134e4a;--bnTNlF:#042f2e;--jVPfey:#ecfdf5;--gSyYHy:#d1fae5;--dOyJRJ:#a7f3d0;--jOMcLk:#6ee7b7;--bLsBkr:#34d399;--hLFUdS:#10b981;--eHFFod:#059669;--kHSYhE:#047857;--iuBcgT:#065f46;--dfsLBy:#064e3b;--jJEloz:#022c22;--hXozqf:#f0fdf4;--iDDIAz:#dcfce7;--khfuXU:#bbf7d0;--hypAVx:#86efac;--wGfza:#4ade80;--jdlUVz:#22c55e;--kGNHsU:#16a34a;--hXXNqx:#15803d;--bAQeLK:#166534;--khvUij:#14532d;--cbdKOS:#052e16;--dhEleJ:#f7fee7;--gFFbyh:#ecfccb;--fjFsBy:#d9f99d;--cfdGZz:#bef264;--bxLPEk:#a3e635;--jIFNBh:#84cc16;--imGeEy:#65a30d;--fietcz:#4d7c0f;--crovfQ:#3f6212;--kCitcN:#365314;--gEQkrg:#1a2e05;--cLFWMs:#fefce8;--kxGpio:#fef9c3;--cbZZGT:#fef08a;--fwcFBW:#fde047;--hUTJsd:#facc15;--loWpng:#eab308;--cTpZLL:#ca8a04;--gnsFGO:#a16207;--ByZWN:#854d0e;--dVBFRQ:#713f12;--iLqZUR:#422006;--kVxzTd:#fffbeb;--jZPQXp:#fef3c7;--hCWpXC:#fde68a;--bCKrrD:#fcd34d;--wuHbc:#fbbf24;--fLErTZ:#f59e0b;--doKQUm:#d97706;--iDUBNj:#b45309;--iOnUJo:#92400e;--cObWdp:#78350f;--frxesg:#451a03;--NQTLQ:#fff7ed;--JsfmQ:#ffedd5;--gBjjlD:#fed7aa;--QMCLK:#fdba74;--ijESlZ:#fb923c;--czilMg:#f97316;--iqZpKT:#ea580c;--cGCJla:#c2410c;--dUhLNN:#9a3412;--jzgOMQ:#7c2d12;--igBpVl:#431407;--bINrJX:#fef2f2;--fKgVwH:#fee2e2;--bLdQLg:#fecaca;--fMUQaR:#fca5a5;--hwCQam:#f87171;--iYfRb:#ef4444;--hzqKEw:#dc2626;--lMavl:#b91c1c;--bLDcWa:#991b1b;--fNuclL:#7f1d1d;--jHDsLG:#450a0a;--kltIHN:#fafafa;--hzpwrB:#f5f5f5;--lbfZji:#e5e5e5;--fcfsVb:#d4d4d4;--kPKNfw:#a3a3a3;--eQKgRp:#737373;--isAJIW:#525252;--ctAduP:#404040;--bqFRBA:#262626;--gHaUMp:#171717;--fhFoEQ:#0a0a0a;--NNaBX:#fafaf9;--juQpUX:#f5f5f4;--jjsRgY:#e7e5e4;--hxarzx:#d6d3d1;--dmyqvy:#a8a29e;--bAfQNX:#78716c;--boIrZY:#57534e;--kRLBRt:#44403c;--iKBpmW:#292524;--gYiPFv:#1c1917;--kshUcS:#0c0a09;--dhFdXS:#fafafa;--dGhjba:#f4f4f5;--efoVXJ:#e4e4e7;--ljOqfc:#d4d4d8;--cXLRGr:#a1a1aa;--kcllNK:#71717a;--kBsYKt:#52525b;--gqwJsQ:#3f3f46;--ylgyn:#27272a;--hCKAFG:#18181b;--dtmsQb:#09090b;--dcmCJN:#f9fafb;--ePJGsV:#f3f4f6;--dnVpUm:#e5e7eb;--bMJKSL:#d1d5db;--jSiOQk:#9ca3af;--iqXjOJ:#6b7280;--gPiTqa:#4b5563;--fnXooz:#374151;--fKIyfA:#1f2937;--ejwTdZ:#111827;--jympbw:#030712;--oXohi:#19191A;--gyKIIT:#252525;--eSphig:#303030;--lccBJR:#383838;--lfBdGG:#474747;--kcXOlL:#f8fafc;--kbRDfH:#f1f5f9;--ivwbEU:#e2e8f0;--dpNMHJ:#cbd5e1;--dtmoEy:#94a3b8;--jCZJgj:#64748b;--hWEhFw:#475569;--cQVSIl:#334155;--hVLXiS:#1e293b;--cQdIlH:#0f172a;--iFDdka:#020617;--izlnso:#F8F8FA;--eRgqfH:#EDEDF3;--KVTme:#E2E0E5;--dkJQoR:#CCCAD0;--ktVcUk:#B6B4BA;--gLQfHD:#97959A;--cFFIOa:#77767A;--cJEYlt:#4E4D52;--jSQkQM:#18171A;--hLOWYd:#EDEBFF;--bVhZHK:#CAC2FF;--jYNVEH:#A799FF;--emDeSE:#8875FF;--aNrqF:#6851FF;--gzCdzi:#5D40EA;--dnMpXj:#522FD4;--cLqlCI:#4421C3;--kOWhzF:#3512B2;--dNokDG:#E3FAF3;--fIEsRl:#BAF5E3;--kuAyOg:#90F0D3;--hUmnXD:#48DEB1;--bqMKvC:#00CC8F;--dmcSJh:#00AA77;--hXYYGc:#00875F;--domHof:#007753;--iaiNla:#006647;--dDaZDc:#FFEAE5;--bYjnoT:#FFC3B3;--jcIHwm:#FF9B80;--iuhUtx:#FE7C58;--ejlFbU:#FC5C30;--cEtSNL:#E84718;--jITmVe:#D43100;--hhKBFJ:#C12E02;--cWOmog:#AD2B03;--loKVxo:#FCF4E5;--crbXrL:#FEE5BD;--eXQnMG:#FFD594;--dYBcpd:#EDBD72;--gFpsJY:#DBA550;--iXcedr:#BF8832;--ouKZq:#A36B14;--kXQUUR:#97630C;--cpjBQQ:#8A5A03;--dpZiSB:#EBF0FE;--bZrrvu:#AFC4FF;--cGNUcb:#7398FF;--cGWcRs:#5482FB;--dosFxZ:#346BF7;--bXKOaS:#295EE7;--cFhqHz:#1E50D6;--cvyBYk:#1344C7;--dcVeER:#0737B8;--bMxFwZ:#e0f2fe;--vPNZS:#bae6fd;--bdmqGz:#7dd3fc;--bduzvQ:#38bdf8;--bKRccx:#0ea5e9;--ujkFq:#0284c7;--bbFNlX:#0369a1;--RWYCI:#075985;--bztBjp:#0c4a6e;--iNVpnc:#082f49;--cemPJF:#FFFFFF;--iTjmdu:#FFFFFF;--fFEzoc:0.0625rem;--fCuVLy:0.09375rem;--hiYFxW:0.125rem;--ixNmpi:0.125rem;--bewZvn:0.25rem;--kLOfAE:0.375rem;--dxfumK:0.5rem;--UXfgJ:0.75rem;--bphCwb:1rem;--eougbK:1.5rem;--kkkBVq:9999px;--cDRSmz:var(--button-radius,9999px);--insZoq:var(--container-radius,1.75rem);--hxxJkr:var(--input-radius,0.5rem);--kTdGYg:0rem;--cCUBeV:0.25rem;--gsUKim:0.5rem;--jshnNX:0.75rem;--juMtMc:1rem;--beDnSR:1.25rem;--eUDwWi:1.5rem;--hTQaBT:1.75rem;--cAmzCM:2rem;--fzzdix:2.25rem;--dDnfaV:2.5rem;--cpjPHA:2.75rem;--ckODEv:3rem;--WLola:3.25rem;--hTmzdp:3.5rem;--gFjjJU:3.75rem;--gANXGP:4rem;--htnoem:5rem;--tQYHK:6rem;--kcGldO:7rem;--gMkTEx:8rem;--lcknGR:9rem;--kveXIc:10rem;--gsriJI:11rem;--bPcliI:12rem;--Mxqsr:13rem;--hZfkST:14rem;--fUWaSi:15rem;--bSilTO:16rem;--fnTGst:18rem;--dAFdyM:20rem;--jxszKr:24rem;--hghuKL:0.125rem;--drtIxO:0.375rem;--siblR:0.625rem;--hSPYxQ:0.875rem;--izvCpj:20rem;--aTIGG:24rem;--kMQJUV:28rem;--dyNKmL:32rem;--ToPgI:36rem;--btoFLe:42rem;--esBjqP:48rem;--hrOPNc:56rem;--krbtsN:64rem;--cRFSXi:72rem;--fQSwCT:80rem;--iQceEA:90rem;--jAesVz:65ch;--khWApH:100%;--eOXrSu:min-content;--jNBRbM:max-content;--UhpHH:fit-content;--eomHOU:640px;--iujnmj:768px;--gThSgZ:1024px;--cssArG:1280px;--jESPPc:1536px;--exvVve:2147483647;--ikokJA:640px;--kSvAmr:768px;--uwdhN:1024px;--eyfDzy:1280px;--dgHGKE:1536px;--jlmaOs:var(--surface-primary,var(--iTjmdu));--Iycdi:var(--surface-secondary,var(--izlnso));--crPUBo:var(--surface-tertiary,var(--eRgqfH));--kJiqPO:var(--surface-quaternary,var(--KVTme));--iagzVE:var(--text-primary,var(--jSQkQM));--YyYdq:var(--text-secondary,var(--cJEYlt));--kFAOBM:var(--text-tertiary,var(--cFFIOa));--iodyUC:var(--text-quaternary,var(--cemPJF));--DLYOY:var(--neutral-primary,var(--ktVcUk));--gfUEye:var(--neutral-secondary,var(--KVTme));--qsPVo:var(--neutral-tertiary,var(--eRgqfH));--kyjnqS:var(--neutral-quaternary,var(--izlnso));--iAjuTO:var(--brand-lightest,var(--hLOWYd));--gzHfkH:var(--brand-lighter,var(--jYNVEH));--gBHQLb:var(--brand-base,var(--aNrqF));--etZyR:var(--brand-darker,var(--dnMpXj));--enVPNY:var(--brand-darkest,var(--kOWhzF));--itfeCm:var(--dNokDG);--qkXv:var(--kuAyOg);--gHzsmL:var(--bqMKvC);--cOyFst:var(--hXYYGc);--fKbyps:var(--iaiNla);--dxaFjW:var(--dDaZDc);--dnTPVf:var(--jcIHwm);--bWuoqD:var(--ejlFbU);--iqIoUR:var(--jITmVe);--iZlvjY:var(--cWOmog);--ldafrz:var(--loKVxo);--leQkZS:var(--eXQnMG);--jmTbXW:var(--gFpsJY);--dLLYUY:var(--ouKZq);--dZIprB:var(--cpjBQQ);--gaBiDO:var(--dpZiSB);--fxHMpn:var(--cGNUcb);--fQFmqL:var(--dosFxZ);--dUMcYZ:var(--cFhqHz);--dntrJc:var(--dcVeER)}[data-color-mode=light]{--jlmaOs:var(--surface-primary,var(--iTjmdu));--Iycdi:var(--surface-secondary,var(--izlnso));--crPUBo:var(--surface-tertiary,var(--eRgqfH));--kJiqPO:var(--surface-quaternary,var(--KVTme));--iagzVE:var(--text-primary,var(--jSQkQM));--YyYdq:var(--text-secondary,var(--cJEYlt));--kFAOBM:var(--text-tertiary,var(--cFFIOa));--iodyUC:var(--text-quaternary,var(--cemPJF));--DLYOY:var(--neutral-primary,var(--ktVcUk));--gfUEye:var(--neutral-secondary,var(--KVTme));--qsPVo:var(--neutral-tertiary,var(--eRgqfH));--kyjnqS:var(--neutral-quaternary,var(--izlnso));--iAjuTO:var(--brand-lightest,var(--hLOWYd));--gzHfkH:var(--brand-lighter,var(--jYNVEH));--gBHQLb:var(--brand-base,var(--aNrqF));--etZyR:var(--brand-darker,var(--dnMpXj));--enVPNY:var(--brand-darkest,var(--kOWhzF));--itfeCm:var(--dNokDG);--qkXv:var(--kuAyOg);--gHzsmL:var(--bqMKvC);--cOyFst:var(--hXYYGc);--fKbyps:var(--iaiNla);--dxaFjW:var(--dDaZDc);--dnTPVf:var(--jcIHwm);--bWuoqD:var(--ejlFbU);--iqIoUR:var(--jITmVe);--iZlvjY:var(--cWOmog);--ldafrz:var(--loKVxo);--leQkZS:var(--eXQnMG);--jmTbXW:var(--gFpsJY);--dLLYUY:var(--ouKZq);--dZIprB:var(--cpjBQQ);--gaBiDO:var(--dpZiSB);--fxHMpn:var(--cGNUcb);--fQFmqL:var(--dosFxZ);--dUMcYZ:var(--cFhqHz);--dntrJc:var(--dcVeER) }[data-color-mode=dark]{--jlmaOs:var(--surface-primary-dark,var(--oXohi));--Iycdi:var(--surface-secondary-dark,var(--gyKIIT));--crPUBo:var(--surface-tertiary-dark,var(--eSphig));--kJiqPO:var(--surface-quaternary-dark,var(--lccBJR));--iagzVE:var(--text-primary-dark,var(--cemPJF));--YyYdq:var(--text-secondary-dark,var(--text-secondary-dark,color-mix(in srgb,var(--cemPJF) 72%,transparent)));--kFAOBM:var(--text-tertiary-dark,var(--text-tertiary-dark,color-mix(in srgb,var(--cemPJF) 44%,transparent)));--iodyUC:var(--text-quaternary-dark,var(--jSQkQM));--DLYOY:var(--neutral-primary-dark,var(--neutral-primary-dark,color-mix(in srgb,var(--cemPJF) 16%,transparent)));--gfUEye:var(--neutral-secondary-dark,var(--neutral-secondary-dark,color-mix(in srgb,var(--cemPJF) 12%,transparent)));--qsPVo:var(--neutral-tertiary-dark,var(--neutral-tertiary-dark,color-mix(in srgb,var(--cemPJF) 8%,transparent)));--kyjnqS:var(--neutral-quaternary-dark,var(--neutral-quaternary-dark,color-mix(in srgb,var(--cemPJF) 5%,transparent)));--iAjuTO:var(--brand-lightest-dark,var(--brand-lightest-dark,color-mix(in srgb,var(--jYNVEH) 25%,transparent)));--gzHfkH:var(--brand-lighter-dark,var(--brand-lighter-dark,color-mix(in srgb,var(--jYNVEH) 66%,transparent)));--gBHQLb:var(--brand-base-dark,var(--jYNVEH));--etZyR:var(--brand-darker-dark,var(--hLOWYd));--enVPNY:var(--brand-darkest-dark,var(--hLOWYd));--itfeCm:color-mix(in srgb,var(--kuAyOg) 8%,transparent);--qkXv:color-mix(in srgb,var(--kuAyOg) 72%,transparent);--gHzsmL:var(--kuAyOg);--cOyFst:var(--bqMKvC);--fKbyps:var(--bqMKvC);--dxaFjW:color-mix(in srgb,var(--jcIHwm) 8%,transparent);--dnTPVf:color-mix(in srgb,var(--jcIHwm) 72%,transparent);--bWuoqD:var(--jcIHwm);--iqIoUR:var(--ejlFbU);--iZlvjY:var(--ejlFbU);--ldafrz:color-mix(in srgb,var(--eXQnMG) 8%,transparent);--leQkZS:color-mix(in srgb,var(--eXQnMG) 72%,transparent);--jmTbXW:var(--eXQnMG);--dLLYUY:var(--gFpsJY);--dZIprB:var(--gFpsJY);--gaBiDO:color-mix(in srgb,var(--cGNUcb) 8%,transparent);--fxHMpn:color-mix(in srgb,var(--cGNUcb) 72%,transparent);--fQFmqL:var(--cGNUcb);--dUMcYZ:var(--dosFxZ);--dntrJc:var(--dosFxZ) }@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:0.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}@keyframes scaleIn{0%{opacity:0}to{opacity:1;scale:1}}@keyframes scaleOut{0%{opacity:1;scale:1}to{opacity:0;scale:0.9}}@keyframes slideIn{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.25rem)}}@keyframes slideRight{0%{left:-150%}to{left:175%}}@keyframes moveRight{0%{transform:translateX(0rem)}80%{transform:translateX(1.25rem)}to{transform:translateX(1.2rem)}}@keyframes moveLeft{0%{transform:translateX(0rem)}80%{transform:translateX(-1.25rem)}to{transform:translateX(-1.2rem)}}@keyframes animateSpinnerSmall{0%{stroke-dasharray:0.4,60;stroke-dashoffset:0}50%{stroke-dasharray:36,60;stroke-dashoffset:-14}to{stroke-dasharray:36,60;stroke-dashoffset:-52}}@keyframes animateSpinnerLarge{0%{stroke-dasharray:0.875,175;stroke-dashoffset:0}50%{stroke-dasharray:78.75,131.25;stroke-dashoffset:-31}to{stroke-dasharray:0.875,175;stroke-dashoffset:-158}}@keyframes popIn{0%{scale:0}to{scale:1}}@keyframes popOut{0%{scale:1}to{scale:0}}.JIGdQ{font-size:0.75rem;line-height:1.25rem;font-weight:var(--llFanx)}.caxCit{font-size:0.875rem}.AEdnq,.caxCit{line-height:1.5rem;font-weight:var(--llFanx)}.AEdnq{font-size:1rem}.ggkuag{font-size:1.125rem;line-height:1.75rem}.KOyzo,.ggkuag{font-weight:var(--llFanx)}.KOyzo{font-size:0.75rem;line-height:1.25rem}.bqPPXX{font-size:0.875rem}.bqPPXX,.iBKgpR{line-height:1.5rem;font-weight:var(--llFanx)}.iBKgpR{font-size:1rem}.dVmflu{font-size:0.875rem}.dVmflu,.hkxWuN{line-height:1.5rem;font-family:var(--gxQaAd)}.hkxWuN{font-size:1rem}.eIvlPr{font-size:1.125rem;line-height:1.75rem;font-family:var(--gxQaAd)}.ZlnHu{line-height:3.25rem}.ZlnHu,.dNxFtD{font-size:2.5rem;font-weight:var(--janwPd)}.dNxFtD{line-height:3.5rem}.bcvUKl{font-size:2.25rem;line-height:3rem;font-weight:var(--janwPd)}.fDZIkY,.gRVYOk{font-size:2rem;line-height:2.75rem;font-weight:var(--janwPd)}.cqslnx{font-size:1.5rem;line-height:2.25rem;font-weight:var(--ghWdwL)}.cFGrCm,.cSachX{font-size:1.25rem;line-height:2rem;font-weight:var(--ghWdwL)}.brKaZa,.efWsLj{font-size:1.125rem;line-height:1.75rem;font-weight:var(--ghWdwL)}.buUIbR{font-size:0.625rem}.buUIbR,.hkuMfQ{letter-spacing:0.06rem;text-transform:uppercase;line-height:0.75rem;font-weight:var(--hmvyHR)}.hkuMfQ{font-size:0.75rem}@media screen and (min-width: 64rem){.KOyzo{font-size:0.875rem}.KOyzo,.bqPPXX{line-height:1.5rem}.bqPPXX{font-size:1rem}.iBKgpR{font-size:1.125rem;line-height:1.75rem}.ZlnHu{font-size:5rem;line-height:5.5rem}.bcvUKl{font-size:4rem;line-height:4.75rem}.fDZIkY{font-size:3rem;line-height:4rem}.cSachX{font-size:1.5rem;line-height:2.25rem}.brKaZa{font-size:1.25rem;line-height:2rem}.buUIbR{font-size:0.75rem;line-height:0.75rem}}.fEVEmD{display:inline-flex}.jTWvec{position:relative}.iPfXWl{box-sizing:border-box}.dKuXep{border-radius:var(--cDRSmz)}.lbmNld{border:thin solid}.bZRhvx{cursor:pointer}.hWbyxU{transition:all 0.1s ease}.diIxfU{outline:var(--dzOvWn)}.efvJEH{will-change:transform,opacity}.kFYpif{background:none}.Axmbx{height:var(--fzzdix)}.jGqtLL{padding-block:var(--jJIQbV)}.fzoqgU{padding-inline:var(--hIimNX)}.fzpabD{height:var(--ckODEv)}.fzoAXm{padding-block:var(--bYDCFo)}.fznPAm{padding-inline:var(--gGIQOF)}.fznKiw{height:var(--gFjjJU)}.fzoqgp{padding-block:var(--hIimNX)}.cPRswh{background:var(--gBHQLb)}.dTWubc{background:var(--iAjuTO)}.edEltL{background:var(--cOyFst)}.gDSsAr{background:var(--iqIoUR)}.hoYZte{background:var(--qsPVo)}.foDtdn{background:var(--edNtiq)}.AxjtU{padding:var(--fcTUxn)}.gsynQv{height:fit-content}.hZLYvv{background:#ffffff14}.kXEOGR{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.hmegja{background:var(--jSQkQM)}.cERSkX{pointer-events:none}.dMMuNs{width:var(--khWApH)}.bYJPrM{border-radius:var(--kkkBVq)}.fPSBzf{display:flex}.gzBMzy{text-align:center}.cbkwRf{white-space:nowrap}.bunRPm{color:var(--jlmaOs)}.rbsQX{color:var(--etZyR)}.flFbEq{color:var(--iagzVE)}.ecosjt{color:var(--gBHQLb)}.jiGUEY{color:var(--cemPJF)}.deYFWh{color:var(--gHzsmL)}.iATurT{color:var(--iqIoUR)}.drDZIi{color:var(--kFAOBM)}.fQAFQl{outline-offset:var(--gEfgCY)}.AxmbG{width:var(--fzzdix)}.pitAi{padding:var(--jJIQbV)}.fzpabA{width:var(--ckODEv)}.Axikr{padding:var(--bYDCFo)}.fznKij{width:var(--gFjjJU)}.AxhTk{padding:var(--hIimNX)}.gsynQA{width:fit-content}.DyZUq{border-radius:10px}.lnVchA{background:var(--itfeCm)}.gCOtIw{background:var(--dxaFjW)}.fmhFEF{background:var(--ldafrz)}.kRLutI{background:var(--Iycdi)}.gIDZqd{transition:transform 0.2s ease,opacity 0.2s ease}.dLFxYe{text-align:left}.kkElPi{color:var(--enVPNY)}.jsoGzi{color:var(--fKbyps)}.bKCYEC{color:var(--iZlvjY)}.jnqkcv{color:var(--dZIprB)}.buzaNI{color:var(--YyYdq)}.kypCfT{text-transform:uppercase}.fkBQxR{letter-spacing:0.06rem}.gcohXo{border-radius:1rem}.fyplMZ{cursor:default}.ioQIUn{height:10.75rem}.ioQIUI{width:10.75rem}.dXscgu{overflow:hidden}.eLuUPu{overflow:visible}.qbege{gap:var(--fcTUxn)}.pvuga{gap:var(--hIimNX)}.pnxsH{gap:var(--fFrqVq)}.pezuA{gap:var(--gGIQOF)}.flMYjT{box-shadow:0px 1px 2px rgba(189,189,189,0.3)}.fMKpTj{box-shadow:8px 8px 48px rgba(16,15,17,0.14)}.fzrkhE{padding-inline:var(--flZesP)}.fznPzH{padding-block:var(--gGIQOF)}.fzpabv{padding:var(--uyqLg)}.kdFIjO{flex:1 1 0%}.bKPWST{max-width:29.125rem}.iZstbk{opacity:0.3}.dMMuMP{height:var(--khWApH)}.kbJfZC{background:var(--jlmaOs)}.gWzzAr{overflow:auto}.fLVKVB{scrollbar-width:none}.djBLSD{height:100vh}.dnFyWD{width:100vw}.eJvMDV{scale:1}.AxiEa{padding:var(--ebuyxV)}.Axmvo{padding:var(--flZesP)}.jieZfE{pointer-events:all}.hdAwi{position:fixed}.csnEyP{--backdrop-blur:blur(0.375rem)}.crPXqh{backdrop-filter:var(--backdrop-blur) var(--backdrop-brightness) var(--backdrop-contrast) var(--backdrop-grayscale) var(--backdrop-hue-rotate) var(--backdrop-invert) var(--backdrop-saturate) var(--backdrop-sepia);-webkit-backdrop-filter:var(--backdrop-blur) var(--backdrop-brightness) var(--backdrop-contrast) var(--backdrop-grayscale) var(--backdrop-hue-rotate) var(--backdrop-invert) var(--backdrop-saturate) var(--backdrop-sepia)}.deAqKV{max-width:100rem}.hkIdtl{margin:0 auto}.cORRFI{max-width:none}.fDWVKV{border-radius:var(--hxxJkr)}.JcTPa{transition:all linear 120ms}.hYZFkb{width:100%}.fzozCt{height:var(--dDnfaV)}.fzoNwz{padding-block:var(--ebuyxV)}.AxjtB{margin:var(--fcTUxn)}.iQHTXh{min-width:var(--dDnfaV)}.dvMkiN{text-align:right}.dpjQla{transition:opacity linear 120ms}.dsySWt{text-wrap:wrap}.gsGAeM{color:var(--jmTbXW)}.fNCCNu{padding:20px}.AYoSK{z-index:var(--exvVve)}.kVkdUe{box-shadow:4px 8px 20px 0px rgba(0,0,0,0.15)}.dSXBgr{height:1rem}.dSXBfY{width:1rem}.eAZrpM{width:auto}.AYoSP{width:var(--jNBRbM)}.hQiMIj{max-width:var(--fnTGst)}.jXSfKH{position:absolute}.fzoAWH{padding-inline:var(--bYDCFo)}.eeKCgv{border-radius:var(--UXfgJ)}.Oxeoj{box-shadow:0px 4px 20px 0px rgba(0,0,0,0.10)}.ddgODW{display:none}.cGFOJB{display:block}.izPYod{transform:translateX(-50%) translateY(calc(-100% - 0.75rem))}.cPkmfo{transform:translateX(10%) translateY(calc(-100% - 0.75rem))}.cXTUEh{transform:translateX(-10%) translateY(calc(-100% - 0.75rem))}.iqmoHh{transform:translateX(calc(-100% - 0.75rem)) translateY(-50%)}.emrspq{transform:translateX(calc(-100% - 0.75rem)) translateY(-75%)}.zFGjL{transform:translateX(calc(-100% - 0.75rem)) translateY(-25%)}.ddBtbm{transform:translateX(calc(100% + 0.75rem)) translateY(-50%)}.kSbzJl{transform:translateX(calc(100% + 0.75rem)) translateY(-75%)}.hdzMuI{transform:translateX(calc(100% + 0.75rem)) translateY(-25%)}.jSRWPC{transform:translateX(-50%) translateY(calc(100% + 0.75rem))}.depkmP{transform:translateX(10%) translateY(calc(100% + 0.75rem))}.eqVTfG{transform:translateX(-10%) translateY(calc(100% + 0.75rem))}.fzoWka{width:var(--fnTGst)}.AxhSM{height:var(--juMtMc)}.kmFTYl{transform:translateX(-50%) translateY(0.75rem)}.hFunKo{transform:translateX(-50%) translateY(-0.75rem)}.AxhTf{width:var(--juMtMc)}.fzqACo{height:var(--bPcliI)}.kwEkgw{transform:translateX(-0.75rem) translateY(-50%)}.LwqbV{transform:translateX(0.75rem) translateY(-50%)}.jHxAip{background:linear-gradient(#00CC8F,#6851FF)}.hWgZTB{inset:var(--fcTUxn)}.dKLBtz{gap:10px}.cYdhWw{display:grid}.jZwGWY{fill:var(--RiClf)}.hGQgmY{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eAZrqn{height:auto}.jcgYsf{--mix-background:color-mix(in srgb,var(--iagzVE) 20%,transparent);background:var(--mix-background,var(--iagzVE))}.jDVJRS{transform:translateY(0)}.japwPO{transform:translateY(100%)}.bTJmyy{transition:transform 0.3s}.fClTjd{border-top-left-radius:var(--eougbK);border-top-right-radius:var(--eougbK)}.jvjRt{box-shadow:0px -12px 56px 0px rgba(119,118,122,0.15)}.fzozCb{z-index:10}.cFLICG{transform:translateX(-100%)}.byXyn{transform:translateX(100%)}.khiFRn{transform:translateX(0)}.fzoCXr{width:var(--dAFdyM)}.fjzPTS{border-top-right-radius:var(--bphCwb);border-bottom-right-radius:var(--bphCwb)}.dXSjkM{border-top-left-radius:var(--bphCwb);border-bottom-left-radius:var(--bphCwb)}.eVHffH{--thickness:1px}.bjGQXr{gap:var(--cqwGG)}.cpnrKk{box-shadow:true}.fgrICX{background:#ffc439}.fnjBrW{border:1px solid transparent}.jGoIIY{padding-block:var(--cqwGG)}.lopGBb{stroke-width:2.5}.pThsL{gap:var(--dacYEG)}.fzoxFp{width:var(--fUWaSi)}.jonSOI{flex:0 0 auto}.lkYUqX{border-radius:9999px}.cUqkcP{animation:popIn 150ms}.ksKAre{animation:popOut 150ms}.ZlVyD{animation:spin 1.5s linear infinite}.emRNBL{stroke:var(--iagzVE)}.elaIWr{transform-origin:center center}.bkLsBk{gap:var(--jJIQbV)}.kRRXUg{stroke:var(--gBHQLb)}.jAmlUX{stroke:var(--jlmaOs)}.kYoAXZ{stroke-opacity:0.12}.jQNDvc{animation:spin 1s linear infinite}.dITaCb{border-radius:2rem}.bKdxLy{transform:skewX(-20deg)}.chmhDV{overflow-wrap:break-word}.bWVcuP{word-break:break-word}.llnClk{background:var(--kyjnqS)}.fRIRtM{border-radius:var(--dxfumK)}.dWKkCe{min-width:15rem}.mDYqS{width:40%}.dZeDlI{border-left:thin solid}.Axmvg{height:var(--cAmzCM)}.pCmHl{gap:var(--bYDCFo)}.bGySga{-webkit-user-select:none;user-select:none}.GzWLz{-webkit-user-select:auto;user-select:auto}.fMSoJ{filter:blur(10px)}.rHLwk{text-wrap:nowrap}.fzoYeD{width:22px}.fzoYeI{height:22px}.iiBJGO{font-variant:no-contextual}.dJRcZd{transition:none}.pKjuE{gap:var(--ebuyxV)}.fznYYc{width:var(--gANXGP)}.fzozgh{width:var(--htnoem)}.fznYYn{height:var(--gANXGP)}.fzozgi{height:var(--htnoem)}.hYbcjk{width:1.125rem}.hYbciH{height:1.125rem}.dgzwbo{object-fit:cover}.clyxRL{border-start-start-radius:var(--hxxJkr);border-end-start-radius:var(--hxxJkr)}.cMWMBT{border-radius:0}.duralB{transform:rotate(180)}.fznyyO{width:var(--hTmzdp)}.fznyzd{height:var(--hTmzdp)}.faAYXy{max-height:17.5rem}.fzqBIS{width:18px}.fzqBJp{height:18px}.hVpAQY{min-width:var(--kTdGYg)}.cEowv{max-width:30rem}.dGnaHP{caret-color:var(--edNtiq)}.eGizhS{border-radius:0.5rem}.fzoqgI{margin-block:var(--hIimNX)}.iWbCEa{max-width:var(--iQceEA)}.coifUy{margin-inline:auto}.XApuw{overlay:true}.fznycS{height:var(--tQYHK)}.fznycJ{width:var(--tQYHK)}.Axhdq{padding:var(--gGIQOF)}.kInNhr{max-width:393px}.Axhdp{width:var(--eUDwWi)}.enrCNZ{border-radius:60px}.fzoLlM{height:var(--cpjPHA)}.fzoLlH{width:var(--cpjPHA)}.fzozCm{width:var(--dDnfaV)}.AxgJj{height:var(--hTQaBT)}.AxgJE{width:var(--hTQaBT)}.kZwhzw{border-radius:30px}.Axhzu{width:var(--beDnSR)}.Axhzd{height:var(--beDnSR)}.dtwJUe{border-radius:0.375rem}.gNnTtK{border-radius:var(--kLOfAE)}.bnMKLm{color:var(--DLYOY)}.fVXeaF{border-radius:var(--bphCwb)}.bMpqsa{opacity:0.5}.frJqtw{opacity:1}.fzoyvf{width:var(--kveXIc)}.fzoyvs{height:var(--kveXIc)}.dSXzlv{width:6rem}.dSXBCd{width:4rem}.kEPjac{min-height:var(--gANXGP)}.dLESCV{border-radius:0.75rem}.bVQpjJ{border-radius:var(--bewZvn)}.hLsNni{pointer-events:auto}.fGSyrq{transition:background-color 0.2s ease,border-color 0.2s ease}.piqPW{width:var(--siblR)}.pitgX{height:var(--hghuKL)}.mBgaT{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lfSec{caret:18px}.kEVDGR{check:16px}.dSXBWl{height:3rem}.flFnwR{mult:2.5px}.bUyOMB{display:inline-block}.eOXPNx{max-width:var(--Mxqsr)}.jSqJiD{gap:var(--ieMJEa)}.ljqpme{transition:border-color 0.2s ease}.AxhcS{height:var(--eUDwWi)}.Axikw{width:var(--jshnNX)}.AxijT{height:var(--jshnNX)}.Axjal{padding:var(--dacYEG)}.kyvghW{background:var(--izlnso)}.fyBLPL{background:var(--iTjmdu)}.jqgBXf{box-shadow:0px 4px 20px 0px color-mix(in srgb,var(--jSQkQM) 10%,transparent)}.jIGVye{transition:transform 0.2s ease}.cXjUyC{border-radius:inherit}.fzplPS{height:var(--WLola)}.gnKssF{transition:background 0s}.gNPhbY{transition:background 0.2s ease}.AxjtK{z-index:0}.cgfjYq{background:var(--DLYOY)}.jGqhlT{padding-inline:var(--gEfgCY)}.cBWyVA{transition:background-color 0.2s ease}.iLEfrF{transition:left 0.2s ease}.jYtJnS{stroke-width:4}.fznWHu{width:var(--lcknGR)}.fznWHJ{height:var(--lcknGR)}.fzoAXP{margin-block:var(--bYDCFo)}.kwGEGT{pointer-events:initial}.fNCbQd{height:76px}.jXIVTv{max-width:115px}.hYZFjI{height:100%}.flXdLu{min-width:var(--htnoem)}.pBpid{padding-inline:var(--ieMJEa)}.gtdXBX{width:max-content}.cqBabc{border:thin solid transparent}.jzlacV{height:6.25rem}.evQrdT{--mix-background:color-mix(in srgb,var(--iagzVE) 6%,transparent);background:var(--mix-background,var(--iagzVE))}.bdwxhc{border-radius:52px}.gAFyjk{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.hYxQqf{height:2.625rem}.hYxQqA{width:2.625rem}.fubjOl{box-shadow:0.125rem 0.125rem 1.5rem color-mix(in srgb,var(--cFFIOa) 15%,transparent)}.eWAJiI{fill:var(--ktVcUk)}.eWyFtu{color:var(--ktVcUk)}.gSVYRP{animation:fadeIn 0.5s,moveRight 1s 0.5s forwards}.kJWAhn{border-radius:50%}.imIknl{height:3.875rem}.imIknm{width:3.875rem}.Axjab{z-index:1}.iAVgSo{animation:fadeIn 0.5s,moveLeft 1s 0.5s forwards}.fznxJj{height:34px}.fznxIY{width:34px}.fzoayX{height:var(--hZfkST)}.fzoayU{width:var(--hZfkST)}.eliKuq{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.fzodHc{padding-block:var(--fFrqVq)}.pBpiF{margin-block:var(--ieMJEa)}.pzYgn{height:250px}.gWDyZg{color:var(--cFFIOa)}.fzozCl{padding:var(--ieMJEa)}.gnCXEd{overflow:scroll}.jsxjhB{width:200px}.hMIFzk{max-width:200px}.gHsxkk{min-width:88px}.gWcfgT{min-width:fit-content}.gVwSKA{min-height:fit-content}.cUIwgI{transition:transform 0.1s}.jrPJbn{width:114px}.fNAzWg{height:48px}.ATFQA{width:7px}.ATFQv{height:7px}.bxgBRd{background:var(--gHzsmL)}.ihDaVZ{--translate-x:var(--gGIQOF)}.cBAuwg{--translate-y:var(--gGIQOF)}.djKBfg{--translate-x:var(--bYDCFo)}.iPNhEZ{--translate-y:var(--bYDCFo)}.BJXMm{min-height:18px}.AORKl{min-width:18px}.AxiZQ{margin:var(--dacYEG)}.rmyfW{gap:var(--flZesP)}.jJQbUA{transform:translate(-50%,-50%)}.eYxvy{stroke-width:8}.uLMIu{border-radius:14px}.iriloe{rotate:90deg}.kBkDOg{scrollbar-width:thin}.fUTAcQ{scrollbar-color:rgba(143,147,153,0.4) transparent}.eGSram{max-height:384px}.fzoNxe{padding-inline:var(--ebuyxV)}.fzoxFy{height:var(--fUWaSi)}.fznCZP{padding-inline:var(--eDRUVY)}.kSmiQp{align-items:center}.legDhJ{justify-content:center}.bsdAgg{font-weight:var(--hmvyHR)}.gKedlK{border-color:var(--edNtiq)}.lcwbhf{border-color:var(--DLYOY)}.xYowz{font-size:var(--eRgJXV)}.lgBfkU{line-height:1.5rem}.wzdQU{font-size:var(--daFrau)}.xEQJi{font-size:var(--gKFLFQ)}.RiFXn{line-height:1.75rem}.ecsDQq{outline-color:var(--gBHQLb)}.dkFkBb{outline-style:solid}.jUIfTb{outline-width:var(--hiYFxW)}.uLlkq{animation-fill-mode:forwards}.hgoZRe{animation-name:scaleOut}.bXxxmv{animation-duration:150ms}.AMuyK{font-size:var(--loLyxA)}.fznCNG{margin-left:var(--eDRUVY)}.fznDiI{margin-right:var(--eDRUVY)}.kbJfZC{background-color:var(--jlmaOs)}.dRCFAU{align-items:flex-start}.fUfBYX{align-items:flex-end}.fRDJQy{background-color:var(--crPUBo)}.cZtwqS{animation-name:none}.fzpnVC{padding-bottom:var(--fcTUxn)}.bZlPyP{animation-name:scaleIn}.fDIibI{animation-duration:250ms}.qbeer{top:var(--fcTUxn)}.kiKDyH{left:var(--fcTUxn)}.hIekUp{animation-name:fadeIn}.Brknr{animation-duration:400ms}.hdbihI{animation-name:fadeOut}.iYhTva{font-weight:var(--leEsKL)}.foDtdn{background-color:var(--edNtiq)}.hDGJaH{border-style:solid}.lbLLll{border-width:var(--fFEzoc)}.kMhkax{border-color:var(--gfUEye)}.dwaifQ{border-color:var(--bWuoqD)}.hhWyss{font-weight:var(--llFanx)}.xNKXN{font-size:var(--gFqSQX)}.fvBKJs{justify-content:flex-start}.jUJMFv{justify-content:flex-end}.cPRswh{background-color:var(--gBHQLb)}.edEltL{background-color:var(--cOyFst)}.gCeNqG{background-color:var(--dLLYUY)}.gDSsAr{background-color:var(--iqIoUR)}.btsPBS{background-color:var(--kFAOBM)}.hZBAaK{top:0%}.eCaVMz{left:50%}.dlNJxY{right:100%}.eCzFHr{left:100%}.dDihBf{top:50%}.dTRYzG{left:0%}.dRndGF{right:0%}.ktFiky{bottom:0%}.kyGdCf{bottom:var(--fcTUxn)}.jIomzn{right:calc(var(--gGIQOF) * -1)}.eMGDsc{left:calc(var(--gGIQOF) * -1)}.ksWBqx{flex-direction:row}.cMoGaw{grid-template-columns:repeat(6,minmax(0,1fr))}.cxWwua{column-gap:2rem}.cxzifT{row-gap:2rem}.fznPDb{margin-top:var(--gGIQOF)}.iLbQFp{flex-direction:column}.jzuiJt{flex-shrink:0}.fznPCO{padding-top:var(--gGIQOF)}.hWgptE{right:var(--fcTUxn)}.fznPzA{padding-bottom:var(--gGIQOF)}.gSKPcF{justify-content:space-between}.gsLSP{border-block-end-width:var(--thickness)}.kNSbHl{border-color:var(--kJiqPO)}.iFtuvY{outline-color:#ffc439}.jGqhje{margin-top:var(--gEfgCY)}.iWITAz{border-width:var(--hiYFxW)}.OpsJf{border-color:var(--jlmaOs)}.cIFhny{left:-50%}.hhfvpY{background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.bheJpJ{font-weight:600}.ckDurQ{justify-content:space-around}.bJrRn{border-color:var(--qsPVo)}.kWIjhW{font-family:inherit}.evhJrM{outline-style:none}.bnrbKB{border-left-width:var(--fFEzoc)}.jCnIUz{top:55px}.WUSvz{overflow-y:auto}.fzrkfx{margin-top:var(--flZesP)}.fzoqjJ{margin-top:var(--hIimNX)}.kiIPsp{flex-grow:0}.fzoBen{padding-top:var(--bYDCFo)}.eRLFrQ{border-bottom-color:var(--DLYOY)}.ikkoWx{border-bottom-width:1px}.gvTxLc{flex-direction:column-reverse}.kRUpGi{left:var(--djiiAi)}.jXbniH{top:var(--cBFxYr)}.jppWeU{border-width:2px}.hoYZte{background-color:var(--qsPVo)}.dKiwaS{font-weight:var(--ghWdwL)}.hQJXOm{align-items:start}.jgxhLI{border-color:var(--gBHQLb)}.jfQXOb{border-color:var(--kFAOBM)}.fNUXA{outline-color:var(--edNtiq)}.fzoAPu{margin-left:var(--bYDCFo)}.cLWmJb{border-width:1px}.pNAEp{margin-left:calc(var(--dacYEG) * -1)}.fzpbES{margin-right:var(--dacYEG)}.fzoNGh{margin-right:var(--ebuyxV)}.jDRgcp{left:var(--gGIQOF)}.cXMndB{--mix-borderColor:color-mix(in srgb,var(--iagzVE) 10%,transparent);border-color:var(--mix-borderColor,var(--iagzVE))}.boHRSr{border-width:var(--fCuVLy)}.dsEUfT{background-color:var(--hLOWYd)}.kAiqVl{border-width:3px}.jsWSlz{margin-top:-3px}.jbWTdm{margin-right:0.9rem}.jbWSUo{margin-left:0.9rem}.kFJmaE{--mix-backgroundColor:color-mix(in srgb,var(--iagzVE) 1%,transparent)}.ftGyaA,.kFJmaE{background-color:var(--mix-backgroundColor,var(--iagzVE))}.ftGyaA{--mix-backgroundColor:color-mix(in srgb,var(--iagzVE) 5%,transparent)}.fydxLC{--mix-borderColor:color-mix(in srgb,var(--iagzVE) 6%,transparent);border-color:var(--mix-borderColor,var(--iagzVE))}.fjYTfT{bottom:-1px}.bEeUNc{right:-1px}.kQauLJ{align-items:baseline}.fcwWhs{background-color:var(--gfUEye)}.hHdgel{background-color:var(--dnTPVf)}.bbHqQM{grid-template-columns:repeat(2,minmax(0,1fr))}.fzoqjw{padding-top:var(--hIimNX)}.fzoNvZ{margin-bottom:var(--ebuyxV)}.fzoNEP{margin-top:var(--ebuyxV)}.fzoAVA{margin-bottom:var(--bYDCFo)}.XyjJy:is(:disabled,[disabled],[data-disabled]){opacity:0.3}.iFUqYl:is(:disabled,[disabled],[data-disabled]){pointer-events:none}.jrpcxw:before{position:absolute}.heDbSF:before{border-radius:inherit}.dwmXuW:before{opacity:0}.huWYIz:before{transition:opacity 0.1s ease}[data-color-mode=light] .jtDWvE{mix-blend-mode:multiply}[data-color-mode=dark] .gLaBRL{background:#ffffff29}.jNgRkF:before{display:none}[data-color-mode=dark] .hAWTSp{background:var(--iTjmdu)}[data-color-mode=dark] .ehbthU{color:var(--jSQkQM)}[data-color-mode=dark] .kkleQX{color:var(--bWuoqD)}.iqcWiz::placeholder,.iqcWiz[data-placeholder]{color:var(--kFAOBM)}[data-color-mode=dark] .dSbdfc{background:var(--crPUBo)}.FuZjR:is(:disabled,[disabled],[data-disabled]){opacity:0.8}[data-color-mode=dark] .iuzRWK{background:rgba(0,0,0,.7)}[data-color-mode=dark] .jrIQHe{background:var(--Iycdi)}[data-color-mode=dark] .cDAZzQ{background:var(--jlmaOs)}[data-color-mode=dark] .dUhjQY{background:var(--eSphig)}[data-color-mode=dark] .egesjy{background:var(--lfBdGG)}[data-color-mode=dark] .ixYntQ{fill:var(--cFFIOa)}[data-color-mode=dark] .kmeQgS{color:var(--cFFIOa)}.dLVhZe:before{content:\"\"}.gjcwJg:before{top:var(--fcTUxn)}.WaBms:before{left:var(--fcTUxn)}.dqEIyP:before{right:var(--fcTUxn)}.knajvY:before{bottom:var(--fcTUxn)}.cNKdvI:before{background-image:linear-gradient(rgba(0,0,0,0.05),rgba(0,0,0,0.05))}.hSfsjI:before{background-image:linear-gradient(rgba(255,255,255,0.05),rgba(255,255,255,0.05))}[data-color-mode=dark] .dYDocO{background-color:var(--YyYdq)}[data-color-mode=dark] .HKuZu{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent)}.fmEGpT::-webkit-scrollbar,.hVrpDN::-webkit-scrollbar-track{background-color:var(--edNtiq)}.jOgXfC:focus-within{outline-offset:var(--gEfgCY)}.keDhFF:focus-within{outline-color:var(--gBHQLb)}.dLOUfk:focus-within{outline-style:solid}.hqoPOw:focus-within{outline-width:var(--hiYFxW)}.codFrx:is(:focus-visible,[data-focus-visible]){outline-offset:var(--gEfgCY)}.flBQvp:is(:focus-visible,[data-focus-visible]){border-radius:2px}.dmiQBo:is(:focus,[data-focus]){fill:url(\"#logo-gradient\")}.AIGHf:is(:focus-visible,[data-focus-visible]){outline-color:var(--iAjuTO)}.dGEQaj:is(:focus-visible,[data-focus-visible]){outline-color:var(--itfeCm)}.hyjrVf:is(:focus-visible,[data-focus-visible]){outline-color:var(--dxaFjW)}.gcvzK:is(:focus-visible,[data-focus-visible]){outline-color:var(--ldafrz)}.bIoiOr:is(:focus-visible,[data-focus-visible]){outline-color:var(--Iycdi)}.hLPNjH:is(:focus-visible,[data-focus-visible]){outline-style:solid}.dTHceD:is(:focus-visible,[data-focus-visible]){outline-width:var(--hiYFxW)}.bXLdKW:is(:focus-visible,[data-focus-visible]){outline-color:var(--gBHQLb)}.eqIqpK:is(:hover,[data-hover]){background:#ffffff4d}.group:is(:hover,[data-hover]) .crpBMh{color:var(--enVPNY)}.group:is(:hover,[data-hover]) .dkgTgI{color:var(--cOyFst)}.group:is(:hover,[data-hover]) .dsNmcp{color:var(--iZlvjY)}.group:is(:hover,[data-hover]) .ejxEyT{color:var(--YyYdq)}.gFOtbv:is(:hover,[data-hover]){opacity:0.8}.gNRPsX:is(:hover,[data-hover]){filter:brightness(0.9)}.cNdQqS:is(:hover,[data-hover]){background:var(--crPUBo)}.hQYScc:is(:hover,[data-hover]){background:var(--iAjuTO)}.juloA:is(:hover,[data-hover]){background:var(--gfUEye)}.ekkLYF:is(:hover,[data-hover]){box-shadow:0 6px 8px 2px rgba(0,0,0,.18)}.ieWvIF:is(:hover,[data-hover]){cursor:pointer}.kznAev:is(:hover,[data-hover]){background:var(--edNtiq)}.lpgyhx:is(:hover,[data-hover]){background:var(--eRgqfH)}.gJEFOw:is(:hover,[data-hover]){background:var(--cFFIOa)}.eJlUjp:is(:hover,[data-hover]){background:var(--gBHQLb)}.group:is(:hover,[data-hover]) .fOIArh{color:var(--iagzVE)}.dmulsi:is(:hover,[data-hover]){fill:url(\"#logo-gradient\")}.group:is(:hover,[data-hover]) .ejwVfp{color:var(--kFAOBM)}.dpCLFW:is(:hover,[data-hover]){background:var(--qsPVo)}.fFyjxH:is(:hover,[data-hover]){border-color:var(--DLYOY)}.khQJeR:is(:hover,[data-hover]){border-color:var(--gfUEye)}.group:is(:hover,[data-hover]) .jRgrno{border-color:var(--DLYOY)}.juloA:is(:hover,[data-hover]){background-color:var(--gfUEye)}.XicUs:is(:hover,[data-hover]){border-color:var(--gBHQLb)}.bhyTbN:is(:active,[data-active]){transform:scale(0.95)}.dLUGsc:is(:active,[data-active]){fill:url(\"#logo-gradient\")}.fwLKPv>:first-child,.kYYdmz>:last-child{min-width:var(--cAmzCM)}[data-color-mode=dark] .iBxkaW:before{background-image:linear-gradient(rgba(255,255,255,0.05),rgba(255,255,255,0.05))}[data-color-mode=dark] .gYKIuG:before{background-image:linear-gradient(rgba(0,0,0,0.05),rgba(0,0,0,0.05))}.feLnkv:is(:hover,[data-hover]):before{opacity:1}.hEvetW:is(:hover,[data-hover]):before{opacity:0}[data-color-mode=dark] .group:is(:hover,[data-hover]) .hOYqkw{color:var(--gzHfkH)}[data-color-mode=dark] .group:is(:hover,[data-hover]) .tdpny{color:var(--cOyFst)}[data-color-mode=dark] .group:is(:hover,[data-hover]) .jMRjnY{color:var(--dnTPVf)}[data-color-mode=dark] .group:is(:hover,[data-hover]) .hEkRYZ{color:var(--YyYdq)}[data-color-mode=dark] .cbdIkB:is(:hover,[data-hover]){background:var(--edNtiq)}[data-color-mode=dark] .bLXejb:is(:hover,[data-hover]){background:var(--gyKIIT)}[data-color-mode=dark] .leneMy:is(:hover,[data-hover]){background:var(--lfBdGG)}[data-color-mode=dark] .iCKJWv:is(:hover,[data-hover]){background:var(--gBHQLb)}@media (min-width: 48rem){.XrXGK{margin-inline:auto}.blyVxi{width:25rem}.jBZMtD{height:fit-content}.dOrSJl{box-shadow:0px 12px 56px color-mix(in srgb,var(--cFFIOa) 15%,transparent)}.cRloWQ{border-radius:var(--insZoq)}.fHEbLY{top:var(--uyqLg)}.ctyfRj{top:var(--fcTUxn)}[data-color-mode=dark] .iueHSe{box-shadow:none}[data-color-mode=dark] .isQWtr{border-block:solid}[data-color-mode=dark] .ceYPvB{border-width:1px}[data-color-mode=dark] .btXYvH{border-color:var(--gfUEye)}}@media screen and (min-width: 48rem){.kVsPah{padding-inline:var(--gGIQOF)}}@media screen and (min-width: 64rem){.kTqchV{padding-inline:var(--flZesP)}}@media screen and (max-width: 47.9975rem){.hUYDug{max-width:var(--khWApH)}}@media only screen and (max-width: 767px){.fcSmAp{height:100dvh}}@media (max-width: 370px){.hYevRO{display:none}}@media (prefers-reduced-motion: reduce){.kuxZR{scale:1}}";
|
|
15648
|
+
styleElement.textContent = "html{--font-fallback:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--global-font-body,var(--font-fallback))}*{margin:0px;padding:0px;font:inherit}*,:after,:before{box-sizing:border-box;border-width:0px;border-style:solid;border-color:var(--global-color-border,currentColor)}hr{height:0px;color:inherit;border-top-width:1px}body{height:100%}img{border-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}ol,ul{list-style:none}code,kbd,pre,samp{font-size:1em}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:var(--edNtiq);background-image:none}button,input,optgroup,select,textarea{color:inherit}button,select{text-transform:none}table{text-indent:0px;border-collapse:collapse;border-color:inherit}input::placeholder,textarea::placeholder{opacity:1;color:var(--global-color-placeholder,#9ca3af)}textarea{resize:vertical}summary{display:list-item}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-0.25em}sup{top:-0.5em}dialog{padding:0px}a{color:inherit;text-decoration:inherit}abbr:where([title]){text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{--font-mono-fallback:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New';font-size:1em;font-family:var(--global-font-mono,var(--font-mono-fallback))}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-cancel-button,::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=number]{-moz-appearance:textfield}:-moz-ui-invalid{box-shadow:none}:-moz-focusring{outline:auto}[hidden]{display:none!important}:root{--made-with-panda:'🐼'}*,::backdrop,:after,:before{--blur: ;--brightness: ;--contrast: ;--grayscale: ;--hue-rotate: ;--invert: ;--saturate: ;--sepia: ;--drop-shadow: ;--backdrop-blur: ;--backdrop-brightness: ;--backdrop-contrast: ;--backdrop-grayscale: ;--backdrop-hue-rotate: ;--backdrop-invert: ;--backdrop-opacity: ;--backdrop-saturate: ;--backdrop-sepia: ;--scroll-snap-strictness:proximity;--border-spacing-x:0;--border-spacing-y:0;--translate-x:0;--translate-y:0;--rotate:0;--skew-x:0;--skew-y:0;--scale-x:1;--scale-y:1}html{--primary:black}:where(:root,:host){--cUJial:1/1;--joSgrv:4/3;--dXjFHz:3/4;--gqpqIn:16/9;--lixcAJ:18/5;--hSWVDT:1.618/1;--dzOvWn:none;--drrWcF:cubic-bezier(0.4,0,0.2,1);--hgfxJf:linear;--hCLxzh:cubic-bezier(0.4,0,1,1);--byCBno:cubic-bezier(0,0,0.2,1);--gSAVQW:cubic-bezier(0.4,0,0.2,1);--fuVfvZ:50ms;--fVBMec:100ms;--mUhz:150ms;--cWTXGg:200ms;--cifMdM:300ms;--goNNlj:400ms;--bPXfWW:500ms;--dRPRGd:100;--dooANa:200;--fVSZDc:300;--llFanx:400;--leEsKL:500;--hmvyHR:600;--ghWdwL:700;--janwPd:800;--bvnjIx:900;--ekeMrS:1;--jyTpIu:1.25;--ipEwfb:1.375;--lomeBD:1.5;--kwMYUX:1.625;--dVGecO:2;--dywXPJ:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--guQdxN:ui-serif,Georgia,Cambria,\"Times New Roman\",Times,serif;--gxQaAd:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--jrseCf:-0.05em;--glKTKc:-0.025em;--knaPyh:0em;--jwdARF:0.025em;--eUSVTv:0.05em;--lhSeXO:0.1em;--kWjDjq:0.5rem;--loLyxA:0.75rem;--eRgJXV:0.875rem;--daFrau:1rem;--gKFLFQ:1.125rem;--gFqSQX:1.25rem;--dllMvh:1.5rem;--jaXqkI:1.875rem;--cLogVb:2.25rem;--izMrAu:3rem;--hdlyfR:3.75rem;--bDBsww:4.5rem;--fwhTbD:6rem;--lkGdGW:8rem;--bUWovs:0 1px 2px 0 rgb(0 0 0/0.05);--cDhNnp:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--jMKUKK:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--kNVcRA:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--bnVgij:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--IghlV:0 25px 50px -12px rgb(0 0 0/0.25);--gmhFEB:inset 0 2px 4px 0 rgb(0 0 0/0.05);--aZLOC:4px;--jDYzax:8px;--kMMDaR:12px;--dyIDQb:16px;--TtVDs:24px;--btncja:40px;--esAhmv:64px;--fcTUxn:0rem;--dacYEG:0.25rem;--ebuyxV:0.5rem;--bYDCFo:0.75rem;--hIimNX:1rem;--fFrqVq:1.25rem;--gGIQOF:1.5rem;--eDRUVY:1.75rem;--flZesP:2rem;--djiiAi:2.25rem;--ieMJEa:2.5rem;--cBFxYr:2.75rem;--uyqLg:3rem;--hXmVPi:3.5rem;--mYCWo:4rem;--jgejxp:5rem;--iYEvIx:6rem;--dzpWeZ:7rem;--fifqnK:8rem;--faFCyS:9rem;--bxwoov:10rem;--huPzrf:11rem;--hgdKvb:12rem;--cZMJbQ:13rem;--iXfUeA:14rem;--vWSpd:15rem;--gtqdrN:16rem;--hNtIEu:18rem;--kqIPsj:20rem;--wdMRQ:24rem;--gEfgCY:0.125rem;--jJIQbV:0.375rem;--cqwGG:0.625rem;--dhUgfD:0.875rem;--bJeTGz:spin 1s linear infinite;--cxTetH:ping 1s cubic-bezier(0,0,0.2,1) infinite;--jjLJjo:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;--eUTuJH:bounce 1s infinite;--bLinLB:currentColor;--qLIrn:#000;--RiClf:#fff;--edNtiq:rgb(0 0 0/0);--cQacUT:#fff1f2;--fFtaKH:#ffe4e6;--eUoFZM:#fecdd3;--bPMUxN:#fda4af;--bvZVli:#fb7185;--jGTTif:#f43f5e;--iVPyxk:#e11d48;--fRnMVl:#be123c;--hxzBoW:#9f1239;--esXPMX:#881337;--epiLsK:#4c0519;--hPYfGc:#fdf2f8;--ioAkJk:#fce7f3;--eyVWNz:#fbcfe8;--nXIqK:#f9a8d4;--hGgStN:#f472b6;--dviDWY:#ec4899;--kUZZAj:#db2777;--gKbLdu:#be185d;--UhnuV:#9d174d;--hYEIxc:#831843;--dPgAHx:#500724;--kpTESD:#fdf4ff;--jfJgr:#fae8ff;--gZeVto:#f5d0fe;--gfHpEZ:#f0abfc;--dSTUoK:#e879f9;--cZwoAv:#d946ef;--jPvANs:#c026d3;--iVXUZd:#a21caf;--hYKnEO:#86198f;--hfmHQz:#701a75;--cYPdae:#4a044e;--ksTgfC:#faf5ff;--iCdJRO:#f3e8ff;--dWAXWh:#e9d5ff;--jcWlLI:#d8b4fe;--eLlnzT:#c084fc;--jRGBpu:#a855f7;--fmdPtN:#9333ea;--kszdjo:#7e22ce;--kMigIv:#6b21a8;--eDhKZa:#581c87;--eadxYH:#3b0764;--elZfLV:#f5f3ff;--jcWAkV:#ede9fe;--gHfMHa:#ddd6fe;--jSzuYT:#c4b5fd;--jDVPUQ:#a78bfa;--bzTONN:#8b5cf6;--ktyKIO:#7c3aed;--cpwJBL:#6d28d9;--foWeJc:#5b21b6;--iApNaV:#4c1d95;--cfTfyk:#2e1065;--kbclAu:#eef2ff;--gAzkHe:#e0e7ff;--gRHwoJ:#c7d2fe;--iYtjYI:#a5b4fc;--jCTsMf:#818cf8;--ujwXi:#6366f1;--LrIEN:#4f46e5;--cSdwoM:#4338ca;--irwviH:#3730a3;--kyiiSG:#312e81;--hgSANP:#1e1b4b;--glmLoi:#eff6ff;--bYrJpO:#dbeafe;--hoTvPd:#bfdbfe;--bMEoOM:#93c5fd;--hIEEwj:#60a5fa;--cgpxvS:#3b82f6;--hwRjVh:#2563eb;--bUCcUQ:#1d4ed8;--golFsv:#1e40af;--LWyse:#1e3a8a;--eJQij:#172554;--dyXAhp:#ecfeff;--eeWoox:#cffafe;--fnHbwe:#a5f3fc;--cLmYYf:#67e8f9;--bpLSHw:#22d3ee;--kcNzIt:#06b6d4;--llymQa:#0891b2;--iJeksb:#0e7490;--jTKpqw:#155e75;--hrqmSx:#164e63;--bcqAnE:#083344;--jqQOis:#f0fdfa;--hsCMHs:#ccfbf1;--jcJhxj:#99f6e4;--czjDVi:#5eead4;--kfgCt:#2dd4bf;--eWbmzo:#14b8a6;--gGhHpf:#0d9488;--cIdNe:#0f766e;--catTvB:#115e59;--gMpZsw:#134e4a;--bnTNlF:#042f2e;--jVPfey:#ecfdf5;--gSyYHy:#d1fae5;--dOyJRJ:#a7f3d0;--jOMcLk:#6ee7b7;--bLsBkr:#34d399;--hLFUdS:#10b981;--eHFFod:#059669;--kHSYhE:#047857;--iuBcgT:#065f46;--dfsLBy:#064e3b;--jJEloz:#022c22;--hXozqf:#f0fdf4;--iDDIAz:#dcfce7;--khfuXU:#bbf7d0;--hypAVx:#86efac;--wGfza:#4ade80;--jdlUVz:#22c55e;--kGNHsU:#16a34a;--hXXNqx:#15803d;--bAQeLK:#166534;--khvUij:#14532d;--cbdKOS:#052e16;--dhEleJ:#f7fee7;--gFFbyh:#ecfccb;--fjFsBy:#d9f99d;--cfdGZz:#bef264;--bxLPEk:#a3e635;--jIFNBh:#84cc16;--imGeEy:#65a30d;--fietcz:#4d7c0f;--crovfQ:#3f6212;--kCitcN:#365314;--gEQkrg:#1a2e05;--cLFWMs:#fefce8;--kxGpio:#fef9c3;--cbZZGT:#fef08a;--fwcFBW:#fde047;--hUTJsd:#facc15;--loWpng:#eab308;--cTpZLL:#ca8a04;--gnsFGO:#a16207;--ByZWN:#854d0e;--dVBFRQ:#713f12;--iLqZUR:#422006;--kVxzTd:#fffbeb;--jZPQXp:#fef3c7;--hCWpXC:#fde68a;--bCKrrD:#fcd34d;--wuHbc:#fbbf24;--fLErTZ:#f59e0b;--doKQUm:#d97706;--iDUBNj:#b45309;--iOnUJo:#92400e;--cObWdp:#78350f;--frxesg:#451a03;--NQTLQ:#fff7ed;--JsfmQ:#ffedd5;--gBjjlD:#fed7aa;--QMCLK:#fdba74;--ijESlZ:#fb923c;--czilMg:#f97316;--iqZpKT:#ea580c;--cGCJla:#c2410c;--dUhLNN:#9a3412;--jzgOMQ:#7c2d12;--igBpVl:#431407;--bINrJX:#fef2f2;--fKgVwH:#fee2e2;--bLdQLg:#fecaca;--fMUQaR:#fca5a5;--hwCQam:#f87171;--iYfRb:#ef4444;--hzqKEw:#dc2626;--lMavl:#b91c1c;--bLDcWa:#991b1b;--fNuclL:#7f1d1d;--jHDsLG:#450a0a;--kltIHN:#fafafa;--hzpwrB:#f5f5f5;--lbfZji:#e5e5e5;--fcfsVb:#d4d4d4;--kPKNfw:#a3a3a3;--eQKgRp:#737373;--isAJIW:#525252;--ctAduP:#404040;--bqFRBA:#262626;--gHaUMp:#171717;--fhFoEQ:#0a0a0a;--NNaBX:#fafaf9;--juQpUX:#f5f5f4;--jjsRgY:#e7e5e4;--hxarzx:#d6d3d1;--dmyqvy:#a8a29e;--bAfQNX:#78716c;--boIrZY:#57534e;--kRLBRt:#44403c;--iKBpmW:#292524;--gYiPFv:#1c1917;--kshUcS:#0c0a09;--dhFdXS:#fafafa;--dGhjba:#f4f4f5;--efoVXJ:#e4e4e7;--ljOqfc:#d4d4d8;--cXLRGr:#a1a1aa;--kcllNK:#71717a;--kBsYKt:#52525b;--gqwJsQ:#3f3f46;--ylgyn:#27272a;--hCKAFG:#18181b;--dtmsQb:#09090b;--dcmCJN:#f9fafb;--ePJGsV:#f3f4f6;--dnVpUm:#e5e7eb;--bMJKSL:#d1d5db;--jSiOQk:#9ca3af;--iqXjOJ:#6b7280;--gPiTqa:#4b5563;--fnXooz:#374151;--fKIyfA:#1f2937;--ejwTdZ:#111827;--jympbw:#030712;--oXohi:#19191A;--gyKIIT:#252525;--eSphig:#303030;--lccBJR:#383838;--lfBdGG:#474747;--kcXOlL:#f8fafc;--kbRDfH:#f1f5f9;--ivwbEU:#e2e8f0;--dpNMHJ:#cbd5e1;--dtmoEy:#94a3b8;--jCZJgj:#64748b;--hWEhFw:#475569;--cQVSIl:#334155;--hVLXiS:#1e293b;--cQdIlH:#0f172a;--iFDdka:#020617;--izlnso:#F8F8FA;--eRgqfH:#EDEDF3;--KVTme:#E2E0E5;--dkJQoR:#CCCAD0;--ktVcUk:#B6B4BA;--gLQfHD:#97959A;--cFFIOa:#77767A;--cJEYlt:#4E4D52;--jSQkQM:#18171A;--hLOWYd:#EDEBFF;--bVhZHK:#CAC2FF;--jYNVEH:#A799FF;--emDeSE:#8875FF;--aNrqF:#6851FF;--gzCdzi:#5D40EA;--dnMpXj:#522FD4;--cLqlCI:#4421C3;--kOWhzF:#3512B2;--dNokDG:#E3FAF3;--fIEsRl:#BAF5E3;--kuAyOg:#90F0D3;--hUmnXD:#48DEB1;--bqMKvC:#00CC8F;--dmcSJh:#00AA77;--hXYYGc:#00875F;--domHof:#007753;--iaiNla:#006647;--dDaZDc:#FFEAE5;--bYjnoT:#FFC3B3;--jcIHwm:#FF9B80;--iuhUtx:#FE7C58;--ejlFbU:#FC5C30;--cEtSNL:#E84718;--jITmVe:#D43100;--hhKBFJ:#C12E02;--cWOmog:#AD2B03;--loKVxo:#FCF4E5;--crbXrL:#FEE5BD;--eXQnMG:#FFD594;--dYBcpd:#EDBD72;--gFpsJY:#DBA550;--iXcedr:#BF8832;--ouKZq:#A36B14;--kXQUUR:#97630C;--cpjBQQ:#8A5A03;--dpZiSB:#EBF0FE;--bZrrvu:#AFC4FF;--cGNUcb:#7398FF;--cGWcRs:#5482FB;--dosFxZ:#346BF7;--bXKOaS:#295EE7;--cFhqHz:#1E50D6;--cvyBYk:#1344C7;--dcVeER:#0737B8;--bMxFwZ:#e0f2fe;--vPNZS:#bae6fd;--bdmqGz:#7dd3fc;--bduzvQ:#38bdf8;--bKRccx:#0ea5e9;--ujkFq:#0284c7;--bbFNlX:#0369a1;--RWYCI:#075985;--bztBjp:#0c4a6e;--iNVpnc:#082f49;--cemPJF:#FFFFFF;--iTjmdu:#FFFFFF;--fFEzoc:0.0625rem;--fCuVLy:0.09375rem;--hiYFxW:0.125rem;--ixNmpi:0.125rem;--bewZvn:0.25rem;--kLOfAE:0.375rem;--dxfumK:0.5rem;--UXfgJ:0.75rem;--bphCwb:1rem;--eougbK:1.5rem;--kkkBVq:9999px;--cDRSmz:var(--button-radius,9999px);--insZoq:var(--container-radius,1.75rem);--hxxJkr:var(--input-radius,0.5rem);--kTdGYg:0rem;--cCUBeV:0.25rem;--gsUKim:0.5rem;--jshnNX:0.75rem;--juMtMc:1rem;--beDnSR:1.25rem;--eUDwWi:1.5rem;--hTQaBT:1.75rem;--cAmzCM:2rem;--fzzdix:2.25rem;--dDnfaV:2.5rem;--cpjPHA:2.75rem;--ckODEv:3rem;--WLola:3.25rem;--hTmzdp:3.5rem;--gFjjJU:3.75rem;--gANXGP:4rem;--htnoem:5rem;--tQYHK:6rem;--kcGldO:7rem;--gMkTEx:8rem;--lcknGR:9rem;--kveXIc:10rem;--gsriJI:11rem;--bPcliI:12rem;--Mxqsr:13rem;--hZfkST:14rem;--fUWaSi:15rem;--bSilTO:16rem;--fnTGst:18rem;--dAFdyM:20rem;--jxszKr:24rem;--hghuKL:0.125rem;--drtIxO:0.375rem;--siblR:0.625rem;--hSPYxQ:0.875rem;--izvCpj:20rem;--aTIGG:24rem;--kMQJUV:28rem;--dyNKmL:32rem;--ToPgI:36rem;--btoFLe:42rem;--esBjqP:48rem;--hrOPNc:56rem;--krbtsN:64rem;--cRFSXi:72rem;--fQSwCT:80rem;--iQceEA:90rem;--jAesVz:65ch;--khWApH:100%;--eOXrSu:min-content;--jNBRbM:max-content;--UhpHH:fit-content;--eomHOU:640px;--iujnmj:768px;--gThSgZ:1024px;--cssArG:1280px;--jESPPc:1536px;--exvVve:2147483647;--ikokJA:640px;--kSvAmr:768px;--uwdhN:1024px;--eyfDzy:1280px;--dgHGKE:1536px;--jlmaOs:var(--surface-primary,var(--iTjmdu));--Iycdi:var(--surface-secondary,var(--izlnso));--crPUBo:var(--surface-tertiary,var(--eRgqfH));--kJiqPO:var(--surface-quaternary,var(--KVTme));--iagzVE:var(--text-primary,var(--jSQkQM));--YyYdq:var(--text-secondary,var(--cJEYlt));--kFAOBM:var(--text-tertiary,var(--cFFIOa));--iodyUC:var(--text-quaternary,var(--cemPJF));--DLYOY:var(--neutral-primary,var(--ktVcUk));--gfUEye:var(--neutral-secondary,var(--KVTme));--qsPVo:var(--neutral-tertiary,var(--eRgqfH));--kyjnqS:var(--neutral-quaternary,var(--izlnso));--iAjuTO:var(--brand-lightest,var(--hLOWYd));--gzHfkH:var(--brand-lighter,var(--jYNVEH));--gBHQLb:var(--brand-base,var(--aNrqF));--etZyR:var(--brand-darker,var(--dnMpXj));--enVPNY:var(--brand-darkest,var(--kOWhzF));--itfeCm:var(--dNokDG);--qkXv:var(--kuAyOg);--gHzsmL:var(--bqMKvC);--cOyFst:var(--hXYYGc);--fKbyps:var(--iaiNla);--dxaFjW:var(--dDaZDc);--dnTPVf:var(--jcIHwm);--bWuoqD:var(--ejlFbU);--iqIoUR:var(--jITmVe);--iZlvjY:var(--cWOmog);--ldafrz:var(--loKVxo);--leQkZS:var(--eXQnMG);--jmTbXW:var(--gFpsJY);--dLLYUY:var(--ouKZq);--dZIprB:var(--cpjBQQ);--gaBiDO:var(--dpZiSB);--fxHMpn:var(--cGNUcb);--fQFmqL:var(--dosFxZ);--dUMcYZ:var(--cFhqHz);--dntrJc:var(--dcVeER)}[data-color-mode=light]{--jlmaOs:var(--surface-primary,var(--iTjmdu));--Iycdi:var(--surface-secondary,var(--izlnso));--crPUBo:var(--surface-tertiary,var(--eRgqfH));--kJiqPO:var(--surface-quaternary,var(--KVTme));--iagzVE:var(--text-primary,var(--jSQkQM));--YyYdq:var(--text-secondary,var(--cJEYlt));--kFAOBM:var(--text-tertiary,var(--cFFIOa));--iodyUC:var(--text-quaternary,var(--cemPJF));--DLYOY:var(--neutral-primary,var(--ktVcUk));--gfUEye:var(--neutral-secondary,var(--KVTme));--qsPVo:var(--neutral-tertiary,var(--eRgqfH));--kyjnqS:var(--neutral-quaternary,var(--izlnso));--iAjuTO:var(--brand-lightest,var(--hLOWYd));--gzHfkH:var(--brand-lighter,var(--jYNVEH));--gBHQLb:var(--brand-base,var(--aNrqF));--etZyR:var(--brand-darker,var(--dnMpXj));--enVPNY:var(--brand-darkest,var(--kOWhzF));--itfeCm:var(--dNokDG);--qkXv:var(--kuAyOg);--gHzsmL:var(--bqMKvC);--cOyFst:var(--hXYYGc);--fKbyps:var(--iaiNla);--dxaFjW:var(--dDaZDc);--dnTPVf:var(--jcIHwm);--bWuoqD:var(--ejlFbU);--iqIoUR:var(--jITmVe);--iZlvjY:var(--cWOmog);--ldafrz:var(--loKVxo);--leQkZS:var(--eXQnMG);--jmTbXW:var(--gFpsJY);--dLLYUY:var(--ouKZq);--dZIprB:var(--cpjBQQ);--gaBiDO:var(--dpZiSB);--fxHMpn:var(--cGNUcb);--fQFmqL:var(--dosFxZ);--dUMcYZ:var(--cFhqHz);--dntrJc:var(--dcVeER) }[data-color-mode=dark]{--jlmaOs:var(--surface-primary-dark,var(--oXohi));--Iycdi:var(--surface-secondary-dark,var(--gyKIIT));--crPUBo:var(--surface-tertiary-dark,var(--eSphig));--kJiqPO:var(--surface-quaternary-dark,var(--lccBJR));--iagzVE:var(--text-primary-dark,var(--cemPJF));--YyYdq:var(--text-secondary-dark,var(--text-secondary-dark,color-mix(in srgb,var(--cemPJF) 72%,transparent)));--kFAOBM:var(--text-tertiary-dark,var(--text-tertiary-dark,color-mix(in srgb,var(--cemPJF) 44%,transparent)));--iodyUC:var(--text-quaternary-dark,var(--jSQkQM));--DLYOY:var(--neutral-primary-dark,var(--neutral-primary-dark,color-mix(in srgb,var(--cemPJF) 16%,transparent)));--gfUEye:var(--neutral-secondary-dark,var(--neutral-secondary-dark,color-mix(in srgb,var(--cemPJF) 12%,transparent)));--qsPVo:var(--neutral-tertiary-dark,var(--neutral-tertiary-dark,color-mix(in srgb,var(--cemPJF) 8%,transparent)));--kyjnqS:var(--neutral-quaternary-dark,var(--neutral-quaternary-dark,color-mix(in srgb,var(--cemPJF) 5%,transparent)));--iAjuTO:var(--brand-lightest-dark,var(--brand-lightest-dark,color-mix(in srgb,var(--jYNVEH) 25%,transparent)));--gzHfkH:var(--brand-lighter-dark,var(--brand-lighter-dark,color-mix(in srgb,var(--jYNVEH) 66%,transparent)));--gBHQLb:var(--brand-base-dark,var(--jYNVEH));--etZyR:var(--brand-darker-dark,var(--hLOWYd));--enVPNY:var(--brand-darkest-dark,var(--hLOWYd));--itfeCm:color-mix(in srgb,var(--kuAyOg) 8%,transparent);--qkXv:color-mix(in srgb,var(--kuAyOg) 72%,transparent);--gHzsmL:var(--kuAyOg);--cOyFst:var(--bqMKvC);--fKbyps:var(--bqMKvC);--dxaFjW:color-mix(in srgb,var(--jcIHwm) 8%,transparent);--dnTPVf:color-mix(in srgb,var(--jcIHwm) 72%,transparent);--bWuoqD:var(--jcIHwm);--iqIoUR:var(--ejlFbU);--iZlvjY:var(--ejlFbU);--ldafrz:color-mix(in srgb,var(--eXQnMG) 8%,transparent);--leQkZS:color-mix(in srgb,var(--eXQnMG) 72%,transparent);--jmTbXW:var(--eXQnMG);--dLLYUY:var(--gFpsJY);--dZIprB:var(--gFpsJY);--gaBiDO:color-mix(in srgb,var(--cGNUcb) 8%,transparent);--fxHMpn:color-mix(in srgb,var(--cGNUcb) 72%,transparent);--fQFmqL:var(--cGNUcb);--dUMcYZ:var(--dosFxZ);--dntrJc:var(--dosFxZ) }@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:0.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}@keyframes scaleIn{0%{opacity:0}to{opacity:1;scale:1}}@keyframes scaleOut{0%{opacity:1;scale:1}to{opacity:0;scale:0.9}}@keyframes slideIn{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.25rem)}}@keyframes slideRight{0%{left:-150%}to{left:175%}}@keyframes moveRight{0%{transform:translateX(0rem)}80%{transform:translateX(1.25rem)}to{transform:translateX(1.2rem)}}@keyframes moveLeft{0%{transform:translateX(0rem)}80%{transform:translateX(-1.25rem)}to{transform:translateX(-1.2rem)}}@keyframes animateSpinnerSmall{0%{stroke-dasharray:0.4,60;stroke-dashoffset:0}50%{stroke-dasharray:36,60;stroke-dashoffset:-14}to{stroke-dasharray:36,60;stroke-dashoffset:-52}}@keyframes animateSpinnerLarge{0%{stroke-dasharray:0.875,175;stroke-dashoffset:0}50%{stroke-dasharray:78.75,131.25;stroke-dashoffset:-31}to{stroke-dasharray:0.875,175;stroke-dashoffset:-158}}@keyframes popIn{0%{scale:0}to{scale:1}}@keyframes popOut{0%{scale:1}to{scale:0}}.JIGdQ{font-size:0.75rem;line-height:1.25rem;font-weight:var(--llFanx)}.caxCit{font-size:0.875rem}.AEdnq,.caxCit{line-height:1.5rem;font-weight:var(--llFanx)}.AEdnq{font-size:1rem}.ggkuag{font-size:1.125rem;line-height:1.75rem}.KOyzo,.ggkuag{font-weight:var(--llFanx)}.KOyzo{font-size:0.75rem;line-height:1.25rem}.bqPPXX{font-size:0.875rem}.bqPPXX,.iBKgpR{line-height:1.5rem;font-weight:var(--llFanx)}.iBKgpR{font-size:1rem}.dVmflu{font-size:0.875rem}.dVmflu,.hkxWuN{line-height:1.5rem;font-family:var(--gxQaAd)}.hkxWuN{font-size:1rem}.eIvlPr{font-size:1.125rem;line-height:1.75rem;font-family:var(--gxQaAd)}.ZlnHu{line-height:3.25rem}.ZlnHu,.dNxFtD{font-size:2.5rem;font-weight:var(--janwPd)}.dNxFtD{line-height:3.5rem}.bcvUKl{font-size:2.25rem;line-height:3rem;font-weight:var(--janwPd)}.fDZIkY,.gRVYOk{font-size:2rem;line-height:2.75rem;font-weight:var(--janwPd)}.cqslnx{font-size:1.5rem;line-height:2.25rem;font-weight:var(--ghWdwL)}.cFGrCm,.cSachX{font-size:1.25rem;line-height:2rem;font-weight:var(--ghWdwL)}.brKaZa,.efWsLj{font-size:1.125rem;line-height:1.75rem;font-weight:var(--ghWdwL)}.buUIbR{font-size:0.625rem}.buUIbR,.hkuMfQ{letter-spacing:0.06rem;text-transform:uppercase;line-height:0.75rem;font-weight:var(--hmvyHR)}.hkuMfQ{font-size:0.75rem}@media screen and (min-width: 64rem){.KOyzo{font-size:0.875rem}.KOyzo,.bqPPXX{line-height:1.5rem}.bqPPXX{font-size:1rem}.iBKgpR{font-size:1.125rem;line-height:1.75rem}.ZlnHu{font-size:5rem;line-height:5.5rem}.bcvUKl{font-size:4rem;line-height:4.75rem}.fDZIkY{font-size:3rem;line-height:4rem}.cSachX{font-size:1.5rem;line-height:2.25rem}.brKaZa{font-size:1.25rem;line-height:2rem}.buUIbR{font-size:0.75rem;line-height:0.75rem}}.fEVEmD{display:inline-flex}.jTWvec{position:relative}.iPfXWl{box-sizing:border-box}.dKuXep{border-radius:var(--cDRSmz)}.lbmNld{border:thin solid}.bZRhvx{cursor:pointer}.hWbyxU{transition:all 0.1s ease}.diIxfU{outline:var(--dzOvWn)}.efvJEH{will-change:transform,opacity}.kFYpif{background:none}.Axmbx{height:var(--fzzdix)}.jGqtLL{padding-block:var(--jJIQbV)}.fzoqgU{padding-inline:var(--hIimNX)}.fzpabD{height:var(--ckODEv)}.fzoAXm{padding-block:var(--bYDCFo)}.fznPAm{padding-inline:var(--gGIQOF)}.fznKiw{height:var(--gFjjJU)}.fzoqgp{padding-block:var(--hIimNX)}.cPRswh{background:var(--gBHQLb)}.dTWubc{background:var(--iAjuTO)}.edEltL{background:var(--cOyFst)}.gDSsAr{background:var(--iqIoUR)}.hoYZte{background:var(--qsPVo)}.foDtdn{background:var(--edNtiq)}.AxjtU{padding:var(--fcTUxn)}.gsynQv{height:fit-content}.hZLYvv{background:#ffffff14}.kXEOGR{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.hmegja{background:var(--jSQkQM)}.cERSkX{pointer-events:none}.dMMuNs{width:var(--khWApH)}.bYJPrM{border-radius:var(--kkkBVq)}.fPSBzf{display:flex}.gzBMzy{text-align:center}.cbkwRf{white-space:nowrap}.bunRPm{color:var(--jlmaOs)}.rbsQX{color:var(--etZyR)}.flFbEq{color:var(--iagzVE)}.ecosjt{color:var(--gBHQLb)}.jiGUEY{color:var(--cemPJF)}.deYFWh{color:var(--gHzsmL)}.iATurT{color:var(--iqIoUR)}.drDZIi{color:var(--kFAOBM)}.fQAFQl{outline-offset:var(--gEfgCY)}.AxmbG{width:var(--fzzdix)}.pitAi{padding:var(--jJIQbV)}.fzpabA{width:var(--ckODEv)}.Axikr{padding:var(--bYDCFo)}.fznKij{width:var(--gFjjJU)}.AxhTk{padding:var(--hIimNX)}.gsynQA{width:fit-content}.DyZUq{border-radius:10px}.lnVchA{background:var(--itfeCm)}.gCOtIw{background:var(--dxaFjW)}.fmhFEF{background:var(--ldafrz)}.kRLutI{background:var(--Iycdi)}.gIDZqd{transition:transform 0.2s ease,opacity 0.2s ease}.dLFxYe{text-align:left}.kkElPi{color:var(--enVPNY)}.jsoGzi{color:var(--fKbyps)}.bKCYEC{color:var(--iZlvjY)}.jnqkcv{color:var(--dZIprB)}.buzaNI{color:var(--YyYdq)}.kypCfT{text-transform:uppercase}.fkBQxR{letter-spacing:0.06rem}.gcohXo{border-radius:1rem}.fyplMZ{cursor:default}.ioQIUn{height:10.75rem}.ioQIUI{width:10.75rem}.dXscgu{overflow:hidden}.eLuUPu{overflow:visible}.qbege{gap:var(--fcTUxn)}.pvuga{gap:var(--hIimNX)}.pnxsH{gap:var(--fFrqVq)}.pezuA{gap:var(--gGIQOF)}.flMYjT{box-shadow:0px 1px 2px rgba(189,189,189,0.3)}.fMKpTj{box-shadow:8px 8px 48px rgba(16,15,17,0.14)}.fzrkhE{padding-inline:var(--flZesP)}.fznPzH{padding-block:var(--gGIQOF)}.fzpabv{padding:var(--uyqLg)}.kdFIjO{flex:1 1 0%}.bKPWST{max-width:29.125rem}.iZstbk{opacity:0.3}.dMMuMP{height:var(--khWApH)}.kbJfZC{background:var(--jlmaOs)}.gWzzAr{overflow:auto}.fLVKVB{scrollbar-width:none}.djBLSD{height:100vh}.dnFyWD{width:100vw}.eJvMDV{scale:1}.AxiEa{padding:var(--ebuyxV)}.Axmvo{padding:var(--flZesP)}.jieZfE{pointer-events:all}.hdAwi{position:fixed}.csnEyP{--backdrop-blur:blur(0.375rem)}.crPXqh{backdrop-filter:var(--backdrop-blur) var(--backdrop-brightness) var(--backdrop-contrast) var(--backdrop-grayscale) var(--backdrop-hue-rotate) var(--backdrop-invert) var(--backdrop-saturate) var(--backdrop-sepia);-webkit-backdrop-filter:var(--backdrop-blur) var(--backdrop-brightness) var(--backdrop-contrast) var(--backdrop-grayscale) var(--backdrop-hue-rotate) var(--backdrop-invert) var(--backdrop-saturate) var(--backdrop-sepia)}.deAqKV{max-width:100rem}.hkIdtl{margin:0 auto}.cORRFI{max-width:none}.fDWVKV{border-radius:var(--hxxJkr)}.JcTPa{transition:all linear 120ms}.hYZFkb{width:100%}.fzozCt{height:var(--dDnfaV)}.fzoNwz{padding-block:var(--ebuyxV)}.AxjtB{margin:var(--fcTUxn)}.iQHTXh{min-width:var(--dDnfaV)}.dvMkiN{text-align:right}.dpjQla{transition:opacity linear 120ms}.dsySWt{text-wrap:wrap}.gsGAeM{color:var(--jmTbXW)}.fNCCNu{padding:20px}.AYoSK{z-index:var(--exvVve)}.kVkdUe{box-shadow:4px 8px 20px 0px rgba(0,0,0,0.15)}.dSXBgr{height:1rem}.dSXBfY{width:1rem}.eAZrpM{width:auto}.AYoSP{width:var(--jNBRbM)}.hQiMIj{max-width:var(--fnTGst)}.jXSfKH{position:absolute}.fzoAWH{padding-inline:var(--bYDCFo)}.eeKCgv{border-radius:var(--UXfgJ)}.Oxeoj{box-shadow:0px 4px 20px 0px rgba(0,0,0,0.10)}.ddgODW{display:none}.cGFOJB{display:block}.izPYod{transform:translateX(-50%) translateY(calc(-100% - 0.75rem))}.cPkmfo{transform:translateX(10%) translateY(calc(-100% - 0.75rem))}.cXTUEh{transform:translateX(-10%) translateY(calc(-100% - 0.75rem))}.iqmoHh{transform:translateX(calc(-100% - 0.75rem)) translateY(-50%)}.emrspq{transform:translateX(calc(-100% - 0.75rem)) translateY(-75%)}.zFGjL{transform:translateX(calc(-100% - 0.75rem)) translateY(-25%)}.ddBtbm{transform:translateX(calc(100% + 0.75rem)) translateY(-50%)}.kSbzJl{transform:translateX(calc(100% + 0.75rem)) translateY(-75%)}.hdzMuI{transform:translateX(calc(100% + 0.75rem)) translateY(-25%)}.jSRWPC{transform:translateX(-50%) translateY(calc(100% + 0.75rem))}.depkmP{transform:translateX(10%) translateY(calc(100% + 0.75rem))}.eqVTfG{transform:translateX(-10%) translateY(calc(100% + 0.75rem))}.fzoWka{width:var(--fnTGst)}.AxhSM{height:var(--juMtMc)}.kmFTYl{transform:translateX(-50%) translateY(0.75rem)}.hFunKo{transform:translateX(-50%) translateY(-0.75rem)}.AxhTf{width:var(--juMtMc)}.fzqACo{height:var(--bPcliI)}.kwEkgw{transform:translateX(-0.75rem) translateY(-50%)}.LwqbV{transform:translateX(0.75rem) translateY(-50%)}.jHxAip{background:linear-gradient(#00CC8F,#6851FF)}.hWgZTB{inset:var(--fcTUxn)}.dKLBtz{gap:10px}.cYdhWw{display:grid}.jZwGWY{fill:var(--RiClf)}.hGQgmY{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eAZrqn{height:auto}.jcgYsf{--mix-background:color-mix(in srgb,var(--iagzVE) 20%,transparent);background:var(--mix-background,var(--iagzVE))}.jDVJRS{transform:translateY(0)}.japwPO{transform:translateY(100%)}.bTJmyy{transition:transform 0.3s}.fClTjd{border-top-left-radius:var(--eougbK);border-top-right-radius:var(--eougbK)}.jvjRt{box-shadow:0px -12px 56px 0px rgba(119,118,122,0.15)}.fzozCb{z-index:10}.cFLICG{transform:translateX(-100%)}.byXyn{transform:translateX(100%)}.khiFRn{transform:translateX(0)}.fzoCXr{width:var(--dAFdyM)}.fjzPTS{border-top-right-radius:var(--bphCwb);border-bottom-right-radius:var(--bphCwb)}.dXSjkM{border-top-left-radius:var(--bphCwb);border-bottom-left-radius:var(--bphCwb)}.eVHffH{--thickness:1px}.bjGQXr{gap:var(--cqwGG)}.cpnrKk{box-shadow:true}.fgrICX{background:#ffc439}.fnjBrW{border:1px solid transparent}.jGoIIY{padding-block:var(--cqwGG)}.lopGBb{stroke-width:2.5}.pThsL{gap:var(--dacYEG)}.fzoxFp{width:var(--fUWaSi)}.jonSOI{flex:0 0 auto}.lkYUqX{border-radius:9999px}.cUqkcP{animation:popIn 150ms}.ksKAre{animation:popOut 150ms}.ZlVyD{animation:spin 1.5s linear infinite}.emRNBL{stroke:var(--iagzVE)}.elaIWr{transform-origin:center center}.bkLsBk{gap:var(--jJIQbV)}.kRRXUg{stroke:var(--gBHQLb)}.jAmlUX{stroke:var(--jlmaOs)}.kYoAXZ{stroke-opacity:0.12}.jQNDvc{animation:spin 1s linear infinite}.dITaCb{border-radius:2rem}.bKdxLy{transform:skewX(-20deg)}.chmhDV{overflow-wrap:break-word}.bWVcuP{word-break:break-word}.llnClk{background:var(--kyjnqS)}.fRIRtM{border-radius:var(--dxfumK)}.dWKkCe{min-width:15rem}.mDYqS{width:40%}.dZeDlI{border-left:thin solid}.Axmvg{height:var(--cAmzCM)}.pCmHl{gap:var(--bYDCFo)}.bGySga{-webkit-user-select:none;user-select:none}.GzWLz{-webkit-user-select:auto;user-select:auto}.fMSoJ{filter:blur(10px)}.rHLwk{text-wrap:nowrap}.fzoYeD{width:22px}.fzoYeI{height:22px}.iiBJGO{font-variant:no-contextual}.dJRcZd{transition:none}.pKjuE{gap:var(--ebuyxV)}.fznYYc{width:var(--gANXGP)}.fzozgh{width:var(--htnoem)}.fznYYn{height:var(--gANXGP)}.fzozgi{height:var(--htnoem)}.hYbcjk{width:1.125rem}.hYbciH{height:1.125rem}.dgzwbo{object-fit:cover}.clyxRL{border-start-start-radius:var(--hxxJkr);border-end-start-radius:var(--hxxJkr)}.cMWMBT{border-radius:0}.duralB{transform:rotate(180)}.fznyyO{width:var(--hTmzdp)}.fznyzd{height:var(--hTmzdp)}.faAYXy{max-height:17.5rem}.fzqBIS{width:18px}.fzqBJp{height:18px}.hVpAQY{min-width:var(--kTdGYg)}.cEowv{max-width:30rem}.dGnaHP{caret-color:var(--edNtiq)}.eGizhS{border-radius:0.5rem}.fzoqgI{margin-block:var(--hIimNX)}.iWbCEa{max-width:var(--iQceEA)}.coifUy{margin-inline:auto}.XApuw{overlay:true}.fznycS{height:var(--tQYHK)}.fznycJ{width:var(--tQYHK)}.Axhdq{padding:var(--gGIQOF)}.kInNhr{max-width:393px}.Axhdp{width:var(--eUDwWi)}.enrCNZ{border-radius:60px}.fzoLlM{height:var(--cpjPHA)}.fzoLlH{width:var(--cpjPHA)}.fzozCm{width:var(--dDnfaV)}.AxgJj{height:var(--hTQaBT)}.AxgJE{width:var(--hTQaBT)}.kZwhzw{border-radius:30px}.Axhzu{width:var(--beDnSR)}.Axhzd{height:var(--beDnSR)}.dtwJUe{border-radius:0.375rem}.gNnTtK{border-radius:var(--kLOfAE)}.bnMKLm{color:var(--DLYOY)}.fVXeaF{border-radius:var(--bphCwb)}.bMpqsa{opacity:0.5}.frJqtw{opacity:1}.fzoyvf{width:var(--kveXIc)}.fzoyvs{height:var(--kveXIc)}.dSXzlv{width:6rem}.dSXBCd{width:4rem}.kEPjac{min-height:var(--gANXGP)}.dLESCV{border-radius:0.75rem}.bVQpjJ{border-radius:var(--bewZvn)}.hLsNni{pointer-events:auto}.fGSyrq{transition:background-color 0.2s ease,border-color 0.2s ease}.piqPW{width:var(--siblR)}.pitgX{height:var(--hghuKL)}.mBgaT{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lfSec{caret:18px}.kEVDGR{check:16px}.dSXBWl{height:3rem}.flFnwR{mult:2.5px}.bUyOMB{display:inline-block}.eOXPNx{max-width:var(--Mxqsr)}.jSqJiD{gap:var(--ieMJEa)}.ljqpme{transition:border-color 0.2s ease}.AxhcS{height:var(--eUDwWi)}.Axikw{width:var(--jshnNX)}.AxijT{height:var(--jshnNX)}.Axjal{padding:var(--dacYEG)}.kyvghW{background:var(--izlnso)}.fyBLPL{background:var(--iTjmdu)}.jqgBXf{box-shadow:0px 4px 20px 0px color-mix(in srgb,var(--jSQkQM) 10%,transparent)}.jIGVye{transition:transform 0.2s ease}.cXjUyC{border-radius:inherit}.fzplPS{height:var(--WLola)}.gnKssF{transition:background 0s}.gNPhbY{transition:background 0.2s ease}.AxjtK{z-index:0}.cgfjYq{background:var(--DLYOY)}.jGqhlT{padding-inline:var(--gEfgCY)}.cBWyVA{transition:background-color 0.2s ease}.iLEfrF{transition:left 0.2s ease}.jYtJnS{stroke-width:4}.fznWHu{width:var(--lcknGR)}.fznWHJ{height:var(--lcknGR)}.fzoAXP{margin-block:var(--bYDCFo)}.kwGEGT{pointer-events:initial}.fNCbQd{height:76px}.jXIVTv{max-width:115px}.hYZFjI{height:100%}.flXdLu{min-width:var(--htnoem)}.pBpid{padding-inline:var(--ieMJEa)}.gtdXBX{width:max-content}.cqBabc{border:thin solid transparent}.jzlacV{height:6.25rem}.evQrdT{--mix-background:color-mix(in srgb,var(--iagzVE) 6%,transparent);background:var(--mix-background,var(--iagzVE))}.bdwxhc{border-radius:52px}.gAFyjk{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.hYxQqf{height:2.625rem}.hYxQqA{width:2.625rem}.fubjOl{box-shadow:0.125rem 0.125rem 1.5rem color-mix(in srgb,var(--cFFIOa) 15%,transparent)}.eWAJiI{fill:var(--ktVcUk)}.eWyFtu{color:var(--ktVcUk)}.gSVYRP{animation:fadeIn 0.5s,moveRight 1s 0.5s forwards}.kJWAhn{border-radius:50%}.imIknl{height:3.875rem}.imIknm{width:3.875rem}.Axjab{z-index:1}.iAVgSo{animation:fadeIn 0.5s,moveLeft 1s 0.5s forwards}.fznxJj{height:34px}.fznxIY{width:34px}.fzoayX{height:var(--hZfkST)}.fzoayU{width:var(--hZfkST)}.eliKuq{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.fzodHc{padding-block:var(--fFrqVq)}.pBpiF{margin-block:var(--ieMJEa)}.pzYgn{height:250px}.gWDyZg{color:var(--cFFIOa)}.fzozCl{padding:var(--ieMJEa)}.gnCXEd{overflow:scroll}.jsxjhB{width:200px}.hMIFzk{max-width:200px}.gHsxkk{min-width:88px}.gWcfgT{min-width:fit-content}.gVwSKA{min-height:fit-content}.cUIwgI{transition:transform 0.1s}.jrPJbn{width:114px}.fNAzWg{height:48px}.ATFQA{width:7px}.ATFQv{height:7px}.bxgBRd{background:var(--gHzsmL)}.ihDaVZ{--translate-x:var(--gGIQOF)}.cBAuwg{--translate-y:var(--gGIQOF)}.djKBfg{--translate-x:var(--bYDCFo)}.iPNhEZ{--translate-y:var(--bYDCFo)}.BJXMm{min-height:18px}.AORKl{min-width:18px}.AxiZQ{margin:var(--dacYEG)}.rmyfW{gap:var(--flZesP)}.jJQbUA{transform:translate(-50%,-50%)}.fznCZP{padding-inline:var(--eDRUVY)}.eYxvy{stroke-width:8}.uLMIu{border-radius:14px}.iriloe{rotate:90deg}.kBkDOg{scrollbar-width:thin}.fUTAcQ{scrollbar-color:rgba(143,147,153,0.4) transparent}.eGSram{max-height:384px}.fzoNxe{padding-inline:var(--ebuyxV)}.fzoxFy{height:var(--fUWaSi)}.jrNHos{width:294px}.jrNHnX{height:294px}.plVOb{width:286px}.plVNY{height:286px}.jGeaAw{border-radius:16px}.kSmiQp{align-items:center}.legDhJ{justify-content:center}.bsdAgg{font-weight:var(--hmvyHR)}.gKedlK{border-color:var(--edNtiq)}.lcwbhf{border-color:var(--DLYOY)}.xYowz{font-size:var(--eRgJXV)}.lgBfkU{line-height:1.5rem}.wzdQU{font-size:var(--daFrau)}.xEQJi{font-size:var(--gKFLFQ)}.RiFXn{line-height:1.75rem}.ecsDQq{outline-color:var(--gBHQLb)}.dkFkBb{outline-style:solid}.jUIfTb{outline-width:var(--hiYFxW)}.uLlkq{animation-fill-mode:forwards}.hgoZRe{animation-name:scaleOut}.bXxxmv{animation-duration:150ms}.AMuyK{font-size:var(--loLyxA)}.fznCNG{margin-left:var(--eDRUVY)}.fznDiI{margin-right:var(--eDRUVY)}.kbJfZC{background-color:var(--jlmaOs)}.dRCFAU{align-items:flex-start}.fUfBYX{align-items:flex-end}.fRDJQy{background-color:var(--crPUBo)}.cZtwqS{animation-name:none}.fzpnVC{padding-bottom:var(--fcTUxn)}.bZlPyP{animation-name:scaleIn}.fDIibI{animation-duration:250ms}.qbeer{top:var(--fcTUxn)}.kiKDyH{left:var(--fcTUxn)}.hIekUp{animation-name:fadeIn}.Brknr{animation-duration:400ms}.hdbihI{animation-name:fadeOut}.iYhTva{font-weight:var(--leEsKL)}.foDtdn{background-color:var(--edNtiq)}.hDGJaH{border-style:solid}.lbLLll{border-width:var(--fFEzoc)}.kMhkax{border-color:var(--gfUEye)}.dwaifQ{border-color:var(--bWuoqD)}.hhWyss{font-weight:var(--llFanx)}.xNKXN{font-size:var(--gFqSQX)}.fvBKJs{justify-content:flex-start}.jUJMFv{justify-content:flex-end}.cPRswh{background-color:var(--gBHQLb)}.edEltL{background-color:var(--cOyFst)}.gCeNqG{background-color:var(--dLLYUY)}.gDSsAr{background-color:var(--iqIoUR)}.btsPBS{background-color:var(--kFAOBM)}.hZBAaK{top:0%}.eCaVMz{left:50%}.dlNJxY{right:100%}.eCzFHr{left:100%}.dDihBf{top:50%}.dTRYzG{left:0%}.dRndGF{right:0%}.ktFiky{bottom:0%}.kyGdCf{bottom:var(--fcTUxn)}.jIomzn{right:calc(var(--gGIQOF) * -1)}.eMGDsc{left:calc(var(--gGIQOF) * -1)}.ksWBqx{flex-direction:row}.cMoGaw{grid-template-columns:repeat(6,minmax(0,1fr))}.cxWwua{column-gap:2rem}.cxzifT{row-gap:2rem}.fznPDb{margin-top:var(--gGIQOF)}.iLbQFp{flex-direction:column}.jzuiJt{flex-shrink:0}.fznPCO{padding-top:var(--gGIQOF)}.hWgptE{right:var(--fcTUxn)}.fznPzA{padding-bottom:var(--gGIQOF)}.gSKPcF{justify-content:space-between}.gsLSP{border-block-end-width:var(--thickness)}.kNSbHl{border-color:var(--kJiqPO)}.iFtuvY{outline-color:#ffc439}.jGqhje{margin-top:var(--gEfgCY)}.iWITAz{border-width:var(--hiYFxW)}.OpsJf{border-color:var(--jlmaOs)}.cIFhny{left:-50%}.hhfvpY{background-image:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent)}.bheJpJ{font-weight:600}.ckDurQ{justify-content:space-around}.bJrRn{border-color:var(--qsPVo)}.kWIjhW{font-family:inherit}.evhJrM{outline-style:none}.bnrbKB{border-left-width:var(--fFEzoc)}.jCnIUz{top:55px}.WUSvz{overflow-y:auto}.fzrkfx{margin-top:var(--flZesP)}.fzoqjJ{margin-top:var(--hIimNX)}.kiIPsp{flex-grow:0}.fzoBen{padding-top:var(--bYDCFo)}.eRLFrQ{border-bottom-color:var(--DLYOY)}.ikkoWx{border-bottom-width:1px}.gvTxLc{flex-direction:column-reverse}.kRUpGi{left:var(--djiiAi)}.jXbniH{top:var(--cBFxYr)}.jppWeU{border-width:2px}.hoYZte{background-color:var(--qsPVo)}.dKiwaS{font-weight:var(--ghWdwL)}.hQJXOm{align-items:start}.jgxhLI{border-color:var(--gBHQLb)}.jfQXOb{border-color:var(--kFAOBM)}.fNUXA{outline-color:var(--edNtiq)}.fzoAPu{margin-left:var(--bYDCFo)}.cLWmJb{border-width:1px}.pNAEp{margin-left:calc(var(--dacYEG) * -1)}.fzpbES{margin-right:var(--dacYEG)}.fzoNGh{margin-right:var(--ebuyxV)}.jDRgcp{left:var(--gGIQOF)}.cXMndB{--mix-borderColor:color-mix(in srgb,var(--iagzVE) 10%,transparent);border-color:var(--mix-borderColor,var(--iagzVE))}.boHRSr{border-width:var(--fCuVLy)}.dsEUfT{background-color:var(--hLOWYd)}.kAiqVl{border-width:3px}.jsWSlz{margin-top:-3px}.jbWTdm{margin-right:0.9rem}.jbWSUo{margin-left:0.9rem}.kFJmaE{--mix-backgroundColor:color-mix(in srgb,var(--iagzVE) 1%,transparent)}.ftGyaA,.kFJmaE{background-color:var(--mix-backgroundColor,var(--iagzVE))}.ftGyaA{--mix-backgroundColor:color-mix(in srgb,var(--iagzVE) 5%,transparent)}.fydxLC{--mix-borderColor:color-mix(in srgb,var(--iagzVE) 6%,transparent);border-color:var(--mix-borderColor,var(--iagzVE))}.fjYTfT{bottom:-1px}.bEeUNc{right:-1px}.kQauLJ{align-items:baseline}.fcwWhs{background-color:var(--gfUEye)}.hHdgel{background-color:var(--dnTPVf)}.bbHqQM{grid-template-columns:repeat(2,minmax(0,1fr))}.fzoqjw{padding-top:var(--hIimNX)}.fzoNvZ{margin-bottom:var(--ebuyxV)}.fzoNEP{margin-top:var(--ebuyxV)}.fzoAVA{margin-bottom:var(--bYDCFo)}.kRLutI{background-color:var(--Iycdi)}.XyjJy:is(:disabled,[disabled],[data-disabled]){opacity:0.3}.iFUqYl:is(:disabled,[disabled],[data-disabled]){pointer-events:none}.jrpcxw:before{position:absolute}.heDbSF:before{border-radius:inherit}.dwmXuW:before{opacity:0}.huWYIz:before{transition:opacity 0.1s ease}[data-color-mode=light] .jtDWvE{mix-blend-mode:multiply}[data-color-mode=dark] .gLaBRL{background:#ffffff29}.jNgRkF:before{display:none}[data-color-mode=dark] .hAWTSp{background:var(--iTjmdu)}[data-color-mode=dark] .ehbthU{color:var(--jSQkQM)}[data-color-mode=dark] .kkleQX{color:var(--bWuoqD)}.iqcWiz::placeholder,.iqcWiz[data-placeholder]{color:var(--kFAOBM)}[data-color-mode=dark] .dSbdfc{background:var(--crPUBo)}.FuZjR:is(:disabled,[disabled],[data-disabled]){opacity:0.8}[data-color-mode=dark] .iuzRWK{background:rgba(0,0,0,.7)}[data-color-mode=dark] .jrIQHe{background:var(--Iycdi)}[data-color-mode=dark] .cDAZzQ{background:var(--jlmaOs)}[data-color-mode=dark] .dUhjQY{background:var(--eSphig)}[data-color-mode=dark] .egesjy{background:var(--lfBdGG)}[data-color-mode=dark] .ixYntQ{fill:var(--cFFIOa)}[data-color-mode=dark] .kmeQgS{color:var(--cFFIOa)}.dLVhZe:before{content:\"\"}.gjcwJg:before{top:var(--fcTUxn)}.WaBms:before{left:var(--fcTUxn)}.dqEIyP:before{right:var(--fcTUxn)}.knajvY:before{bottom:var(--fcTUxn)}.cNKdvI:before{background-image:linear-gradient(rgba(0,0,0,0.05),rgba(0,0,0,0.05))}.hSfsjI:before{background-image:linear-gradient(rgba(255,255,255,0.05),rgba(255,255,255,0.05))}[data-color-mode=dark] .dYDocO{background-color:var(--YyYdq)}[data-color-mode=dark] .HKuZu{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent)}.fmEGpT::-webkit-scrollbar,.hVrpDN::-webkit-scrollbar-track{background-color:var(--edNtiq)}.jOgXfC:focus-within{outline-offset:var(--gEfgCY)}.keDhFF:focus-within{outline-color:var(--gBHQLb)}.dLOUfk:focus-within{outline-style:solid}.hqoPOw:focus-within{outline-width:var(--hiYFxW)}.codFrx:is(:focus-visible,[data-focus-visible]){outline-offset:var(--gEfgCY)}.flBQvp:is(:focus-visible,[data-focus-visible]){border-radius:2px}.dmiQBo:is(:focus,[data-focus]){fill:url(\"#logo-gradient\")}.AIGHf:is(:focus-visible,[data-focus-visible]){outline-color:var(--iAjuTO)}.dGEQaj:is(:focus-visible,[data-focus-visible]){outline-color:var(--itfeCm)}.hyjrVf:is(:focus-visible,[data-focus-visible]){outline-color:var(--dxaFjW)}.gcvzK:is(:focus-visible,[data-focus-visible]){outline-color:var(--ldafrz)}.bIoiOr:is(:focus-visible,[data-focus-visible]){outline-color:var(--Iycdi)}.hLPNjH:is(:focus-visible,[data-focus-visible]){outline-style:solid}.dTHceD:is(:focus-visible,[data-focus-visible]){outline-width:var(--hiYFxW)}.bXLdKW:is(:focus-visible,[data-focus-visible]){outline-color:var(--gBHQLb)}.eqIqpK:is(:hover,[data-hover]){background:#ffffff4d}.group:is(:hover,[data-hover]) .crpBMh{color:var(--enVPNY)}.group:is(:hover,[data-hover]) .dkgTgI{color:var(--cOyFst)}.group:is(:hover,[data-hover]) .dsNmcp{color:var(--iZlvjY)}.group:is(:hover,[data-hover]) .ejxEyT{color:var(--YyYdq)}.gFOtbv:is(:hover,[data-hover]){opacity:0.8}.gNRPsX:is(:hover,[data-hover]){filter:brightness(0.9)}.cNdQqS:is(:hover,[data-hover]){background:var(--crPUBo)}.hQYScc:is(:hover,[data-hover]){background:var(--iAjuTO)}.juloA:is(:hover,[data-hover]){background:var(--gfUEye)}.ekkLYF:is(:hover,[data-hover]){box-shadow:0 6px 8px 2px rgba(0,0,0,.18)}.ieWvIF:is(:hover,[data-hover]){cursor:pointer}.kznAev:is(:hover,[data-hover]){background:var(--edNtiq)}.lpgyhx:is(:hover,[data-hover]){background:var(--eRgqfH)}.gJEFOw:is(:hover,[data-hover]){background:var(--cFFIOa)}.eJlUjp:is(:hover,[data-hover]){background:var(--gBHQLb)}.group:is(:hover,[data-hover]) .fOIArh{color:var(--iagzVE)}.dmulsi:is(:hover,[data-hover]){fill:url(\"#logo-gradient\")}.group:is(:hover,[data-hover]) .ejwVfp{color:var(--kFAOBM)}.dpCLFW:is(:hover,[data-hover]){background:var(--qsPVo)}.fFyjxH:is(:hover,[data-hover]){border-color:var(--DLYOY)}.khQJeR:is(:hover,[data-hover]){border-color:var(--gfUEye)}.group:is(:hover,[data-hover]) .jRgrno{border-color:var(--DLYOY)}.juloA:is(:hover,[data-hover]){background-color:var(--gfUEye)}.XicUs:is(:hover,[data-hover]){border-color:var(--gBHQLb)}.bhyTbN:is(:active,[data-active]){transform:scale(0.95)}.dLUGsc:is(:active,[data-active]){fill:url(\"#logo-gradient\")}.fwLKPv>:first-child,.kYYdmz>:last-child{min-width:var(--cAmzCM)}[data-color-mode=dark] .iBxkaW:before{background-image:linear-gradient(rgba(255,255,255,0.05),rgba(255,255,255,0.05))}[data-color-mode=dark] .gYKIuG:before{background-image:linear-gradient(rgba(0,0,0,0.05),rgba(0,0,0,0.05))}.feLnkv:is(:hover,[data-hover]):before{opacity:1}.hEvetW:is(:hover,[data-hover]):before{opacity:0}[data-color-mode=dark] .group:is(:hover,[data-hover]) .hOYqkw{color:var(--gzHfkH)}[data-color-mode=dark] .group:is(:hover,[data-hover]) .tdpny{color:var(--cOyFst)}[data-color-mode=dark] .group:is(:hover,[data-hover]) .jMRjnY{color:var(--dnTPVf)}[data-color-mode=dark] .group:is(:hover,[data-hover]) .hEkRYZ{color:var(--YyYdq)}[data-color-mode=dark] .cbdIkB:is(:hover,[data-hover]){background:var(--edNtiq)}[data-color-mode=dark] .bLXejb:is(:hover,[data-hover]){background:var(--gyKIIT)}[data-color-mode=dark] .leneMy:is(:hover,[data-hover]){background:var(--lfBdGG)}[data-color-mode=dark] .iCKJWv:is(:hover,[data-hover]){background:var(--gBHQLb)}@media (min-width: 48rem){.XrXGK{margin-inline:auto}.blyVxi{width:25rem}.jBZMtD{height:fit-content}.dOrSJl{box-shadow:0px 12px 56px color-mix(in srgb,var(--cFFIOa) 15%,transparent)}.cRloWQ{border-radius:var(--insZoq)}.fHEbLY{top:var(--uyqLg)}.ctyfRj{top:var(--fcTUxn)}[data-color-mode=dark] .iueHSe{box-shadow:none}[data-color-mode=dark] .isQWtr{border-block:solid}[data-color-mode=dark] .ceYPvB{border-width:1px}[data-color-mode=dark] .btXYvH{border-color:var(--gfUEye)}}@media screen and (min-width: 48rem){.kVsPah{padding-inline:var(--gGIQOF)}}@media screen and (min-width: 64rem){.kTqchV{padding-inline:var(--flZesP)}}@media screen and (max-width: 47.9975rem){.hUYDug{max-width:var(--khWApH)}}@media only screen and (max-width: 767px){.fcSmAp{height:100dvh}}@media (max-width: 370px){.hYevRO{display:none}}@media (prefers-reduced-motion: reduce){.kuxZR{scale:1}}";
|
|
15397
15649
|
document.head.appendChild(styleElement);
|
|
15398
15650
|
cssInjected = true;
|
|
15399
15651
|
}
|
|
15400
15652
|
// The actual widget content
|
|
15401
|
-
function WidgetContent({ state, dispatch }) {
|
|
15653
|
+
function WidgetContent({ state, dispatch, showFooterLogo }) {
|
|
15402
15654
|
// Render the current view
|
|
15403
15655
|
const renderView = () => {
|
|
15404
15656
|
switch (state.view) {
|
|
15405
15657
|
case 'login':
|
|
15406
15658
|
return React.createElement(LoginView, { dispatch: dispatch });
|
|
15407
15659
|
case 'wallet_pending':
|
|
15408
|
-
|
|
15660
|
+
// Only render if we have a valid selectedProvider
|
|
15661
|
+
if (!state.selectedProvider) {
|
|
15662
|
+
return React.createElement(LoginView, { dispatch: dispatch });
|
|
15663
|
+
}
|
|
15664
|
+
return (React.createElement(WalletPendingView, { key: `wallet-${state.selectedProvider}`, provider: state.selectedProvider, state: state, dispatch: dispatch }));
|
|
15665
|
+
case 'walletconnect_pending':
|
|
15666
|
+
return React.createElement(WalletConnectView, { key: "walletconnect", dispatch: dispatch });
|
|
15409
15667
|
case 'oauth_pending':
|
|
15410
|
-
|
|
15668
|
+
// Only render if we have a valid selectedProvider
|
|
15669
|
+
if (!state.selectedProvider) {
|
|
15670
|
+
return React.createElement(LoginView, { dispatch: dispatch });
|
|
15671
|
+
}
|
|
15672
|
+
return (React.createElement(OAuthPendingView, { key: `oauth-${state.selectedProvider}`, provider: state.selectedProvider, dispatch: dispatch }));
|
|
15411
15673
|
case 'additional_providers':
|
|
15412
15674
|
return React.createElement(AdditionalProvidersView, { dispatch: dispatch });
|
|
15413
15675
|
case 'email_otp_pending':
|
|
@@ -15431,7 +15693,7 @@ function WidgetContent({ state, dispatch }) {
|
|
|
15431
15693
|
React.createElement(i$6, { removeTopOffset: true },
|
|
15432
15694
|
React.createElement(VStack, { alignItems: "center", width: "full" },
|
|
15433
15695
|
renderView(),
|
|
15434
|
-
React.createElement(c$5,
|
|
15696
|
+
React.createElement(c$5, { showLogo: showFooterLogo })))));
|
|
15435
15697
|
}
|
|
15436
15698
|
// Styles for modal mode
|
|
15437
15699
|
const modalBackdropStyles = {
|
|
@@ -15460,6 +15722,7 @@ function MagicWidget({ displayMode = 'inline', isOpen = true, onClose, closeOnSu
|
|
|
15460
15722
|
});
|
|
15461
15723
|
const { setColors, setRadius } = g$1({});
|
|
15462
15724
|
const [clientTheme, setClientTheme] = React.useState(null);
|
|
15725
|
+
const [showFooterLogo, setShowFooterLogo] = React.useState(false);
|
|
15463
15726
|
React.useEffect(() => {
|
|
15464
15727
|
injectCSS();
|
|
15465
15728
|
// Only fetch if not already cached
|
|
@@ -15468,6 +15731,7 @@ function MagicWidget({ displayMode = 'inline', isOpen = true, onClose, closeOnSu
|
|
|
15468
15731
|
.fetchConfig()
|
|
15469
15732
|
.then(clientConfig => {
|
|
15470
15733
|
setClientTheme(clientConfig.theme);
|
|
15734
|
+
setShowFooterLogo(clientConfig.theme.customBrandingType !== 2);
|
|
15471
15735
|
setIsConfigLoading(false);
|
|
15472
15736
|
})
|
|
15473
15737
|
.catch(err => {
|
|
@@ -15504,12 +15768,19 @@ function MagicWidget({ displayMode = 'inline', isOpen = true, onClose, closeOnSu
|
|
|
15504
15768
|
};
|
|
15505
15769
|
setClientTheme();
|
|
15506
15770
|
}, [clientTheme]);
|
|
15507
|
-
// Reset to login view when modal is opened
|
|
15771
|
+
// Reset to login view when modal is closed or opened
|
|
15772
|
+
const prevIsOpenRef = React.useRef(isOpen);
|
|
15508
15773
|
React.useEffect(() => {
|
|
15509
|
-
|
|
15774
|
+
// Reset when modal closes (to prevent stale state on reopen)
|
|
15775
|
+
if (!isOpen && prevIsOpenRef.current) {
|
|
15776
|
+
dispatch({ type: 'GO_TO_LOGIN' });
|
|
15777
|
+
}
|
|
15778
|
+
// Reset when modal opens (ensures clean state)
|
|
15779
|
+
if (isOpen && !prevIsOpenRef.current) {
|
|
15510
15780
|
dispatch({ type: 'GO_TO_LOGIN' });
|
|
15511
15781
|
}
|
|
15512
|
-
|
|
15782
|
+
prevIsOpenRef.current = isOpen;
|
|
15783
|
+
}, [isOpen, dispatch]);
|
|
15513
15784
|
if (!isOpen) {
|
|
15514
15785
|
return null;
|
|
15515
15786
|
}
|
|
@@ -15527,7 +15798,7 @@ function MagicWidget({ displayMode = 'inline', isOpen = true, onClose, closeOnSu
|
|
|
15527
15798
|
React.createElement(wagmi.WagmiProvider, { config: wagmiConfig },
|
|
15528
15799
|
React.createElement(reactQuery.QueryClientProvider, { client: queryClient },
|
|
15529
15800
|
React.createElement("div", { id: "magic-widget-container" },
|
|
15530
|
-
React.createElement(WidgetContent, { state: state, dispatch: dispatch }))))));
|
|
15801
|
+
React.createElement(WidgetContent, { state: state, dispatch: dispatch, showFooterLogo: showFooterLogo }))))));
|
|
15531
15802
|
if (isModal) {
|
|
15532
15803
|
return (React.createElement("div", { style: modalBackdropStyles, onClick: handleBackdropClick },
|
|
15533
15804
|
React.createElement("div", { style: modalContentStyles }, widgetContent)));
|