@volr/react-ui 0.1.55 → 0.1.58

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import React5, { createContext, useContext, useState, useMemo, useEffect, useCallback, useRef, useId } from 'react';
1
+ import React9, { createContext, useContext, useState, useMemo, useEffect, useCallback, useRef, useId } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import { useVolrContext, useInternalAuth, usePasskeyEnrollment, useMpcConnection, VolrProvider, useVolrLogin, useDepositListener, createGetNetworkInfo } from '@volr/react';
4
4
  export { VolrProvider, useDepositListener, usePasskeyEnrollment, useVolr, useVolrLogin } from '@volr/react';
@@ -71,6 +71,12 @@ var en = {
71
71
  title: "Success!",
72
72
  message: "You're all set. Redirecting..."
73
73
  },
74
+ account: {
75
+ title: "My Account",
76
+ walletAddress: "Wallet Address",
77
+ email: "Email",
78
+ logout: "Log out"
79
+ },
74
80
  deposit: {
75
81
  selectTitle: "Select asset to deposit",
76
82
  qrTitle: "Deposit",
@@ -164,6 +170,12 @@ var ko = {
164
170
  title: "\uC644\uB8CC!",
165
171
  message: "\uBAA8\uB4E0 \uC124\uC815\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB9AC\uB2E4\uC774\uB809\uD2B8 \uC911..."
166
172
  },
173
+ account: {
174
+ title: "\uB0B4 \uACC4\uC815",
175
+ walletAddress: "\uC9C0\uAC11 \uC8FC\uC18C",
176
+ email: "\uC774\uBA54\uC77C",
177
+ logout: "\uB85C\uADF8\uC544\uC6C3"
178
+ },
167
179
  deposit: {
168
180
  selectTitle: "\uCDA9\uC804\uD560 \uC790\uC0B0\uC744 \uC120\uD0DD\uD558\uC138\uC694",
169
181
  qrTitle: "\uC785\uAE08\uD558\uAE30",
@@ -288,19 +300,18 @@ var VolrModalProvider = ({
288
300
  children
289
301
  }) => {
290
302
  const [isOpen, setIsOpen] = useState(false);
291
- const [mode, setMode] = useState("auth");
292
- const { user } = useVolrContext();
293
- const open = useCallback(() => {
294
- setMode(user ? "deposit" : "auth");
303
+ const [mode, setMode] = useState("account");
304
+ const [asset, setAsset] = useState(null);
305
+ const open = useCallback((options) => {
306
+ setMode(options?.mode ?? "account");
307
+ setAsset(options?.asset ?? null);
295
308
  setIsOpen(true);
296
- }, [user]);
309
+ }, []);
297
310
  const close = useCallback(() => {
298
311
  setIsOpen(false);
312
+ setAsset(null);
299
313
  }, []);
300
- const toggle = useCallback(() => {
301
- setIsOpen((prev) => !prev);
302
- }, []);
303
- return /* @__PURE__ */ jsx(VolrModalContext.Provider, { value: { isOpen, mode, open, close, toggle }, children });
314
+ return /* @__PURE__ */ jsx(VolrModalContext.Provider, { value: { isOpen, mode, asset, open, close }, children });
304
315
  };
305
316
  var twMerge = extendTailwindMerge({
306
317
  prefix: "volr:"
@@ -325,7 +336,7 @@ function useMediaQuery(query) {
325
336
  }
326
337
 
327
338
  // src/generated/volr-sdk-css.ts
328
- var VOLR_SDK_CSS = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--volr-tw-translate-x:0;--volr-tw-translate-y:0;--volr-tw-translate-z:0;--volr-tw-space-y-reverse:0;--volr-tw-border-style:solid;--volr-tw-gradient-position:initial;--volr-tw-gradient-from:#0000;--volr-tw-gradient-via:#0000;--volr-tw-gradient-to:#0000;--volr-tw-gradient-stops:initial;--volr-tw-gradient-via-stops:initial;--volr-tw-gradient-from-position:0%;--volr-tw-gradient-via-position:50%;--volr-tw-gradient-to-position:100%;--volr-tw-leading:initial;--volr-tw-font-weight:initial;--volr-tw-shadow:0 0 #0000;--volr-tw-shadow-color:initial;--volr-tw-shadow-alpha:100%;--volr-tw-inset-shadow:0 0 #0000;--volr-tw-inset-shadow-color:initial;--volr-tw-inset-shadow-alpha:100%;--volr-tw-ring-color:initial;--volr-tw-ring-shadow:0 0 #0000;--volr-tw-inset-ring-color:initial;--volr-tw-inset-ring-shadow:0 0 #0000;--volr-tw-ring-inset:initial;--volr-tw-ring-offset-width:0px;--volr-tw-ring-offset-color:#fff;--volr-tw-ring-offset-shadow:0 0 #0000;--volr-tw-blur:initial;--volr-tw-brightness:initial;--volr-tw-contrast:initial;--volr-tw-grayscale:initial;--volr-tw-hue-rotate:initial;--volr-tw-invert:initial;--volr-tw-opacity:initial;--volr-tw-saturate:initial;--volr-tw-sepia:initial;--volr-tw-drop-shadow:initial;--volr-tw-drop-shadow-color:initial;--volr-tw-drop-shadow-alpha:100%;--volr-tw-drop-shadow-size:initial;--volr-tw-duration:initial;--volr-tw-ease:initial}}}@layer theme{:root,:host{--volr-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--volr-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--volr-color-red-50:oklch(97.1% .013 17.38);--volr-color-red-200:oklch(88.5% .062 18.334);--volr-color-red-500:oklch(63.7% .237 25.331);--volr-color-red-600:oklch(57.7% .245 27.325);--volr-color-red-700:oklch(50.5% .213 27.518);--volr-color-green-600:oklch(62.7% .194 149.214);--volr-color-emerald-300:oklch(84.5% .143 164.978);--volr-color-emerald-400:oklch(76.5% .177 163.223);--volr-color-emerald-500:oklch(69.6% .17 162.48);--volr-color-teal-400:oklch(77.7% .152 181.912);--volr-color-teal-500:oklch(70.4% .14 182.503);--volr-color-cyan-400:oklch(78.9% .154 211.53);--volr-color-blue-500:oklch(62.3% .214 259.815);--volr-color-purple-600:oklch(55.8% .288 302.321);--volr-color-rose-50:oklch(96.9% .015 12.422);--volr-color-rose-200:oklch(89.2% .058 10.001);--volr-color-rose-700:oklch(51.4% .222 16.935);--volr-color-rose-800:oklch(45.5% .188 13.697);--volr-color-slate-50:oklch(98.4% .003 247.858);--volr-color-slate-100:oklch(96.8% .007 247.896);--volr-color-slate-200:oklch(92.9% .013 255.508);--volr-color-slate-300:oklch(86.9% .022 252.894);--volr-color-slate-400:oklch(70.4% .04 256.788);--volr-color-slate-500:oklch(55.4% .046 257.417);--volr-color-slate-600:oklch(44.6% .043 257.281);--volr-color-slate-700:oklch(37.2% .044 257.287);--volr-color-slate-900:oklch(20.8% .042 265.755);--volr-color-gray-100:oklch(96.7% .003 264.542);--volr-color-gray-400:oklch(70.7% .022 261.325);--volr-color-gray-500:oklch(55.1% .027 264.364);--volr-color-gray-900:oklch(21% .034 264.665);--volr-color-black:#000;--volr-color-white:#fff;--volr-spacing:.25rem;--volr-container-md:28rem;--volr-container-4xl:56rem;--volr-text-xs:.75rem;--volr-text-xs--line-height:calc(1/.75);--volr-text-sm:.875rem;--volr-text-sm--line-height:calc(1.25/.875);--volr-text-base:1rem;--volr-text-base--line-height:calc(1.5/1);--volr-text-lg:1.125rem;--volr-text-lg--line-height:calc(1.75/1.125);--volr-text-xl:1.25rem;--volr-text-xl--line-height:calc(1.75/1.25);--volr-text-2xl:1.5rem;--volr-text-2xl--line-height:calc(2/1.5);--volr-text-8xl:6rem;--volr-text-8xl--line-height:1;--volr-font-weight-medium:500;--volr-font-weight-semibold:600;--volr-font-weight-bold:700;--volr-leading-relaxed:1.625;--volr-radius-md:.375rem;--volr-radius-lg:.5rem;--volr-radius-xl:.75rem;--volr-radius-2xl:1rem;--volr-radius-3xl:1.5rem;--volr-ease-out:cubic-bezier(0,0,.2,1);--volr-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--volr-blur-2xl:40px;--volr-default-transition-duration:.15s;--volr-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--volr-default-font-family:var(--volr-font-sans);--volr-default-mono-font-family:var(--volr-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--volr-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--volr-default-font-feature-settings,normal);font-variation-settings:var(--volr-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--volr-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--volr-default-mono-font-feature-settings,normal);font-variation-settings:var(--volr-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{--volr-primary-color:var(--volr-accent-color,#303030);--volr-font-family:var(--volr-custom-font,inherit)}*,:before,:after{box-sizing:border-box}*{font-family:var(--volr-font-family)}button,input,select,textarea{color:inherit;background-color:#0000}button{cursor:pointer;background-color:#0000}input::placeholder{color:#94a3b8}h1,h2,h3{color:#0f172a;margin:0;font-weight:700}h1{font-size:1.875rem;line-height:2.25rem}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem;line-height:1.75rem}p{margin:0}}@layer components{.volr-dialog-overlay{inset:calc(var(--volr-spacing)*0);z-index:40;background-color:var(--volr-color-black);position:fixed}@supports (color:color-mix(in lab, red, red)){.volr-dialog-overlay{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr-dialog-content{z-index:50;border-radius:var(--volr-radius-2xl);border-style:var(--volr-tw-border-style);border-width:1px;border-color:var(--volr-color-slate-300);background-color:var(--volr-color-white);padding:calc(var(--volr-spacing)*7);--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow);width:calc(100% - 2rem);max-width:28rem;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (max-width:640px){.volr-dialog-content{top:auto;right:calc(var(--volr-spacing)*0);bottom:calc(var(--volr-spacing)*0);left:calc(var(--volr-spacing)*0);border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:100%;margin:0 auto;transform:translateY(0)}}.volr-dialog-close{top:calc(var(--volr-spacing)*4);right:calc(var(--volr-spacing)*4);height:calc(var(--volr-spacing)*8);width:calc(var(--volr-spacing)*8);color:var(--volr-color-slate-400);cursor:pointer;background-color:#0000;border:none;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.volr-dialog-close:hover{color:#475569;background-color:#f1f5f9}.volr-dialog-close:focus-visible{outline:none;box-shadow:0 0 0 2px #94a3b8b3}.volr-dialog-close-icon{height:calc(var(--volr-spacing)*4);width:calc(var(--volr-spacing)*4)}.volr-email-input{width:100%;color:inherit;background-color:#fff;border:1px solid #cbd5e1;border-radius:.5rem;outline:none;padding:.75rem .75rem .75rem 2.75rem;font-size:1rem;line-height:1.5}.volr-email-input::placeholder{color:#94a3b8}.volr-email-input:focus{border-color:#cbd5e1;box-shadow:0 0 0 2px #94a3b8b3}.volr-option-button{cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.75rem;width:100%;padding:.75rem;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;display:flex}.volr-option-button:hover{background-color:#f8fafc;border-color:#e2e8f0}.volr-option-button:focus-visible{outline:none;box-shadow:0 0 0 2px #94a3b8b3}}@layer utilities{.volr\\:pointer-events-none{pointer-events:none}.volr\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.volr\\:absolute{position:absolute}.volr\\:fixed{position:fixed}.volr\\:relative{position:relative}.volr\\:inset-0{inset:calc(var(--volr-spacing)*0)}.volr\\:-top-3{top:calc(var(--volr-spacing)*-3)}.volr\\:top-1\\/2{top:50%}.volr\\:-right-3{right:calc(var(--volr-spacing)*-3)}.volr\\:right-0{right:calc(var(--volr-spacing)*0)}.volr\\:right-2{right:calc(var(--volr-spacing)*2)}.volr\\:bottom-0{bottom:calc(var(--volr-spacing)*0)}.volr\\:left-0{left:calc(var(--volr-spacing)*0)}.volr\\:left-3{left:calc(var(--volr-spacing)*3)}.volr\\:-z-10{z-index:calc(10*-1)}.volr\\:z-10{z-index:10}.volr\\:z-20{z-index:20}.volr\\:z-40{z-index:40}.volr\\:z-50{z-index:50}.volr\\:mx-auto{margin-inline:auto}.volr\\:my-6{margin-block:calc(var(--volr-spacing)*6)}.volr\\:my-8{margin-block:calc(var(--volr-spacing)*8)}.volr\\:mt-0\\.5{margin-top:calc(var(--volr-spacing)*.5)}.volr\\:mt-1{margin-top:calc(var(--volr-spacing)*1)}.volr\\:mt-2{margin-top:calc(var(--volr-spacing)*2)}.volr\\:mt-3{margin-top:calc(var(--volr-spacing)*3)}.volr\\:mt-6{margin-top:calc(var(--volr-spacing)*6)}.volr\\:mt-8{margin-top:calc(var(--volr-spacing)*8)}.volr\\:mb-1{margin-bottom:calc(var(--volr-spacing)*1)}.volr\\:mb-2{margin-bottom:calc(var(--volr-spacing)*2)}.volr\\:mb-3{margin-bottom:calc(var(--volr-spacing)*3)}.volr\\:mb-4{margin-bottom:calc(var(--volr-spacing)*4)}.volr\\:mb-5{margin-bottom:calc(var(--volr-spacing)*5)}.volr\\:mb-6{margin-bottom:calc(var(--volr-spacing)*6)}.volr\\:mb-8{margin-bottom:calc(var(--volr-spacing)*8)}.volr\\:-ml-2{margin-left:calc(var(--volr-spacing)*-2)}.volr\\:flex{display:flex}.volr\\:grid{display:grid}.volr\\:inline-block{display:inline-block}.volr\\:inline-flex{display:inline-flex}.volr\\:h-1\\.5{height:calc(var(--volr-spacing)*1.5)}.volr\\:h-2{height:calc(var(--volr-spacing)*2)}.volr\\:h-8{height:calc(var(--volr-spacing)*8)}.volr\\:h-10{height:calc(var(--volr-spacing)*10)}.volr\\:h-14{height:calc(var(--volr-spacing)*14)}.volr\\:h-24{height:calc(var(--volr-spacing)*24)}.volr\\:h-40{height:calc(var(--volr-spacing)*40)}.volr\\:h-44{height:calc(var(--volr-spacing)*44)}.volr\\:h-48{height:calc(var(--volr-spacing)*48)}.volr\\:h-full{height:100%}.volr\\:h-px{height:1px}.volr\\:max-h-24{max-height:calc(var(--volr-spacing)*24)}.volr\\:max-h-96{max-height:calc(var(--volr-spacing)*96)}.volr\\:max-h-\\[85vh\\]{max-height:85vh}.volr\\:max-h-\\[90vh\\]{max-height:90vh}.volr\\:min-h-\\[120px\\]{min-height:120px}.volr\\:w-1\\.5{width:calc(var(--volr-spacing)*1.5)}.volr\\:w-2{width:calc(var(--volr-spacing)*2)}.volr\\:w-8{width:calc(var(--volr-spacing)*8)}.volr\\:w-10{width:calc(var(--volr-spacing)*10)}.volr\\:w-12{width:calc(var(--volr-spacing)*12)}.volr\\:w-24{width:calc(var(--volr-spacing)*24)}.volr\\:w-40{width:calc(var(--volr-spacing)*40)}.volr\\:w-44{width:calc(var(--volr-spacing)*44)}.volr\\:w-48{width:calc(var(--volr-spacing)*48)}.volr\\:w-full{width:100%}.volr\\:max-w-4xl{max-width:var(--volr-container-4xl)}.volr\\:max-w-full{max-width:100%}.volr\\:max-w-md{max-width:var(--volr-container-md)}.volr\\:max-w-none{max-width:none}.volr\\:min-w-0{min-width:calc(var(--volr-spacing)*0)}.volr\\:flex-1{flex:1}.volr\\:flex-shrink-0{flex-shrink:0}.volr\\:-translate-y-1\\/2{--volr-tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--volr-tw-translate-x)var(--volr-tw-translate-y)}.volr\\:animate-\\[volrFadeIn_0\\.2s_ease-out\\]{animation:.2s ease-out volrFadeIn}.volr\\:animate-pulse{animation:var(--volr-animate-pulse)}.volr\\:cursor-not-allowed{cursor:not-allowed}.volr\\:cursor-pointer{cursor:pointer}.volr\\:grid-cols-\\[minmax\\(0\\,1\\.1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.volr\\:flex-col{flex-direction:column}.volr\\:items-baseline{align-items:baseline}.volr\\:items-center{align-items:center}.volr\\:items-end{align-items:flex-end}.volr\\:items-start{align-items:flex-start}.volr\\:justify-between{justify-content:space-between}.volr\\:justify-center{justify-content:center}.volr\\:gap-1{gap:calc(var(--volr-spacing)*1)}.volr\\:gap-2{gap:calc(var(--volr-spacing)*2)}.volr\\:gap-3{gap:calc(var(--volr-spacing)*3)}.volr\\:gap-4{gap:calc(var(--volr-spacing)*4)}:where(.volr\\:space-y-2>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*2)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*2)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-3>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*3)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*3)*calc(1 - var(--volr-tw-space-y-reverse)))}.volr\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.volr\\:overflow-hidden{overflow:hidden}.volr\\:overflow-visible{overflow:visible}.volr\\:overflow-y-auto{overflow-y:auto}.volr\\:rounded-2xl{border-radius:var(--volr-radius-2xl)}.volr\\:rounded-full{border-radius:3.40282e38px}.volr\\:rounded-lg{border-radius:var(--volr-radius-lg)}.volr\\:rounded-md{border-radius:var(--volr-radius-md)}.volr\\:rounded-xl{border-radius:var(--volr-radius-xl)}.volr\\:rounded-t-3xl{border-top-left-radius:var(--volr-radius-3xl);border-top-right-radius:var(--volr-radius-3xl)}.volr\\:border{border-style:var(--volr-tw-border-style);border-width:1px}.volr\\:border-2{border-style:var(--volr-tw-border-style);border-width:2px}.volr\\:border-4{border-style:var(--volr-tw-border-style);border-width:4px}.volr\\:border-t{border-top-style:var(--volr-tw-border-style);border-top-width:1px}.volr\\:border-none{--volr-tw-border-style:none;border-style:none}.volr\\:border-red-200{border-color:var(--volr-color-red-200)}.volr\\:border-rose-200{border-color:var(--volr-color-rose-200)}.volr\\:border-slate-100{border-color:var(--volr-color-slate-100)}.volr\\:border-slate-200,.volr\\:border-slate-200\\/50{border-color:var(--volr-color-slate-200)}@supports (color:color-mix(in lab, red, red)){.volr\\:border-slate-200\\/50{border-color:color-mix(in oklab,var(--volr-color-slate-200)50%,transparent)}}.volr\\:border-slate-300{border-color:var(--volr-color-slate-300)}.volr\\:border-white{border-color:var(--volr-color-white)}.volr\\:bg-black\\/45{background-color:var(--volr-color-black)}@supports (color:color-mix(in lab, red, red)){.volr\\:bg-black\\/45{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr\\:bg-blue-500{background-color:var(--volr-color-blue-500)}.volr\\:bg-cyan-400{background-color:var(--volr-color-cyan-400)}.volr\\:bg-emerald-300{background-color:var(--volr-color-emerald-300)}.volr\\:bg-emerald-400{background-color:var(--volr-color-emerald-400)}.volr\\:bg-gray-100{background-color:var(--volr-color-gray-100)}.volr\\:bg-gray-400{background-color:var(--volr-color-gray-400)}.volr\\:bg-red-50{background-color:var(--volr-color-red-50)}.volr\\:bg-rose-50{background-color:var(--volr-color-rose-50)}.volr\\:bg-slate-50,.volr\\:bg-slate-50\\/50{background-color:var(--volr-color-slate-50)}@supports (color:color-mix(in lab, red, red)){.volr\\:bg-slate-50\\/50{background-color:color-mix(in oklab,var(--volr-color-slate-50)50%,transparent)}}.volr\\:bg-slate-100{background-color:var(--volr-color-slate-100)}.volr\\:bg-slate-200{background-color:var(--volr-color-slate-200)}.volr\\:bg-teal-400{background-color:var(--volr-color-teal-400)}.volr\\:bg-transparent{background-color:#0000}.volr\\:bg-white{background-color:var(--volr-color-white)}.volr\\:bg-gradient-to-br{--volr-tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--volr-tw-gradient-stops))}.volr\\:from-blue-500{--volr-tw-gradient-from:var(--volr-color-blue-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:from-emerald-400{--volr-tw-gradient-from:var(--volr-color-emerald-400);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:from-emerald-500{--volr-tw-gradient-from:var(--volr-color-emerald-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:to-purple-600{--volr-tw-gradient-to:var(--volr-color-purple-600);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:to-teal-500{--volr-tw-gradient-to:var(--volr-color-teal-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:p-1{padding:calc(var(--volr-spacing)*1)}.volr\\:p-1\\.5{padding:calc(var(--volr-spacing)*1.5)}.volr\\:p-2{padding:calc(var(--volr-spacing)*2)}.volr\\:p-3{padding:calc(var(--volr-spacing)*3)}.volr\\:p-4{padding:calc(var(--volr-spacing)*4)}.volr\\:p-5{padding:calc(var(--volr-spacing)*5)}.volr\\:p-8{padding:calc(var(--volr-spacing)*8)}.volr\\:px-2{padding-inline:calc(var(--volr-spacing)*2)}.volr\\:px-3{padding-inline:calc(var(--volr-spacing)*3)}.volr\\:px-4{padding-inline:calc(var(--volr-spacing)*4)}.volr\\:px-5{padding-inline:calc(var(--volr-spacing)*5)}.volr\\:px-6{padding-inline:calc(var(--volr-spacing)*6)}.volr\\:py-0\\.5{padding-block:calc(var(--volr-spacing)*.5)}.volr\\:py-1\\.5{padding-block:calc(var(--volr-spacing)*1.5)}.volr\\:py-2{padding-block:calc(var(--volr-spacing)*2)}.volr\\:py-3{padding-block:calc(var(--volr-spacing)*3)}.volr\\:py-6{padding-block:calc(var(--volr-spacing)*6)}.volr\\:py-8{padding-block:calc(var(--volr-spacing)*8)}.volr\\:py-12{padding-block:calc(var(--volr-spacing)*12)}.volr\\:pt-4{padding-top:calc(var(--volr-spacing)*4)}.volr\\:pb-5{padding-bottom:calc(var(--volr-spacing)*5)}.volr\\:pb-6{padding-bottom:calc(var(--volr-spacing)*6)}.volr\\:text-center{text-align:center}.volr\\:text-left{text-align:left}.volr\\:font-mono{font-family:var(--volr-font-mono)}.volr\\:text-2xl{font-size:var(--volr-text-2xl);line-height:var(--volr-tw-leading,var(--volr-text-2xl--line-height))}.volr\\:text-8xl{font-size:var(--volr-text-8xl);line-height:var(--volr-tw-leading,var(--volr-text-8xl--line-height))}.volr\\:text-base{font-size:var(--volr-text-base);line-height:var(--volr-tw-leading,var(--volr-text-base--line-height))}.volr\\:text-lg{font-size:var(--volr-text-lg);line-height:var(--volr-tw-leading,var(--volr-text-lg--line-height))}.volr\\:text-sm{font-size:var(--volr-text-sm);line-height:var(--volr-tw-leading,var(--volr-text-sm--line-height))}.volr\\:text-xl{font-size:var(--volr-text-xl);line-height:var(--volr-tw-leading,var(--volr-text-xl--line-height))}.volr\\:text-xs{font-size:var(--volr-text-xs);line-height:var(--volr-tw-leading,var(--volr-text-xs--line-height))}.volr\\:leading-relaxed{--volr-tw-leading:var(--volr-leading-relaxed);line-height:var(--volr-leading-relaxed)}.volr\\:font-bold{--volr-tw-font-weight:var(--volr-font-weight-bold);font-weight:var(--volr-font-weight-bold)}.volr\\:font-medium{--volr-tw-font-weight:var(--volr-font-weight-medium);font-weight:var(--volr-font-weight-medium)}.volr\\:font-semibold{--volr-tw-font-weight:var(--volr-font-weight-semibold);font-weight:var(--volr-font-weight-semibold)}.volr\\:break-all{word-break:break-all}.volr\\:text-gray-500{color:var(--volr-color-gray-500)}.volr\\:text-gray-900{color:var(--volr-color-gray-900)}.volr\\:text-green-600{color:var(--volr-color-green-600)}.volr\\:text-red-500{color:var(--volr-color-red-500)}.volr\\:text-red-600{color:var(--volr-color-red-600)}.volr\\:text-red-700{color:var(--volr-color-red-700)}.volr\\:text-rose-700{color:var(--volr-color-rose-700)}.volr\\:text-rose-800{color:var(--volr-color-rose-800)}.volr\\:text-slate-400{color:var(--volr-color-slate-400)}.volr\\:text-slate-500{color:var(--volr-color-slate-500)}.volr\\:text-slate-600{color:var(--volr-color-slate-600)}.volr\\:text-slate-700{color:var(--volr-color-slate-700)}.volr\\:text-slate-900{color:var(--volr-color-slate-900)}.volr\\:text-white{color:var(--volr-color-white)}.volr\\:capitalize{text-transform:capitalize}.volr\\:underline{text-decoration-line:underline}.volr\\:opacity-0{opacity:0}.volr\\:opacity-30{opacity:.3}.volr\\:shadow-2xl{--volr-tw-shadow:0 25px 50px -12px var(--volr-tw-shadow-color,#00000040);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-lg{--volr-tw-shadow:0 10px 15px -3px var(--volr-tw-shadow-color,#0000001a),0 4px 6px -4px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-sm{--volr-tw-shadow:0 1px 3px 0 var(--volr-tw-shadow-color,#0000001a),0 1px 2px -1px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-xl{--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:var(--volr-color-emerald-500)}@supports (color:color-mix(in lab, red, red)){.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--volr-color-emerald-500)50%,transparent)var(--volr-tw-shadow-alpha),transparent)}}.volr\\:blur-2xl{--volr-tw-blur:blur(var(--volr-blur-2xl));filter:var(--volr-tw-blur,)var(--volr-tw-brightness,)var(--volr-tw-contrast,)var(--volr-tw-grayscale,)var(--volr-tw-hue-rotate,)var(--volr-tw-invert,)var(--volr-tw-saturate,)var(--volr-tw-sepia,)var(--volr-tw-drop-shadow,)}.volr\\:transition-all{transition-property:all;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--volr-tw-gradient-from,--volr-tw-gradient-via,--volr-tw-gradient-to;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:duration-200{--volr-tw-duration:.2s;transition-duration:.2s}.volr\\:duration-300{--volr-tw-duration:.3s;transition-duration:.3s}.volr\\:duration-500{--volr-tw-duration:.5s;transition-duration:.5s}.volr\\:ease-out{--volr-tw-ease:var(--volr-ease-out);transition-timing-function:var(--volr-ease-out)}.volr\\:outline-none{--volr-tw-outline-style:none;outline-style:none}@media (hover:hover){.volr\\:hover\\:border-slate-200:hover{border-color:var(--volr-color-slate-200)}.volr\\:hover\\:bg-slate-50:hover{background-color:var(--volr-color-slate-50)}}.volr\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.volr\\:disabled\\:bg-slate-50:disabled{background-color:var(--volr-color-slate-50)}.volr-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}}@property --volr-tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --volr-tw-gradient-position{syntax:"*";inherits:false}@property --volr-tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-via-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --volr-tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --volr-tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --volr-tw-leading{syntax:"*";inherits:false}@property --volr-tw-font-weight{syntax:"*";inherits:false}@property --volr-tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-shadow-color{syntax:"*";inherits:false}@property --volr-tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-shadow-color{syntax:"*";inherits:false}@property --volr-tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-ring-color{syntax:"*";inherits:false}@property --volr-tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-ring-color{syntax:"*";inherits:false}@property --volr-tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-ring-inset{syntax:"*";inherits:false}@property --volr-tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --volr-tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --volr-tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-blur{syntax:"*";inherits:false}@property --volr-tw-brightness{syntax:"*";inherits:false}@property --volr-tw-contrast{syntax:"*";inherits:false}@property --volr-tw-grayscale{syntax:"*";inherits:false}@property --volr-tw-hue-rotate{syntax:"*";inherits:false}@property --volr-tw-invert{syntax:"*";inherits:false}@property --volr-tw-opacity{syntax:"*";inherits:false}@property --volr-tw-saturate{syntax:"*";inherits:false}@property --volr-tw-sepia{syntax:"*";inherits:false}@property --volr-tw-drop-shadow{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-color{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-drop-shadow-size{syntax:"*";inherits:false}@property --volr-tw-duration{syntax:"*";inherits:false}@property --volr-tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}';
339
+ var VOLR_SDK_CSS = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--volr-tw-translate-x:0;--volr-tw-translate-y:0;--volr-tw-translate-z:0;--volr-tw-space-y-reverse:0;--volr-tw-border-style:solid;--volr-tw-gradient-position:initial;--volr-tw-gradient-from:#0000;--volr-tw-gradient-via:#0000;--volr-tw-gradient-to:#0000;--volr-tw-gradient-stops:initial;--volr-tw-gradient-via-stops:initial;--volr-tw-gradient-from-position:0%;--volr-tw-gradient-via-position:50%;--volr-tw-gradient-to-position:100%;--volr-tw-leading:initial;--volr-tw-font-weight:initial;--volr-tw-shadow:0 0 #0000;--volr-tw-shadow-color:initial;--volr-tw-shadow-alpha:100%;--volr-tw-inset-shadow:0 0 #0000;--volr-tw-inset-shadow-color:initial;--volr-tw-inset-shadow-alpha:100%;--volr-tw-ring-color:initial;--volr-tw-ring-shadow:0 0 #0000;--volr-tw-inset-ring-color:initial;--volr-tw-inset-ring-shadow:0 0 #0000;--volr-tw-ring-inset:initial;--volr-tw-ring-offset-width:0px;--volr-tw-ring-offset-color:#fff;--volr-tw-ring-offset-shadow:0 0 #0000;--volr-tw-blur:initial;--volr-tw-brightness:initial;--volr-tw-contrast:initial;--volr-tw-grayscale:initial;--volr-tw-hue-rotate:initial;--volr-tw-invert:initial;--volr-tw-opacity:initial;--volr-tw-saturate:initial;--volr-tw-sepia:initial;--volr-tw-drop-shadow:initial;--volr-tw-drop-shadow-color:initial;--volr-tw-drop-shadow-alpha:100%;--volr-tw-drop-shadow-size:initial;--volr-tw-duration:initial;--volr-tw-ease:initial}}}@layer theme{:root,:host{--volr-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--volr-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--volr-color-red-50:oklch(97.1% .013 17.38);--volr-color-red-200:oklch(88.5% .062 18.334);--volr-color-red-500:oklch(63.7% .237 25.331);--volr-color-red-600:oklch(57.7% .245 27.325);--volr-color-red-700:oklch(50.5% .213 27.518);--volr-color-green-600:oklch(62.7% .194 149.214);--volr-color-emerald-300:oklch(84.5% .143 164.978);--volr-color-emerald-400:oklch(76.5% .177 163.223);--volr-color-emerald-500:oklch(69.6% .17 162.48);--volr-color-teal-400:oklch(77.7% .152 181.912);--volr-color-teal-500:oklch(70.4% .14 182.503);--volr-color-cyan-400:oklch(78.9% .154 211.53);--volr-color-rose-50:oklch(96.9% .015 12.422);--volr-color-rose-200:oklch(89.2% .058 10.001);--volr-color-rose-700:oklch(51.4% .222 16.935);--volr-color-rose-800:oklch(45.5% .188 13.697);--volr-color-slate-50:oklch(98.4% .003 247.858);--volr-color-slate-100:oklch(96.8% .007 247.896);--volr-color-slate-200:oklch(92.9% .013 255.508);--volr-color-slate-300:oklch(86.9% .022 252.894);--volr-color-slate-400:oklch(70.4% .04 256.788);--volr-color-slate-500:oklch(55.4% .046 257.417);--volr-color-slate-600:oklch(44.6% .043 257.281);--volr-color-slate-700:oklch(37.2% .044 257.287);--volr-color-slate-900:oklch(20.8% .042 265.755);--volr-color-gray-100:oklch(96.7% .003 264.542);--volr-color-gray-400:oklch(70.7% .022 261.325);--volr-color-gray-500:oklch(55.1% .027 264.364);--volr-color-gray-900:oklch(21% .034 264.665);--volr-color-black:#000;--volr-color-white:#fff;--volr-spacing:.25rem;--volr-container-md:28rem;--volr-container-4xl:56rem;--volr-text-xs:.75rem;--volr-text-xs--line-height:calc(1/.75);--volr-text-sm:.875rem;--volr-text-sm--line-height:calc(1.25/.875);--volr-text-base:1rem;--volr-text-base--line-height:calc(1.5/1);--volr-text-lg:1.125rem;--volr-text-lg--line-height:calc(1.75/1.125);--volr-text-xl:1.25rem;--volr-text-xl--line-height:calc(1.75/1.25);--volr-text-2xl:1.5rem;--volr-text-2xl--line-height:calc(2/1.5);--volr-text-8xl:6rem;--volr-text-8xl--line-height:1;--volr-font-weight-medium:500;--volr-font-weight-semibold:600;--volr-font-weight-bold:700;--volr-leading-relaxed:1.625;--volr-radius-lg:.5rem;--volr-radius-xl:.75rem;--volr-radius-2xl:1rem;--volr-radius-3xl:1.5rem;--volr-ease-out:cubic-bezier(0,0,.2,1);--volr-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--volr-blur-2xl:40px;--volr-default-transition-duration:.15s;--volr-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--volr-default-font-family:var(--volr-font-sans);--volr-default-mono-font-family:var(--volr-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--volr-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--volr-default-font-feature-settings,normal);font-variation-settings:var(--volr-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--volr-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--volr-default-mono-font-feature-settings,normal);font-variation-settings:var(--volr-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{--volr-primary-color:var(--volr-accent-color,#303030);--volr-font-family:var(--volr-custom-font,inherit)}*,:before,:after{box-sizing:border-box}*{font-family:var(--volr-font-family)}button,input,select,textarea{color:inherit;background-color:#0000}button{cursor:pointer;background-color:#0000}input::placeholder{color:#94a3b8}h1,h2,h3{color:#0f172a;margin:0;font-weight:700}h1{font-size:1.875rem;line-height:2.25rem}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.25rem;line-height:1.75rem}p{margin:0}}@layer components{.volr-dialog-overlay{inset:calc(var(--volr-spacing)*0);z-index:40;background-color:var(--volr-color-black);position:fixed}@supports (color:color-mix(in lab, red, red)){.volr-dialog-overlay{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr-dialog-content{z-index:50;border-radius:var(--volr-radius-2xl);border-style:var(--volr-tw-border-style);border-width:1px;border-color:var(--volr-color-slate-300);background-color:var(--volr-color-white);padding:calc(var(--volr-spacing)*7);--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow);width:calc(100% - 2rem);max-width:28rem;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (max-width:640px){.volr-dialog-content{top:auto;right:calc(var(--volr-spacing)*0);bottom:calc(var(--volr-spacing)*0);left:calc(var(--volr-spacing)*0);border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:100%;margin:0 auto;transform:translateY(0)}}.volr-dialog-close{top:calc(var(--volr-spacing)*4);right:calc(var(--volr-spacing)*4);height:calc(var(--volr-spacing)*8);width:calc(var(--volr-spacing)*8);color:var(--volr-color-slate-400);cursor:pointer;background-color:#0000;border:none;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.volr-dialog-close:hover{color:#475569;background-color:#f1f5f9}.volr-dialog-close:focus-visible{outline:none;box-shadow:0 0 0 2px #94a3b8b3}.volr-dialog-close-icon{height:calc(var(--volr-spacing)*4);width:calc(var(--volr-spacing)*4)}.volr-email-input{width:100%;color:inherit;background-color:#fff;border:1px solid #cbd5e1;border-radius:.5rem;outline:none;padding:.75rem .75rem .75rem 2.75rem;font-size:1rem;line-height:1.5}.volr-email-input::placeholder{color:#94a3b8}.volr-email-input:focus{border-color:#cbd5e1;box-shadow:0 0 0 2px #94a3b8b3}.volr-option-button{cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.75rem;width:100%;padding:.75rem;transition:background-color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out;display:flex}.volr-option-button:hover{background-color:#f8fafc;border-color:#e2e8f0}.volr-option-button:focus-visible{outline:none;box-shadow:0 0 0 2px #94a3b8b3}}@layer utilities{.volr\\:pointer-events-none{pointer-events:none}.volr\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.volr\\:absolute{position:absolute}.volr\\:fixed{position:fixed}.volr\\:relative{position:relative}.volr\\:inset-0{inset:calc(var(--volr-spacing)*0)}.volr\\:-top-3{top:calc(var(--volr-spacing)*-3)}.volr\\:top-1\\/2{top:50%}.volr\\:-right-3{right:calc(var(--volr-spacing)*-3)}.volr\\:right-0{right:calc(var(--volr-spacing)*0)}.volr\\:right-2{right:calc(var(--volr-spacing)*2)}.volr\\:bottom-0{bottom:calc(var(--volr-spacing)*0)}.volr\\:left-0{left:calc(var(--volr-spacing)*0)}.volr\\:left-3{left:calc(var(--volr-spacing)*3)}.volr\\:-z-10{z-index:calc(10*-1)}.volr\\:z-10{z-index:10}.volr\\:z-20{z-index:20}.volr\\:z-40{z-index:40}.volr\\:z-50{z-index:50}.volr\\:mx-auto{margin-inline:auto}.volr\\:my-6{margin-block:calc(var(--volr-spacing)*6)}.volr\\:my-8{margin-block:calc(var(--volr-spacing)*8)}.volr\\:mt-0\\.5{margin-top:calc(var(--volr-spacing)*.5)}.volr\\:mt-1{margin-top:calc(var(--volr-spacing)*1)}.volr\\:mt-2{margin-top:calc(var(--volr-spacing)*2)}.volr\\:mt-3{margin-top:calc(var(--volr-spacing)*3)}.volr\\:mt-4{margin-top:calc(var(--volr-spacing)*4)}.volr\\:mt-6{margin-top:calc(var(--volr-spacing)*6)}.volr\\:mt-8{margin-top:calc(var(--volr-spacing)*8)}.volr\\:mb-1{margin-bottom:calc(var(--volr-spacing)*1)}.volr\\:mb-2{margin-bottom:calc(var(--volr-spacing)*2)}.volr\\:mb-3{margin-bottom:calc(var(--volr-spacing)*3)}.volr\\:mb-4{margin-bottom:calc(var(--volr-spacing)*4)}.volr\\:mb-5{margin-bottom:calc(var(--volr-spacing)*5)}.volr\\:mb-6{margin-bottom:calc(var(--volr-spacing)*6)}.volr\\:mb-8{margin-bottom:calc(var(--volr-spacing)*8)}.volr\\:-ml-2{margin-left:calc(var(--volr-spacing)*-2)}.volr\\:flex{display:flex}.volr\\:grid{display:grid}.volr\\:inline-block{display:inline-block}.volr\\:inline-flex{display:inline-flex}.volr\\:h-1\\.5{height:calc(var(--volr-spacing)*1.5)}.volr\\:h-2{height:calc(var(--volr-spacing)*2)}.volr\\:h-8{height:calc(var(--volr-spacing)*8)}.volr\\:h-10{height:calc(var(--volr-spacing)*10)}.volr\\:h-14{height:calc(var(--volr-spacing)*14)}.volr\\:h-24{height:calc(var(--volr-spacing)*24)}.volr\\:h-40{height:calc(var(--volr-spacing)*40)}.volr\\:h-44{height:calc(var(--volr-spacing)*44)}.volr\\:h-48{height:calc(var(--volr-spacing)*48)}.volr\\:h-full{height:100%}.volr\\:h-px{height:1px}.volr\\:max-h-24{max-height:calc(var(--volr-spacing)*24)}.volr\\:max-h-96{max-height:calc(var(--volr-spacing)*96)}.volr\\:max-h-\\[85vh\\]{max-height:85vh}.volr\\:max-h-\\[90vh\\]{max-height:90vh}.volr\\:min-h-\\[120px\\]{min-height:120px}.volr\\:w-1\\.5{width:calc(var(--volr-spacing)*1.5)}.volr\\:w-2{width:calc(var(--volr-spacing)*2)}.volr\\:w-8{width:calc(var(--volr-spacing)*8)}.volr\\:w-10{width:calc(var(--volr-spacing)*10)}.volr\\:w-12{width:calc(var(--volr-spacing)*12)}.volr\\:w-24{width:calc(var(--volr-spacing)*24)}.volr\\:w-40{width:calc(var(--volr-spacing)*40)}.volr\\:w-44{width:calc(var(--volr-spacing)*44)}.volr\\:w-48{width:calc(var(--volr-spacing)*48)}.volr\\:w-full{width:100%}.volr\\:max-w-4xl{max-width:var(--volr-container-4xl)}.volr\\:max-w-full{max-width:100%}.volr\\:max-w-md{max-width:var(--volr-container-md)}.volr\\:max-w-none{max-width:none}.volr\\:min-w-0{min-width:calc(var(--volr-spacing)*0)}.volr\\:flex-1{flex:1}.volr\\:flex-shrink-0{flex-shrink:0}.volr\\:-translate-y-1\\/2{--volr-tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--volr-tw-translate-x)var(--volr-tw-translate-y)}.volr\\:animate-\\[volrFadeIn_0\\.2s_ease-out\\]{animation:.2s ease-out volrFadeIn}.volr\\:animate-pulse{animation:var(--volr-animate-pulse)}.volr\\:cursor-not-allowed{cursor:not-allowed}.volr\\:cursor-pointer{cursor:pointer}.volr\\:grid-cols-\\[minmax\\(0\\,1\\.1fr\\)_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.volr\\:flex-col{flex-direction:column}.volr\\:items-baseline{align-items:baseline}.volr\\:items-center{align-items:center}.volr\\:items-end{align-items:flex-end}.volr\\:items-start{align-items:flex-start}.volr\\:justify-between{justify-content:space-between}.volr\\:justify-center{justify-content:center}.volr\\:gap-1{gap:calc(var(--volr-spacing)*1)}.volr\\:gap-2{gap:calc(var(--volr-spacing)*2)}.volr\\:gap-3{gap:calc(var(--volr-spacing)*3)}.volr\\:gap-4{gap:calc(var(--volr-spacing)*4)}:where(.volr\\:space-y-2>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*2)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*2)*calc(1 - var(--volr-tw-space-y-reverse)))}:where(.volr\\:space-y-3>:not(:last-child)){--volr-tw-space-y-reverse:0;margin-block-start:calc(calc(var(--volr-spacing)*3)*var(--volr-tw-space-y-reverse));margin-block-end:calc(calc(var(--volr-spacing)*3)*calc(1 - var(--volr-tw-space-y-reverse)))}.volr\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.volr\\:overflow-hidden{overflow:hidden}.volr\\:overflow-visible{overflow:visible}.volr\\:overflow-y-auto{overflow-y:auto}.volr\\:rounded-2xl{border-radius:var(--volr-radius-2xl)}.volr\\:rounded-full{border-radius:3.40282e38px}.volr\\:rounded-lg{border-radius:var(--volr-radius-lg)}.volr\\:rounded-xl{border-radius:var(--volr-radius-xl)}.volr\\:rounded-t-3xl{border-top-left-radius:var(--volr-radius-3xl);border-top-right-radius:var(--volr-radius-3xl)}.volr\\:border{border-style:var(--volr-tw-border-style);border-width:1px}.volr\\:border-2{border-style:var(--volr-tw-border-style);border-width:2px}.volr\\:border-4{border-style:var(--volr-tw-border-style);border-width:4px}.volr\\:border-t{border-top-style:var(--volr-tw-border-style);border-top-width:1px}.volr\\:border-none{--volr-tw-border-style:none;border-style:none}.volr\\:border-red-200{border-color:var(--volr-color-red-200)}.volr\\:border-rose-200{border-color:var(--volr-color-rose-200)}.volr\\:border-slate-100{border-color:var(--volr-color-slate-100)}.volr\\:border-slate-200,.volr\\:border-slate-200\\/50{border-color:var(--volr-color-slate-200)}@supports (color:color-mix(in lab, red, red)){.volr\\:border-slate-200\\/50{border-color:color-mix(in oklab,var(--volr-color-slate-200)50%,transparent)}}.volr\\:border-slate-300{border-color:var(--volr-color-slate-300)}.volr\\:border-white{border-color:var(--volr-color-white)}.volr\\:bg-black\\/45{background-color:var(--volr-color-black)}@supports (color:color-mix(in lab, red, red)){.volr\\:bg-black\\/45{background-color:color-mix(in oklab,var(--volr-color-black)45%,transparent)}}.volr\\:bg-cyan-400{background-color:var(--volr-color-cyan-400)}.volr\\:bg-emerald-300{background-color:var(--volr-color-emerald-300)}.volr\\:bg-emerald-400{background-color:var(--volr-color-emerald-400)}.volr\\:bg-gray-100{background-color:var(--volr-color-gray-100)}.volr\\:bg-gray-400{background-color:var(--volr-color-gray-400)}.volr\\:bg-red-50{background-color:var(--volr-color-red-50)}.volr\\:bg-rose-50{background-color:var(--volr-color-rose-50)}.volr\\:bg-slate-50,.volr\\:bg-slate-50\\/50{background-color:var(--volr-color-slate-50)}@supports (color:color-mix(in lab, red, red)){.volr\\:bg-slate-50\\/50{background-color:color-mix(in oklab,var(--volr-color-slate-50)50%,transparent)}}.volr\\:bg-slate-100{background-color:var(--volr-color-slate-100)}.volr\\:bg-slate-200{background-color:var(--volr-color-slate-200)}.volr\\:bg-slate-500{background-color:var(--volr-color-slate-500)}.volr\\:bg-slate-700{background-color:var(--volr-color-slate-700)}.volr\\:bg-teal-400{background-color:var(--volr-color-teal-400)}.volr\\:bg-transparent{background-color:#0000}.volr\\:bg-white{background-color:var(--volr-color-white)}.volr\\:bg-gradient-to-br{--volr-tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--volr-tw-gradient-stops))}.volr\\:from-emerald-400{--volr-tw-gradient-from:var(--volr-color-emerald-400);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:from-emerald-500{--volr-tw-gradient-from:var(--volr-color-emerald-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:to-teal-500{--volr-tw-gradient-to:var(--volr-color-teal-500);--volr-tw-gradient-stops:var(--volr-tw-gradient-via-stops,var(--volr-tw-gradient-position),var(--volr-tw-gradient-from)var(--volr-tw-gradient-from-position),var(--volr-tw-gradient-to)var(--volr-tw-gradient-to-position))}.volr\\:fill-slate-500{fill:var(--volr-color-slate-500)}.volr\\:p-1{padding:calc(var(--volr-spacing)*1)}.volr\\:p-2{padding:calc(var(--volr-spacing)*2)}.volr\\:p-3{padding:calc(var(--volr-spacing)*3)}.volr\\:p-4{padding:calc(var(--volr-spacing)*4)}.volr\\:p-5{padding:calc(var(--volr-spacing)*5)}.volr\\:p-8{padding:calc(var(--volr-spacing)*8)}.volr\\:px-2{padding-inline:calc(var(--volr-spacing)*2)}.volr\\:px-3{padding-inline:calc(var(--volr-spacing)*3)}.volr\\:px-4{padding-inline:calc(var(--volr-spacing)*4)}.volr\\:px-6{padding-inline:calc(var(--volr-spacing)*6)}.volr\\:py-0\\.5{padding-block:calc(var(--volr-spacing)*.5)}.volr\\:py-1\\.5{padding-block:calc(var(--volr-spacing)*1.5)}.volr\\:py-2{padding-block:calc(var(--volr-spacing)*2)}.volr\\:py-3{padding-block:calc(var(--volr-spacing)*3)}.volr\\:py-6{padding-block:calc(var(--volr-spacing)*6)}.volr\\:py-8{padding-block:calc(var(--volr-spacing)*8)}.volr\\:py-12{padding-block:calc(var(--volr-spacing)*12)}.volr\\:pt-3{padding-top:calc(var(--volr-spacing)*3)}.volr\\:pt-4{padding-top:calc(var(--volr-spacing)*4)}.volr\\:text-center{text-align:center}.volr\\:text-left{text-align:left}.volr\\:font-mono{font-family:var(--volr-font-mono)}.volr\\:text-2xl{font-size:var(--volr-text-2xl);line-height:var(--volr-tw-leading,var(--volr-text-2xl--line-height))}.volr\\:text-8xl{font-size:var(--volr-text-8xl);line-height:var(--volr-tw-leading,var(--volr-text-8xl--line-height))}.volr\\:text-base{font-size:var(--volr-text-base);line-height:var(--volr-tw-leading,var(--volr-text-base--line-height))}.volr\\:text-lg{font-size:var(--volr-text-lg);line-height:var(--volr-tw-leading,var(--volr-text-lg--line-height))}.volr\\:text-sm{font-size:var(--volr-text-sm);line-height:var(--volr-tw-leading,var(--volr-text-sm--line-height))}.volr\\:text-xl{font-size:var(--volr-text-xl);line-height:var(--volr-tw-leading,var(--volr-text-xl--line-height))}.volr\\:text-xs{font-size:var(--volr-text-xs);line-height:var(--volr-tw-leading,var(--volr-text-xs--line-height))}.volr\\:leading-relaxed{--volr-tw-leading:var(--volr-leading-relaxed);line-height:var(--volr-leading-relaxed)}.volr\\:font-bold{--volr-tw-font-weight:var(--volr-font-weight-bold);font-weight:var(--volr-font-weight-bold)}.volr\\:font-medium{--volr-tw-font-weight:var(--volr-font-weight-medium);font-weight:var(--volr-font-weight-medium)}.volr\\:font-semibold{--volr-tw-font-weight:var(--volr-font-weight-semibold);font-weight:var(--volr-font-weight-semibold)}.volr\\:break-all{word-break:break-all}.volr\\:text-gray-500{color:var(--volr-color-gray-500)}.volr\\:text-gray-900{color:var(--volr-color-gray-900)}.volr\\:text-green-600{color:var(--volr-color-green-600)}.volr\\:text-red-500{color:var(--volr-color-red-500)}.volr\\:text-red-600{color:var(--volr-color-red-600)}.volr\\:text-red-700{color:var(--volr-color-red-700)}.volr\\:text-rose-700{color:var(--volr-color-rose-700)}.volr\\:text-rose-800{color:var(--volr-color-rose-800)}.volr\\:text-slate-400{color:var(--volr-color-slate-400)}.volr\\:text-slate-500{color:var(--volr-color-slate-500)}.volr\\:text-slate-600{color:var(--volr-color-slate-600)}.volr\\:text-slate-700{color:var(--volr-color-slate-700)}.volr\\:text-slate-900{color:var(--volr-color-slate-900)}.volr\\:text-white{color:var(--volr-color-white)}.volr\\:capitalize{text-transform:capitalize}.volr\\:underline{text-decoration-line:underline}.volr\\:opacity-0{opacity:0}.volr\\:opacity-30{opacity:.3}.volr\\:shadow-2xl{--volr-tw-shadow:0 25px 50px -12px var(--volr-tw-shadow-color,#00000040);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-lg{--volr-tw-shadow:0 10px 15px -3px var(--volr-tw-shadow-color,#0000001a),0 4px 6px -4px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-sm{--volr-tw-shadow:0 1px 3px 0 var(--volr-tw-shadow-color,#0000001a),0 1px 2px -1px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-xl{--volr-tw-shadow:0 20px 25px -5px var(--volr-tw-shadow-color,#0000001a),0 8px 10px -6px var(--volr-tw-shadow-color,#0000001a);box-shadow:var(--volr-tw-inset-shadow),var(--volr-tw-inset-ring-shadow),var(--volr-tw-ring-offset-shadow),var(--volr-tw-ring-shadow),var(--volr-tw-shadow)}.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:var(--volr-color-emerald-500)}@supports (color:color-mix(in lab, red, red)){.volr\\:shadow-emerald-500\\/50{--volr-tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--volr-color-emerald-500)50%,transparent)var(--volr-tw-shadow-alpha),transparent)}}.volr\\:blur-2xl{--volr-tw-blur:blur(var(--volr-blur-2xl));filter:var(--volr-tw-blur,)var(--volr-tw-brightness,)var(--volr-tw-contrast,)var(--volr-tw-grayscale,)var(--volr-tw-hue-rotate,)var(--volr-tw-invert,)var(--volr-tw-saturate,)var(--volr-tw-sepia,)var(--volr-tw-drop-shadow,)}.volr\\:transition-all{transition-property:all;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--volr-tw-gradient-from,--volr-tw-gradient-via,--volr-tw-gradient-to;transition-timing-function:var(--volr-tw-ease,var(--volr-default-transition-timing-function));transition-duration:var(--volr-tw-duration,var(--volr-default-transition-duration))}.volr\\:duration-200{--volr-tw-duration:.2s;transition-duration:.2s}.volr\\:duration-300{--volr-tw-duration:.3s;transition-duration:.3s}.volr\\:duration-500{--volr-tw-duration:.5s;transition-duration:.5s}.volr\\:ease-out{--volr-tw-ease:var(--volr-ease-out);transition-timing-function:var(--volr-ease-out)}.volr\\:outline-none{--volr-tw-outline-style:none;outline-style:none}@media (hover:hover){.volr\\:hover\\:border-slate-200:hover{border-color:var(--volr-color-slate-200)}.volr\\:hover\\:bg-slate-50:hover{background-color:var(--volr-color-slate-50)}}.volr\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.volr\\:disabled\\:bg-slate-50:disabled{background-color:var(--volr-color-slate-50)}.volr-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}}@property --volr-tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --volr-tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --volr-tw-gradient-position{syntax:"*";inherits:false}@property --volr-tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --volr-tw-gradient-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-via-stops{syntax:"*";inherits:false}@property --volr-tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --volr-tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --volr-tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --volr-tw-leading{syntax:"*";inherits:false}@property --volr-tw-font-weight{syntax:"*";inherits:false}@property --volr-tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-shadow-color{syntax:"*";inherits:false}@property --volr-tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-shadow-color{syntax:"*";inherits:false}@property --volr-tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-ring-color{syntax:"*";inherits:false}@property --volr-tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-inset-ring-color{syntax:"*";inherits:false}@property --volr-tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-ring-inset{syntax:"*";inherits:false}@property --volr-tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --volr-tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --volr-tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --volr-tw-blur{syntax:"*";inherits:false}@property --volr-tw-brightness{syntax:"*";inherits:false}@property --volr-tw-contrast{syntax:"*";inherits:false}@property --volr-tw-grayscale{syntax:"*";inherits:false}@property --volr-tw-hue-rotate{syntax:"*";inherits:false}@property --volr-tw-invert{syntax:"*";inherits:false}@property --volr-tw-opacity{syntax:"*";inherits:false}@property --volr-tw-saturate{syntax:"*";inherits:false}@property --volr-tw-sepia{syntax:"*";inherits:false}@property --volr-tw-drop-shadow{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-color{syntax:"*";inherits:false}@property --volr-tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --volr-tw-drop-shadow-size{syntax:"*";inherits:false}@property --volr-tw-duration{syntax:"*";inherits:false}@property --volr-tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}';
329
340
  function ShadowPortal({ children }) {
330
341
  const [shadowHost, setShadowHost] = useState(null);
331
342
  const [mountNode, setMountNode] = useState(null);
@@ -1211,6 +1222,34 @@ function MpcConnectView({
1211
1222
  }
1212
1223
  );
1213
1224
  }
1225
+ var CopyButton = ({ text, className, onCopy }) => {
1226
+ const [copied, setCopied] = useState(false);
1227
+ const handleCopy = async () => {
1228
+ try {
1229
+ await navigator.clipboard.writeText(text);
1230
+ setCopied(true);
1231
+ setTimeout(() => setCopied(false), 2e3);
1232
+ onCopy?.();
1233
+ } catch (error) {
1234
+ console.error("Copy failed:", error);
1235
+ }
1236
+ };
1237
+ return /* @__PURE__ */ jsx(
1238
+ "button",
1239
+ {
1240
+ onClick: handleCopy,
1241
+ className: cn(
1242
+ "volr:p-2 volr:rounded-lg volr:text-slate-400 hover:volr:text-slate-700 hover:volr:bg-white volr:transition-all",
1243
+ className
1244
+ ),
1245
+ "aria-label": "Copy",
1246
+ children: copied ? /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" }) }) : /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
1247
+ /* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }),
1248
+ /* @__PURE__ */ jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })
1249
+ ] })
1250
+ }
1251
+ );
1252
+ };
1214
1253
  function OptionButton({
1215
1254
  icon,
1216
1255
  title,
@@ -1373,7 +1412,7 @@ function PoweredBy() {
1373
1412
  "path",
1374
1413
  {
1375
1414
  d: "M138.4 284L-0.00019535 0H87.1998L184.4 208L281.2 0H363.6L225.2 284H138.4ZM471.931 288.8C453.531 288.8 435.931 286.533 419.131 282C402.331 277.2 387.264 270.267 373.931 261.2C360.864 252.133 350.464 240.933 342.731 227.6C335.264 214.267 331.531 198.8 331.531 181.2C331.531 157.733 337.664 138 349.931 122C362.464 106 379.398 94 400.731 86C422.064 77.7333 445.798 73.6 471.931 73.6C498.064 73.6 521.664 77.7333 542.731 86C564.064 94 580.864 106 593.131 122C605.664 138 611.931 157.733 611.931 181.2C611.931 198.8 608.064 214.267 600.331 227.6C592.864 240.933 582.464 252.133 569.131 261.2C556.064 270.267 541.131 277.2 524.331 282C507.531 286.533 490.064 288.8 471.931 288.8ZM471.931 236C490.598 236 505.531 231.2 516.731 221.6C528.198 211.733 533.931 198.933 533.931 183.2V179.2C533.931 163.2 528.198 150.4 516.731 140.8C505.531 131.2 490.598 126.4 471.931 126.4C453.264 126.4 438.198 131.2 426.731 140.8C415.264 150.4 409.531 163.2 409.531 179.2V183.2C409.531 198.933 415.264 211.733 426.731 221.6C438.198 231.2 453.264 236 471.931 236ZM643.865 284V0H721.465V284H643.865ZM763.006 284V78.4H839.406V106.8C848.739 95.3333 860.473 86.9333 874.606 81.6C888.739 76.2667 903.406 73.6 918.606 73.6C921.539 73.6 925.006 73.7333 929.006 74C933.006 74.2667 937.406 74.8 942.206 75.6V135.2C935.006 134.4 926.873 133.733 917.806 133.2C909.006 132.667 900.073 132.8 891.006 133.6C881.939 134.4 873.539 136.4 865.806 139.6C858.339 142.533 852.206 147.333 847.406 154C842.873 160.667 840.606 169.733 840.606 181.2V284H763.006Z",
1376
- fill: "#303030"
1415
+ className: "volr:fill-slate-500"
1377
1416
  }
1378
1417
  )
1379
1418
  }
@@ -1391,7 +1430,7 @@ var variantMap = {
1391
1430
  ghost: { backgroundColor: "transparent", color: "#475569", border: "none" },
1392
1431
  outline: { backgroundColor: "transparent", color: "#475569", border: "1px solid #e2e8f0" }
1393
1432
  };
1394
- var Button = React5.forwardRef(
1433
+ var Button = React.forwardRef(
1395
1434
  ({ variant = "primary", size = "md", fullWidth, className, style, disabled, children, ...props }, ref) => {
1396
1435
  const { accentColor } = useVolrUI();
1397
1436
  const sizeStyle = sizeMap[size];
@@ -1709,34 +1748,6 @@ function CodeInputScreen({ email, onSubmit, onResend }) {
1709
1748
  )
1710
1749
  ] });
1711
1750
  }
1712
- var CopyButton = ({ text, className, onCopy }) => {
1713
- const [copied, setCopied] = useState(false);
1714
- const handleCopy = async () => {
1715
- try {
1716
- await navigator.clipboard.writeText(text);
1717
- setCopied(true);
1718
- setTimeout(() => setCopied(false), 2e3);
1719
- onCopy?.();
1720
- } catch (error) {
1721
- console.error("Copy failed:", error);
1722
- }
1723
- };
1724
- return /* @__PURE__ */ jsx(
1725
- "button",
1726
- {
1727
- onClick: handleCopy,
1728
- className: cn(
1729
- "volr:p-2 volr:rounded-lg volr:text-slate-400 hover:volr:text-slate-700 hover:volr:bg-white volr:transition-all",
1730
- className
1731
- ),
1732
- "aria-label": "Copy",
1733
- children: copied ? /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" }) }) : /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
1734
- /* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }),
1735
- /* @__PURE__ */ jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })
1736
- ] })
1737
- }
1738
- );
1739
- };
1740
1751
 
1741
1752
  // node_modules/@noble/hashes/_u64.js
1742
1753
  var U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
@@ -2178,13 +2189,7 @@ Issued At: ${issuedAt}`;
2178
2189
  account.slice(-4)
2179
2190
  ] })
2180
2191
  ] }),
2181
- /* @__PURE__ */ jsx(
2182
- CopyButton,
2183
- {
2184
- text: account,
2185
- className: "volr:p-1.5 volr:bg-white volr:rounded-md volr:shadow-sm"
2186
- }
2187
- )
2192
+ /* @__PURE__ */ jsx(CopyButton, { text: account })
2188
2193
  ] }),
2189
2194
  error && /* @__PURE__ */ jsx("div", { className: "volr:mb-4 volr:p-3 volr:bg-red-50 volr:border volr:border-red-200 volr:rounded-lg volr:text-red-700 volr:text-sm", children: error }),
2190
2195
  step === "connect" ? /* @__PURE__ */ jsx(
@@ -2226,138 +2231,6 @@ Issued At: ${issuedAt}`;
2226
2231
  }
2227
2232
  );
2228
2233
  }
2229
- function LoginSuccessScreen({
2230
- onClose,
2231
- delay = 1500
2232
- }) {
2233
- const { t } = useI18n();
2234
- const { accentColor } = useVolrUI();
2235
- useEffect(() => {
2236
- const timer = setTimeout(() => {
2237
- onClose();
2238
- }, delay);
2239
- return () => {
2240
- clearTimeout(timer);
2241
- };
2242
- }, [onClose, delay]);
2243
- return /* @__PURE__ */ jsxs("div", { className: "volr:flex volr:flex-col volr:items-center volr:justify-center volr:py-12 volr:px-4", children: [
2244
- /* @__PURE__ */ jsxs("div", { className: "volr:relative volr:mb-8", children: [
2245
- /* @__PURE__ */ jsx(
2246
- "div",
2247
- {
2248
- className: "volr:absolute volr:inset-0 volr:rounded-full volr:blur-2xl volr:opacity-30",
2249
- style: {
2250
- backgroundColor: accentColor,
2251
- animation: "volr-pulse 2s ease-in-out infinite"
2252
- }
2253
- }
2254
- ),
2255
- /* @__PURE__ */ jsx(
2256
- "div",
2257
- {
2258
- className: "volr:relative volr:w-24 volr:h-24 volr:rounded-full volr:flex volr:items-center volr:justify-center volr:shadow-lg",
2259
- style: {
2260
- backgroundColor: accentColor + "c0",
2261
- animation: "volr-scale-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards"
2262
- },
2263
- children: /* @__PURE__ */ jsx(
2264
- "svg",
2265
- {
2266
- width: "48",
2267
- height: "48",
2268
- viewBox: "0 0 24 24",
2269
- fill: "none",
2270
- xmlns: "http://www.w3.org/2000/svg",
2271
- style: {
2272
- animation: "volr-fade-in 0.3s ease-out 0.3s both"
2273
- },
2274
- children: /* @__PURE__ */ jsx(
2275
- "path",
2276
- {
2277
- d: "M5 13L9 17L19 7",
2278
- stroke: "white",
2279
- strokeWidth: "2.5",
2280
- strokeLinecap: "round",
2281
- strokeLinejoin: "round",
2282
- style: {
2283
- strokeDasharray: "24",
2284
- strokeDashoffset: "24",
2285
- animation: "volr-check-draw 0.4s ease-out 0.3s forwards"
2286
- }
2287
- }
2288
- )
2289
- }
2290
- )
2291
- }
2292
- )
2293
- ] }),
2294
- /* @__PURE__ */ jsxs(
2295
- "div",
2296
- {
2297
- className: "volr:text-center volr:space-y-2",
2298
- style: {
2299
- animation: "volr-fade-in-up 0.5s ease-out 0.5s both"
2300
- },
2301
- children: [
2302
- /* @__PURE__ */ jsx("p", { className: "volr:text-2xl volr:font-semibold volr:text-slate-900 volr:mb-3", children: t("success.title") }),
2303
- /* @__PURE__ */ jsx("p", { className: "volr:text-base volr:text-slate-600", children: t("success.message") || "You're all set. Redirecting..." })
2304
- ]
2305
- }
2306
- ),
2307
- /* @__PURE__ */ jsx("style", { children: `
2308
- @keyframes volr-scale-in {
2309
- 0% {
2310
- transform: scale(0);
2311
- opacity: 0;
2312
- }
2313
- 100% {
2314
- transform: scale(1);
2315
- opacity: 1;
2316
- }
2317
- }
2318
-
2319
- @keyframes volr-check-draw {
2320
- 0% {
2321
- stroke-dashoffset: 24;
2322
- }
2323
- 100% {
2324
- stroke-dashoffset: 0;
2325
- }
2326
- }
2327
-
2328
- @keyframes volr-fade-in {
2329
- 0% {
2330
- opacity: 0;
2331
- }
2332
- 100% {
2333
- opacity: 1;
2334
- }
2335
- }
2336
-
2337
- @keyframes volr-fade-in-up {
2338
- 0% {
2339
- opacity: 0;
2340
- transform: translateY(10px);
2341
- }
2342
- 100% {
2343
- opacity: 1;
2344
- transform: translateY(0);
2345
- }
2346
- }
2347
-
2348
- @keyframes volr-pulse {
2349
- 0%, 100% {
2350
- transform: scale(1);
2351
- opacity: 0.3;
2352
- }
2353
- 50% {
2354
- transform: scale(1.1);
2355
- opacity: 0.2;
2356
- }
2357
- }
2358
- ` })
2359
- ] });
2360
- }
2361
2234
  function SigninModal({ isOpen, onClose, onError }) {
2362
2235
  const { logout, user } = useVolrContext();
2363
2236
  const { appName, branding } = useVolrUI();
@@ -2392,20 +2265,20 @@ function SigninModal({ isOpen, onClose, onError }) {
2392
2265
  const handleCodeSubmit = async (code) => {
2393
2266
  const result = await verifyEmailCode(email, code);
2394
2267
  if (result.keyStorageType) {
2395
- setCurrentScreen("success");
2268
+ onClose();
2396
2269
  return;
2397
2270
  }
2398
2271
  setCurrentScreen("passkey-setup");
2399
2272
  };
2400
2273
  const handleSiweSuccess = (data) => {
2401
2274
  if (data.keyStorageType) {
2402
- setCurrentScreen("success");
2275
+ onClose();
2403
2276
  return;
2404
2277
  }
2405
2278
  setCurrentScreen("passkey-setup");
2406
2279
  };
2407
2280
  const handlePasskeyComplete = () => {
2408
- setCurrentScreen("success");
2281
+ onClose();
2409
2282
  };
2410
2283
  const handlePasskeyError = (error) => {
2411
2284
  if (onError) {
@@ -2424,11 +2297,6 @@ function SigninModal({ isOpen, onClose, onError }) {
2424
2297
  }
2425
2298
  }
2426
2299
  };
2427
- const handleSuccessClose = () => {
2428
- setCurrentScreen("method-select");
2429
- setEmail("");
2430
- onClose();
2431
- };
2432
2300
  const handleBackdropClick = (_e) => {
2433
2301
  if (currentScreen !== "passkey-setup" || hasPasskey) {
2434
2302
  setCurrentScreen("method-select");
@@ -2493,12 +2361,10 @@ function SigninModal({ isOpen, onClose, onError }) {
2493
2361
  onComplete: handlePasskeyComplete,
2494
2362
  onError: handlePasskeyError,
2495
2363
  onLogout: handleLogout,
2496
- onClose: handleSuccessClose
2364
+ onClose
2497
2365
  },
2498
2366
  "passkey-setup"
2499
2367
  );
2500
- case "success":
2501
- return /* @__PURE__ */ jsx(LoginSuccessScreen, { onClose: handleSuccessClose }, "success");
2502
2368
  default:
2503
2369
  return null;
2504
2370
  }
@@ -2533,14 +2399,70 @@ function SigninModal({ isOpen, onClose, onError }) {
2533
2399
  }
2534
2400
  );
2535
2401
  }
2402
+ function AccountModal({ isOpen, onClose, onError }) {
2403
+ const { user, logout } = useVolrContext();
2404
+ const { t } = useI18n();
2405
+ const [isLoggingOut, setIsLoggingOut] = useState(false);
2406
+ if (!user) {
2407
+ return /* @__PURE__ */ jsx(SigninModal, { isOpen, onClose, onError });
2408
+ }
2409
+ const handleLogout = async () => {
2410
+ setIsLoggingOut(true);
2411
+ try {
2412
+ await logout();
2413
+ onClose();
2414
+ } catch (error) {
2415
+ if (onError) {
2416
+ onError(error instanceof Error ? error : new Error("Logout failed"));
2417
+ }
2418
+ } finally {
2419
+ setIsLoggingOut(false);
2420
+ }
2421
+ };
2422
+ const displayAddress = user.evmAddress ? `${user.evmAddress.slice(0, 6)}...${user.evmAddress.slice(-4)}` : null;
2423
+ return /* @__PURE__ */ jsxs(Modal, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: [
2424
+ /* @__PURE__ */ jsx(ModalHeader, { onClose }),
2425
+ /* @__PURE__ */ jsxs("div", { children: [
2426
+ /* @__PURE__ */ jsx("p", { className: "volr:text-xl volr:font-semibold volr:text-slate-900 volr:mb-4 volr:text-center", children: t("account.title") }),
2427
+ /* @__PURE__ */ jsxs("div", { className: "volr:bg-slate-50 volr:rounded-xl volr:p-4 volr:mb-4", children: [
2428
+ user.evmAddress && /* @__PURE__ */ jsxs("div", { className: "volr:flex volr:items-center volr:justify-between volr:gap-3", children: [
2429
+ /* @__PURE__ */ jsxs("div", { className: "volr:flex-1 volr:min-w-0", children: [
2430
+ /* @__PURE__ */ jsx("p", { className: "volr:text-xs volr:text-slate-500 volr:mb-1", children: t("account.walletAddress") }),
2431
+ /* @__PURE__ */ jsx("p", { className: "volr:font-mono volr:text-sm volr:font-medium volr:text-slate-900", children: displayAddress })
2432
+ ] }),
2433
+ /* @__PURE__ */ jsx(
2434
+ CopyButton,
2435
+ {
2436
+ text: user.evmAddress,
2437
+ className: "volr:flex-shrink-0"
2438
+ }
2439
+ )
2440
+ ] }),
2441
+ user.email && !user.email.includes("@wallet.") && /* @__PURE__ */ jsxs("div", { className: "volr:mt-4 volr:pt-4 volr:border-t volr:border-slate-200", children: [
2442
+ /* @__PURE__ */ jsx("p", { className: "volr:text-xs volr:text-slate-500 volr:mb-1", children: t("account.email") }),
2443
+ /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:font-medium volr:text-slate-900", children: user.email })
2444
+ ] })
2445
+ ] }),
2446
+ /* @__PURE__ */ jsx(
2447
+ "button",
2448
+ {
2449
+ onClick: handleLogout,
2450
+ disabled: isLoggingOut,
2451
+ className: "volr:w-full volr:py-3 volr:px-4 volr:rounded-lg volr:border volr:border-slate-200 volr:text-slate-700 volr:font-medium volr:text-sm volr:transition-colors hover:volr:bg-slate-50 hover:volr:border-slate-300 disabled:volr:opacity-50 disabled:volr:cursor-not-allowed",
2452
+ children: isLoggingOut ? t("common.loading") : t("account.logout")
2453
+ }
2454
+ )
2455
+ ] })
2456
+ ] });
2457
+ }
2536
2458
  function AssetSelectView({
2537
2459
  assets,
2538
2460
  onSelect
2539
2461
  }) {
2540
2462
  const { t } = useI18n();
2541
- return /* @__PURE__ */ jsxs("div", { className: "volr:px-6 volr:pb-6", children: [
2542
- /* @__PURE__ */ jsx("p", { className: "volr:text-2xl volr:font-bold volr:text-slate-900 volr:mb-2 volr:text-center", children: t("deposit.selectTitle") }),
2543
- /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-slate-500 volr:mb-8 volr:text-center", children: "Supported token" }),
2463
+ return /* @__PURE__ */ jsxs("div", { children: [
2464
+ /* @__PURE__ */ jsx("p", { className: "volr:text-xl volr:font-semibold volr:text-slate-900 volr:mb-1 volr:text-center", children: t("deposit.selectTitle") }),
2465
+ /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-slate-500 volr:mb-4 volr:text-center", children: "Supported token" }),
2544
2466
  /* @__PURE__ */ jsx("div", { className: "volr:space-y-3", children: assets.map((a, idx) => {
2545
2467
  const isNative = a.token === "native";
2546
2468
  const tokenSymbol = isNative ? "ETH" : a.token.symbol;
@@ -2563,7 +2485,7 @@ function AssetSelectView({
2563
2485
  src: a.token.iconUrl,
2564
2486
  className: "volr:w-10 volr:h-10 volr:rounded-full volr:border volr:border-slate-200"
2565
2487
  }
2566
- ) : /* @__PURE__ */ jsx("div", { className: "volr:w-10 volr:h-10 volr:rounded-full volr:bg-gradient-to-br volr:from-blue-500 volr:to-purple-600 volr:flex volr:items-center volr:justify-center volr:text-white volr:font-bold volr:text-sm", children: tokenSymbol.slice(0, 2) }) }),
2488
+ ) : /* @__PURE__ */ jsx("div", { className: "volr:w-10 volr:h-10 volr:rounded-full volr:bg-slate-700 volr:flex volr:items-center volr:justify-center volr:text-white volr:font-bold volr:text-sm", children: tokenSymbol.slice(0, 2) }) }),
2567
2489
  /* @__PURE__ */ jsxs("div", { className: "volr:flex-1 volr:min-w-0", children: [
2568
2490
  /* @__PURE__ */ jsxs("div", { className: "volr:flex volr:items-center volr:gap-2 volr:mb-1", children: [
2569
2491
  /* @__PURE__ */ jsx("span", { className: "volr:text-base volr:font-semibold volr:text-slate-900", children: tokenSymbol }),
@@ -2583,7 +2505,7 @@ function AssetSelectView({
2583
2505
  }) })
2584
2506
  ] });
2585
2507
  }
2586
- var TextLinkButton = React5.forwardRef(({ showArrow = false, className, children, ...props }, ref) => {
2508
+ var TextLinkButton = React.forwardRef(({ showArrow = false, className, children, ...props }, ref) => {
2587
2509
  return /* @__PURE__ */ jsxs(
2588
2510
  "button",
2589
2511
  {
@@ -2608,8 +2530,8 @@ var OtherTokenModal = ({
2608
2530
  }) => {
2609
2531
  return /* @__PURE__ */ jsxs(Modal, { open, onOpenChange, children: [
2610
2532
  /* @__PURE__ */ jsx(ModalHeader, { onClose: () => onOpenChange(false) }),
2611
- /* @__PURE__ */ jsxs("div", { className: "volr:px-6 volr:pb-6 volr:text-center", children: [
2612
- /* @__PURE__ */ jsx("p", { className: "volr:text-lg volr:font-semibold volr:text-slate-900 volr:mb-4", children: "Coming Soon" }),
2533
+ /* @__PURE__ */ jsxs("div", { className: "volr:text-center", children: [
2534
+ /* @__PURE__ */ jsx("p", { className: "volr:text-lg volr:font-semibold volr:text-slate-900 volr:mb-2", children: "Coming Soon" }),
2613
2535
  /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-slate-600", children: "Swap and bridge recommendations will be available here soon." })
2614
2536
  ] })
2615
2537
  ] });
@@ -3020,23 +2942,23 @@ function DepositQRView(props) {
3020
2942
  const tokenSymbol = props.asset === "native" ? "ETH" : props.asset.symbol;
3021
2943
  const displayChainName = chainName || `Chain ${props.chainId}`;
3022
2944
  const decimals = props.asset === "native" ? 18 : props.asset.decimals;
3023
- return /* @__PURE__ */ jsxs("div", { className: "volr:relative volr:px-5 volr:pb-5", children: [
3024
- /* @__PURE__ */ jsxs("div", { className: "volr:mb-8", children: [
3025
- /* @__PURE__ */ jsx("p", { className: "volr:text-2xl volr:font-semibold volr:text-slate-900 volr:mb-3", children: t("deposit.qrTitle") }),
2945
+ return /* @__PURE__ */ jsxs("div", { className: "volr:relative", children: [
2946
+ /* @__PURE__ */ jsxs("div", { className: "volr:mb-4", children: [
2947
+ /* @__PURE__ */ jsx("p", { className: "volr:text-xl volr:font-semibold volr:text-slate-900 volr:mb-2", children: t("deposit.qrTitle") }),
3026
2948
  /* @__PURE__ */ jsxs("div", { className: "volr:inline-flex volr:items-center volr:gap-2 volr:px-3 volr:py-1.5 volr:rounded-lg volr:bg-slate-100", children: [
3027
2949
  /* @__PURE__ */ jsx("span", { className: "volr:text-sm volr:font-medium volr:text-slate-700", children: tokenSymbol }),
3028
2950
  /* @__PURE__ */ jsx("span", { className: "volr:text-slate-400", children: "\u2022" }),
3029
2951
  /* @__PURE__ */ jsx("span", { className: "volr:text-sm volr:text-slate-500", children: displayChainName })
3030
2952
  ] })
3031
2953
  ] }),
3032
- /* @__PURE__ */ jsx("div", { className: "volr:flex volr:justify-center volr:mb-4", children: /* @__PURE__ */ jsxs("div", { className: "volr:relative", children: [
3033
- /* @__PURE__ */ jsx("div", { className: "volr:relative volr:rounded-2xl volr:bg-white volr:p-5 volr:shadow-sm volr:border volr:border-slate-200/50 volr:z-10", children: /* @__PURE__ */ jsx(
2954
+ /* @__PURE__ */ jsx("div", { className: "volr:flex volr:justify-center volr:mb-3", children: /* @__PURE__ */ jsxs("div", { className: "volr:relative", children: [
2955
+ /* @__PURE__ */ jsx("div", { className: "volr:relative volr:rounded-xl volr:bg-white volr:p-3 volr:shadow-sm volr:border volr:border-slate-200/50 volr:z-10", children: /* @__PURE__ */ jsx(
3034
2956
  "img",
3035
2957
  {
3036
2958
  alt: "Deposit QR",
3037
- width: 240,
3038
- height: 240,
3039
- src: `https://api.qrserver.com/v1/create-qr-code/?size=240x240&data=${encodeURIComponent(
2959
+ width: 200,
2960
+ height: 200,
2961
+ src: `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(
3040
2962
  eip681
3041
2963
  )}`,
3042
2964
  className: "volr:rounded-lg volr:relative volr:z-10"
@@ -3044,12 +2966,12 @@ function DepositQRView(props) {
3044
2966
  ) }),
3045
2967
  /* @__PURE__ */ jsx(DepositQRStatusOverlay, { status: status.state })
3046
2968
  ] }) }),
3047
- status.state === "listening" && /* @__PURE__ */ jsxs("div", { className: "volr:flex volr:items-center volr:justify-center volr:gap-2 volr:mb-4", children: [
3048
- /* @__PURE__ */ jsx("div", { className: "volr:w-1.5 volr:h-1.5 volr:bg-blue-500 volr:rounded-full volr:animate-pulse" }),
3049
- /* @__PURE__ */ jsx("span", { className: "volr:text-xs volr:text-slate-600", children: t("deposit.listening") })
2969
+ status.state === "listening" && /* @__PURE__ */ jsxs("div", { className: "volr:flex volr:items-center volr:justify-center volr:gap-2 volr:mb-3", children: [
2970
+ /* @__PURE__ */ jsx("div", { className: "volr:w-1.5 volr:h-1.5 volr:bg-slate-500 volr:rounded-full volr:animate-pulse" }),
2971
+ /* @__PURE__ */ jsx("span", { className: "volr:text-xs volr:text-slate-500", children: t("deposit.listening") })
3050
2972
  ] }),
3051
- status.state === "idle" && /* @__PURE__ */ jsx("div", { className: "volr:text-xs volr:text-slate-500 volr:text-center volr:mb-4", children: "Initializing..." }),
3052
- status.state === "error" && /* @__PURE__ */ jsxs("div", { className: "volr:text-xs volr:text-red-500 volr:text-center volr:mb-4", children: [
2973
+ status.state === "idle" && /* @__PURE__ */ jsx("div", { className: "volr:text-xs volr:text-slate-500 volr:text-center volr:mb-3", children: "Initializing..." }),
2974
+ status.state === "error" && /* @__PURE__ */ jsxs("div", { className: "volr:text-xs volr:text-red-500 volr:text-center volr:mb-3", children: [
3053
2975
  "Error: ",
3054
2976
  status.message
3055
2977
  ] }),
@@ -3066,7 +2988,7 @@ function DepositQRView(props) {
3066
2988
  ] }) }) }),
3067
2989
  status.state === "error" && /* @__PURE__ */ jsx("div", { className: "volr:text-xs volr:text-red-500 volr:text-center volr:mb-4", children: status.message })
3068
2990
  ] }),
3069
- /* @__PURE__ */ jsx("div", { className: "volr:text-center volr:pt-4 volr:border-t volr:border-slate-100", children: /* @__PURE__ */ jsxs("span", { className: "volr:text-xs volr:text-slate-500", children: [
2991
+ /* @__PURE__ */ jsx("div", { className: "volr:text-center volr:pt-3 volr:border-t volr:border-slate-100", children: /* @__PURE__ */ jsxs("span", { className: "volr:text-xs volr:text-slate-500", children: [
3070
2992
  t("deposit.noToken"),
3071
2993
  " ",
3072
2994
  /* @__PURE__ */ jsx(
@@ -3100,33 +3022,78 @@ function DepositQRView(props) {
3100
3022
  }
3101
3023
  var DepositModal = ({
3102
3024
  open,
3103
- onOpenChange
3025
+ onOpenChange,
3026
+ asset
3104
3027
  }) => {
3105
- const { config, user } = useVolrContext();
3106
- const supportedAssets = config.deposit?.supportedAssets ?? [];
3107
- const hasAssets = supportedAssets.length > 0;
3108
- const [selectedIdx, setSelectedIdx] = useState(
3109
- supportedAssets.length === 1 ? 0 : -1
3110
- );
3028
+ const { user } = useVolrContext();
3029
+ const { client } = useInternalAuth();
3030
+ const [depositAssets, setDepositAssets] = useState([]);
3031
+ const [isLoading, setIsLoading] = useState(true);
3032
+ const [error, setError] = useState(null);
3033
+ useEffect(() => {
3034
+ if (!open) return;
3035
+ setIsLoading(true);
3036
+ setError(null);
3037
+ client.get("/auth/branding").then((response) => {
3038
+ setDepositAssets(response.depositAssets ?? []);
3039
+ }).catch((err) => {
3040
+ console.error("Failed to fetch deposit assets:", err);
3041
+ setError("Failed to load deposit options");
3042
+ }).finally(() => {
3043
+ setIsLoading(false);
3044
+ });
3045
+ }, [open, client]);
3046
+ const hasAssets = depositAssets.length > 0;
3047
+ const findAssetIndex = (targetAsset) => {
3048
+ if (!targetAsset) return -1;
3049
+ return depositAssets.findIndex(
3050
+ (a) => a.chainId === targetAsset.chainId && (a.token === "native" ? targetAsset.symbol.toUpperCase() === "ETH" : a.token.symbol.toUpperCase() === targetAsset.symbol.toUpperCase())
3051
+ );
3052
+ };
3053
+ const getInitialIndex = () => {
3054
+ if (asset) {
3055
+ const idx = findAssetIndex(asset);
3056
+ if (idx >= 0) return idx;
3057
+ }
3058
+ if (depositAssets.length === 1) return 0;
3059
+ return -1;
3060
+ };
3061
+ const [selectedIdx, setSelectedIdx] = useState(-1);
3062
+ useEffect(() => {
3063
+ if (open && !isLoading && depositAssets.length > 0) {
3064
+ setSelectedIdx(getInitialIndex());
3065
+ }
3066
+ }, [open, isLoading, depositAssets.length, asset]);
3067
+ useEffect(() => {
3068
+ if (!open) {
3069
+ setSelectedIdx(-1);
3070
+ }
3071
+ }, [open]);
3111
3072
  const selected = useMemo(
3112
- () => supportedAssets[selectedIdx],
3113
- [supportedAssets, selectedIdx]
3073
+ () => depositAssets[selectedIdx],
3074
+ [depositAssets, selectedIdx]
3114
3075
  );
3115
- const showSelector = hasAssets && supportedAssets.length > 1 && selectedIdx === -1;
3076
+ const showSelector = hasAssets && depositAssets.length > 1 && selectedIdx === -1;
3116
3077
  const showQR = hasAssets && user?.evmAddress && selectedIdx >= 0;
3117
3078
  const body = useMemo(() => {
3079
+ if (isLoading) {
3080
+ return /* @__PURE__ */ jsx("div", { className: "volr:text-center volr:py-8", children: /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-slate-500", children: "Loading..." }) });
3081
+ }
3082
+ if (error) {
3083
+ return /* @__PURE__ */ jsx("div", { className: "volr:text-center volr:py-8", children: /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-red-600", children: error }) });
3084
+ }
3118
3085
  if (!hasAssets) {
3119
3086
  return /* @__PURE__ */ jsx("div", { className: "volr:text-center volr:py-8", children: /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-slate-600", children: "No deposit assets configured. Please contact the app developer." }) });
3120
3087
  }
3121
3088
  if (!user?.evmAddress) {
3122
3089
  return /* @__PURE__ */ jsx("div", { className: "volr:text-center volr:py-8", children: /* @__PURE__ */ jsx("p", { className: "volr:text-sm volr:text-slate-600", children: "Wallet address is not ready. Please finish wallet setup first." }) });
3123
3090
  }
3124
- if (supportedAssets.length === 1) {
3091
+ if (depositAssets.length === 1) {
3125
3092
  return /* @__PURE__ */ jsx(
3126
3093
  DepositQRView,
3127
3094
  {
3128
- chainId: supportedAssets[0].chainId,
3129
- asset: supportedAssets[0].token,
3095
+ chainId: depositAssets[0].chainId,
3096
+ asset: depositAssets[0].token,
3130
3097
  address: user.evmAddress,
3131
3098
  onBack: void 0
3132
3099
  }
@@ -3136,7 +3103,7 @@ var DepositModal = ({
3136
3103
  return /* @__PURE__ */ jsx(
3137
3104
  AssetSelectView,
3138
3105
  {
3139
- assets: supportedAssets,
3106
+ assets: depositAssets,
3140
3107
  onSelect: (idx) => setSelectedIdx(idx)
3141
3108
  }
3142
3109
  );
@@ -3151,18 +3118,20 @@ var DepositModal = ({
3151
3118
  }
3152
3119
  );
3153
3120
  }, [
3121
+ isLoading,
3122
+ error,
3154
3123
  hasAssets,
3155
3124
  selected,
3156
3125
  selectedIdx,
3157
3126
  showSelector,
3158
- supportedAssets,
3127
+ depositAssets,
3159
3128
  user?.evmAddress
3160
3129
  ]);
3161
3130
  return /* @__PURE__ */ jsxs(Modal, { open, onOpenChange, children: [
3162
3131
  /* @__PURE__ */ jsx(
3163
3132
  ModalHeader,
3164
3133
  {
3165
- back: showQR && supportedAssets.length > 1,
3134
+ back: showQR && depositAssets.length > 1,
3166
3135
  onBack: showQR ? () => setSelectedIdx(-1) : void 0,
3167
3136
  onClose: () => onOpenChange(false)
3168
3137
  }
@@ -3170,7 +3139,7 @@ var DepositModal = ({
3170
3139
  body
3171
3140
  ] });
3172
3141
  };
3173
- var VolrUIContext = React5.createContext(null);
3142
+ var VolrUIContext = React9.createContext(null);
3174
3143
  var useVolrUI = () => {
3175
3144
  const context = useContext(VolrUIContext);
3176
3145
  if (!context) {
@@ -3227,7 +3196,6 @@ var VolrUIProvider = ({
3227
3196
  socialProviders = ["google", "twitter", "apple"],
3228
3197
  branding,
3229
3198
  keyStorageType = "passkey"
3230
- // Default to passkey if not specified
3231
3199
  } = config;
3232
3200
  const providerPolicy = config.providerPolicy ?? {
3233
3201
  enforceOnFirstLogin: true
@@ -3273,7 +3241,7 @@ var VolrUIProvider = ({
3273
3241
  onHideOnboarding: () => setShowOnboarding(false)
3274
3242
  }
3275
3243
  ),
3276
- /* @__PURE__ */ jsx(LoginModalPortal, {}),
3244
+ /* @__PURE__ */ jsx(AccountModalPortal, {}),
3277
3245
  /* @__PURE__ */ jsx(DepositModalPortal, {}),
3278
3246
  showOnboarding && keyStorageType && /* @__PURE__ */ jsx(
3279
3247
  Modal,
@@ -3298,7 +3266,7 @@ var VolrUIProvider = ({
3298
3266
  }
3299
3267
  ) }) });
3300
3268
  };
3301
- function LoginModalPortal() {
3269
+ function AccountModalPortal() {
3302
3270
  const { isOpen, mode, close } = useVolrModal();
3303
3271
  const [portalRoot, setPortalRoot] = useState(null);
3304
3272
  const [error, setError] = useState(null);
@@ -3318,21 +3286,20 @@ function LoginModalPortal() {
3318
3286
  };
3319
3287
  }, []);
3320
3288
  const handleClose = () => {
3321
- console.log("[LoginModalPortal] handleClose called");
3322
3289
  setError(null);
3323
3290
  close();
3324
3291
  };
3325
3292
  const handleError = (err) => {
3326
- console.error("[LoginModal] Error:", err);
3293
+ console.error("[AccountModal] Error:", err);
3327
3294
  setError(err);
3328
3295
  };
3329
3296
  if (!portalRoot) return null;
3330
3297
  return createPortal(
3331
3298
  /* @__PURE__ */ jsxs(Fragment, { children: [
3332
3299
  /* @__PURE__ */ jsx(
3333
- SigninModal,
3300
+ AccountModal,
3334
3301
  {
3335
- isOpen: isOpen && mode === "auth",
3302
+ isOpen: isOpen && mode === "account",
3336
3303
  onClose: handleClose,
3337
3304
  onError: handleError
3338
3305
  }
@@ -3360,8 +3327,10 @@ function LoginModalPortal() {
3360
3327
  );
3361
3328
  }
3362
3329
  function DepositModalPortal() {
3363
- const { isOpen, mode, close } = useVolrModal();
3330
+ const { isOpen, mode, asset, close } = useVolrModal();
3331
+ const { user } = useVolrContext();
3364
3332
  const [portalRoot, setPortalRoot] = useState(null);
3333
+ const [showLogin, setShowLogin] = useState(false);
3365
3334
  useEffect(() => {
3366
3335
  if (typeof window === "undefined") return;
3367
3336
  let root = document.getElementById("volr-modal-root");
@@ -3377,9 +3346,35 @@ function DepositModalPortal() {
3377
3346
  }
3378
3347
  };
3379
3348
  }, []);
3349
+ useEffect(() => {
3350
+ if (isOpen && mode === "deposit" && !user) {
3351
+ setShowLogin(true);
3352
+ } else {
3353
+ setShowLogin(false);
3354
+ }
3355
+ }, [isOpen, mode, user]);
3380
3356
  if (!portalRoot) return null;
3357
+ if (showLogin) {
3358
+ return createPortal(
3359
+ /* @__PURE__ */ jsx(
3360
+ AccountModal,
3361
+ {
3362
+ isOpen: isOpen && mode === "deposit",
3363
+ onClose: close
3364
+ }
3365
+ ),
3366
+ portalRoot
3367
+ );
3368
+ }
3381
3369
  return createPortal(
3382
- /* @__PURE__ */ jsx(DepositModal, { open: isOpen && mode === "deposit", onOpenChange: close }),
3370
+ /* @__PURE__ */ jsx(
3371
+ DepositModal,
3372
+ {
3373
+ open: isOpen && mode === "deposit",
3374
+ onOpenChange: (open) => !open && close(),
3375
+ asset
3376
+ }
3377
+ ),
3383
3378
  portalRoot
3384
3379
  );
3385
3380
  }
@@ -3390,12 +3385,12 @@ function OnboardingChecker({
3390
3385
  onHideOnboarding
3391
3386
  }) {
3392
3387
  const { user, provider, isLoading } = useVolrContext();
3393
- const { isOpen: isLoginModalOpen } = useVolrModal();
3388
+ const { isOpen: isModalOpen } = useVolrModal();
3394
3389
  useEffect(() => {
3395
3390
  if (isLoading) {
3396
3391
  return;
3397
3392
  }
3398
- if (isLoginModalOpen) {
3393
+ if (isModalOpen) {
3399
3394
  onHideOnboarding();
3400
3395
  return;
3401
3396
  }
@@ -3407,7 +3402,7 @@ function OnboardingChecker({
3407
3402
  if (enforceSelection) {
3408
3403
  if (!keyStorageType) {
3409
3404
  console.error(
3410
- "keyStorageType must be specified in VolrUIProvider props. Please set keyStorageType prop in VolrUIProvider."
3405
+ "keyStorageType must be specified in VolrUIProvider props."
3411
3406
  );
3412
3407
  return;
3413
3408
  }
@@ -3420,7 +3415,7 @@ function OnboardingChecker({
3420
3415
  user,
3421
3416
  provider,
3422
3417
  isLoading,
3423
- isLoginModalOpen,
3418
+ isModalOpen,
3424
3419
  enforceSelection,
3425
3420
  keyStorageType,
3426
3421
  onShowOnboarding,