@lumiapassport/ui-kit 1.15.13 → 1.16.1

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
@@ -693,52 +693,72 @@ async function ensureDkgAndGetOwner(userId, _clientSeedHex) {
693
693
  throw error;
694
694
  }
695
695
  }
696
+ function isChannelError(error) {
697
+ const message = error.message.toLowerCase();
698
+ return message.includes("invalid sdk channel") || message.includes("sdk channel not found") || message.includes("sdk channel expired") || // Backward compatibility
699
+ message === "invalid session";
700
+ }
696
701
  async function signDigestWithMpc(userId, digest32, userOpDetails) {
702
+ const MAX_RETRIES = 1;
697
703
  const startTime = performance.now();
698
704
  currentSigningStats = {
699
705
  startTime,
700
706
  rounds: []
701
707
  };
702
- try {
703
- const iframeManager = getIframeManager();
704
- const { jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
705
- const accessToken = jwtTokenManager4.getAccessToken();
706
- if (!accessToken) {
707
- throw new Error("No access token available for signing");
708
- }
709
- const transaction = {
710
- to: userOpDetails?.callTarget || "0x0000000000000000000000000000000000000000",
711
- value: userOpDetails?.value || "0",
712
- data: userOpDetails?.callData || "0x",
713
- digest32,
714
- // Pre-computed digest - DO NOT recompute!
715
- // Additional UserOp fields for display in confirmation modal
716
- userOpDetails
717
- };
718
- const signature = await iframeManager.signTransaction(userId, transaction, accessToken);
719
- const endTime = performance.now();
720
- currentSigningStats.endTime = endTime;
721
- currentSigningStats.totalDurationMs = endTime - startTime;
722
- return signature;
723
- } catch (error) {
724
- logSdkError(
725
- error instanceof Error ? error : new Error("MPC signing failed"),
726
- { userId, hasUserOpDetails: !!userOpDetails },
727
- "iframe-mpc"
728
- );
729
- const endTime = performance.now();
730
- if (currentSigningStats) {
708
+ let lastError;
709
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
710
+ try {
711
+ const iframeManager = getIframeManager();
712
+ const { jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
713
+ const accessToken = jwtTokenManager4.getAccessToken();
714
+ if (!accessToken) {
715
+ throw new Error("No access token available for signing");
716
+ }
717
+ const transaction = {
718
+ to: userOpDetails?.callTarget || "0x0000000000000000000000000000000000000000",
719
+ value: userOpDetails?.value || "0",
720
+ data: userOpDetails?.callData || "0x",
721
+ digest32,
722
+ // Pre-computed digest - DO NOT recompute!
723
+ // Additional UserOp fields for display in confirmation modal
724
+ userOpDetails
725
+ };
726
+ const signature = await iframeManager.signTransaction(userId, transaction, accessToken);
727
+ const endTime = performance.now();
731
728
  currentSigningStats.endTime = endTime;
732
729
  currentSigningStats.totalDurationMs = endTime - startTime;
730
+ return signature;
731
+ } catch (error) {
732
+ lastError = error instanceof Error ? error : new Error("MPC signing failed");
733
+ if (isChannelError(lastError) && attempt < MAX_RETRIES) {
734
+ console.warn(`[MPC] SDK channel error, reconnecting and retrying (attempt ${attempt + 1})...`);
735
+ try {
736
+ await getIframeManager().reconnect();
737
+ continue;
738
+ } catch (reconnectError) {
739
+ console.error("[MPC] Reconnect failed:", reconnectError);
740
+ }
741
+ }
742
+ logSdkError(
743
+ lastError,
744
+ { userId, hasUserOpDetails: !!userOpDetails, attempt },
745
+ "iframe-mpc"
746
+ );
747
+ const endTime = performance.now();
748
+ if (currentSigningStats) {
749
+ currentSigningStats.endTime = endTime;
750
+ currentSigningStats.totalDurationMs = endTime - startTime;
751
+ }
752
+ if (lastError instanceof LumiaPassportError) {
753
+ throw lastError;
754
+ }
755
+ throw new LumiaPassportError(
756
+ lastError.message,
757
+ ErrorCodes.MPC_SIGNING_ERROR
758
+ );
733
759
  }
734
- if (error instanceof LumiaPassportError) {
735
- throw error;
736
- }
737
- throw new LumiaPassportError(
738
- error instanceof Error ? error.message : "MPC signing failed",
739
- ErrorCodes.MPC_SIGNING_ERROR
740
- );
741
760
  }
761
+ throw lastError || new Error("MPC signing failed after retries");
742
762
  }
743
763
  async function signTypedDataWithMpc(userId, digest32, typedData) {
744
764
  const startTime = performance.now();
@@ -1369,7 +1389,7 @@ async function getShareVaultToken(scopes) {
1369
1389
  }
1370
1390
  return {
1371
1391
  token: data.resourceToken,
1372
- expiresAt: Date.now() + data.expiresIn * 1e3
1392
+ expiresAt: Date.now() + (data.expiresIn || 300) * 1e3
1373
1393
  };
1374
1394
  }
1375
1395
  async function getShareRecoveryStats() {
@@ -2623,10 +2643,9 @@ var init_iframe_manager = __esm({
2623
2643
  "src/internal/lib/iframe-manager.ts"() {
2624
2644
  init_errors();
2625
2645
  IframeManager = class {
2626
- // 5 minutes
2627
2646
  constructor(config) {
2628
2647
  this.iframe = null;
2629
- this.sessionToken = null;
2648
+ this.channelToken = null;
2630
2649
  this.isReady = false;
2631
2650
  // Message handling
2632
2651
  this.pendingRequests = /* @__PURE__ */ new Map();
@@ -2643,6 +2662,9 @@ var init_iframe_manager = __esm({
2643
2662
  this.REQUEST_TIMEOUT = 3e5;
2644
2663
  // 5 minutes (for user interactions like consent)
2645
2664
  this.NONCE_EXPIRY = 3e5;
2665
+ // 5 minutes
2666
+ this.HEARTBEAT_INTERVAL = 5 * 60 * 1e3;
2667
+ this.isReconnecting = false;
2646
2668
  this.iframeUrl = config.iframeUrl;
2647
2669
  this.projectId = config.projectId;
2648
2670
  this.debug = config.debug || false;
@@ -2683,6 +2705,8 @@ var init_iframe_manager = __esm({
2683
2705
  await this.readyPromise;
2684
2706
  await this.authenticateSDK();
2685
2707
  await this.primeProviderSessions();
2708
+ this.startHeartbeat();
2709
+ this.setupVisibilityHandler();
2686
2710
  this.log("[IframeManager] \u2705 Iframe ready and authenticated");
2687
2711
  }
2688
2712
  /**
@@ -2692,18 +2716,93 @@ var init_iframe_manager = __esm({
2692
2716
  this.onWalletReadyCallback = callback;
2693
2717
  }
2694
2718
  /**
2695
- * Authenticate SDK with iframe to establish session
2719
+ * Authenticate SDK with iframe to establish secure channel
2696
2720
  */
2697
2721
  async authenticateSDK() {
2698
2722
  const response = await this.sendMessage("SDK_AUTH", {
2699
2723
  projectId: this.projectId
2700
2724
  });
2701
2725
  if (response.type === "LUMIA_PASSPORT_SDK_AUTH_SUCCESS") {
2702
- this.sessionToken = response.sessionToken;
2726
+ this.channelToken = response.sessionToken;
2703
2727
  } else {
2704
- throw new Error("SDK authentication failed");
2728
+ throw new Error("SDK channel authentication failed");
2729
+ }
2730
+ }
2731
+ /**
2732
+ * Start periodic heartbeat to check SDK channel validity
2733
+ */
2734
+ startHeartbeat() {
2735
+ if (this.heartbeatInterval) {
2736
+ clearInterval(this.heartbeatInterval);
2737
+ }
2738
+ this.heartbeatInterval = setInterval(async () => {
2739
+ if (!this.channelToken) return;
2740
+ try {
2741
+ const response = await this.sendMessage("SDK_CHANNEL_HEARTBEAT", {});
2742
+ if (!response.valid) {
2743
+ this.log("[IframeManager] SDK channel invalid, reconnecting...");
2744
+ await this.reconnect();
2745
+ }
2746
+ } catch (error) {
2747
+ this.log("[IframeManager] Heartbeat failed:", error);
2748
+ await this.reconnect();
2749
+ }
2750
+ }, this.HEARTBEAT_INTERVAL);
2751
+ this.log("[IframeManager] Heartbeat started (interval: 5 min)");
2752
+ }
2753
+ /**
2754
+ * Stop heartbeat
2755
+ */
2756
+ stopHeartbeat() {
2757
+ if (this.heartbeatInterval) {
2758
+ clearInterval(this.heartbeatInterval);
2759
+ this.heartbeatInterval = void 0;
2760
+ this.log("[IframeManager] Heartbeat stopped");
2761
+ }
2762
+ }
2763
+ /**
2764
+ * Reconnect SDK channel after it becomes invalid
2765
+ */
2766
+ async reconnect() {
2767
+ if (this.isReconnecting) {
2768
+ this.log("[IframeManager] Already reconnecting, skipping...");
2769
+ return;
2770
+ }
2771
+ this.isReconnecting = true;
2772
+ this.log("[IframeManager] Reconnecting SDK channel...");
2773
+ try {
2774
+ this.channelToken = null;
2775
+ await this.authenticateSDK();
2776
+ this.log("[IframeManager] \u2705 SDK channel reconnected");
2777
+ } catch (error) {
2778
+ this.log("[IframeManager] \u274C Reconnect failed:", error);
2779
+ throw error;
2780
+ } finally {
2781
+ this.isReconnecting = false;
2705
2782
  }
2706
2783
  }
2784
+ /**
2785
+ * Setup visibility change handler to check channel when tab becomes visible
2786
+ */
2787
+ setupVisibilityHandler() {
2788
+ if (typeof document === "undefined") return;
2789
+ document.addEventListener("visibilitychange", async () => {
2790
+ if (document.visibilityState === "visible" && this.channelToken) {
2791
+ this.log("[IframeManager] Tab visible, checking SDK channel...");
2792
+ try {
2793
+ const response = await this.sendMessage("SDK_CHANNEL_HEARTBEAT", {});
2794
+ if (!response.valid) {
2795
+ this.log("[IframeManager] SDK channel expired while tab was hidden");
2796
+ await this.reconnect();
2797
+ }
2798
+ } catch (error) {
2799
+ this.log("[IframeManager] Channel check failed, reconnecting...");
2800
+ await this.reconnect();
2801
+ }
2802
+ }
2803
+ });
2804
+ this.log("[IframeManager] Visibility handler setup");
2805
+ }
2707
2806
  /**
2708
2807
  * Handle incoming postMessage events
2709
2808
  */
@@ -2727,6 +2826,7 @@ var init_iframe_manager = __esm({
2727
2826
  "LUMIA_PASSPORT_TRUSTED_APP_REMOVED",
2728
2827
  "LUMIA_PASSPORT_REQUEST_NEW_TOKEN",
2729
2828
  "LUMIA_PASSPORT_TOKEN_REFRESHED",
2829
+ "LUMIA_PASSPORT_HEARTBEAT_RESPONSE",
2730
2830
  "LUMIA_PASSPORT_RESPONSE",
2731
2831
  "LUMIA_PASSPORT_ERROR"
2732
2832
  ];
@@ -2855,10 +2955,11 @@ var init_iframe_manager = __esm({
2855
2955
  projectId: this.projectId,
2856
2956
  data: {
2857
2957
  ...data,
2858
- sessionToken: this.sessionToken
2958
+ sessionToken: this.channelToken
2959
+ // named sessionToken for backward compatibility with iframe
2859
2960
  }
2860
2961
  };
2861
- if (this.sessionToken) {
2962
+ if (this.channelToken) {
2862
2963
  message.hmac = await this.computeHMAC(message);
2863
2964
  }
2864
2965
  const responsePromise = new Promise((resolve, reject) => {
@@ -2880,7 +2981,7 @@ var init_iframe_manager = __esm({
2880
2981
  return responsePromise;
2881
2982
  }
2882
2983
  /**
2883
- * Compute HMAC for message authentication
2984
+ * Compute HMAC for message authentication using SDK channel token
2884
2985
  */
2885
2986
  async computeHMAC(message) {
2886
2987
  const encoder = new TextEncoder();
@@ -2892,7 +2993,7 @@ var init_iframe_manager = __esm({
2892
2993
  data: JSON.stringify(message.data)
2893
2994
  });
2894
2995
  const data = encoder.encode(payload);
2895
- const key = encoder.encode(this.sessionToken);
2996
+ const key = encoder.encode(this.channelToken);
2896
2997
  const cryptoKey = await crypto.subtle.importKey("raw", key, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
2897
2998
  const signature = await crypto.subtle.sign("HMAC", cryptoKey, data);
2898
2999
  return Array.from(new Uint8Array(signature)).map((b) => b.toString(16).padStart(2, "0")).join("");
@@ -3637,6 +3738,7 @@ var init_iframe_manager = __esm({
3637
3738
  */
3638
3739
  destroy() {
3639
3740
  this.log("[IframeManager] Destroying iframe...");
3741
+ this.stopHeartbeat();
3640
3742
  this.pendingRequests.forEach((pending) => {
3641
3743
  pending.reject(new Error("Iframe manager destroyed"));
3642
3744
  });
@@ -3650,7 +3752,7 @@ var init_iframe_manager = __esm({
3650
3752
  }
3651
3753
  this.iframe = null;
3652
3754
  this.isReady = false;
3653
- this.sessionToken = null;
3755
+ this.channelToken = null;
3654
3756
  this.log("[IframeManager] \u2705 Destroyed");
3655
3757
  }
3656
3758
  /**
@@ -4483,7 +4585,7 @@ var init_profile = __esm({
4483
4585
  });
4484
4586
 
4485
4587
  // src/styles/built.css
4486
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .sticky{position:sticky}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-0{right:0}.lumia-scope .-right-0\\.5{right:-.125rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-0{top:0}.lumia-scope .-top-0\\.5{top:-.125rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-1{height:.25rem}.lumia-scope .h-1\\.5{height:.375rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-64{max-height:16rem}.lumia-scope .max-h-80{max-height:20rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .max-h-full{max-height:100%}.lumia-scope .w-1{width:.25rem}.lumia-scope .w-1\\.5{width:.375rem}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-72{width:18rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[80px\\]{max-width:80px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .rotate-180{--tw-rotate:180deg}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-help{cursor:help}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[2px\\]{padding:2px}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-1{padding-left:.25rem;padding-right:.25rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .tracking-wider{letter-spacing:.05em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg-secondary\\)\\]:hover{background-color:var(--l-pass-bg-secondary)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:bg-transparent:focus{background-color:transparent}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4588
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .sticky{position:sticky}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-0{right:0}.lumia-scope .-right-0\\.5{right:-.125rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-0{top:0}.lumia-scope .-top-0\\.5{top:-.125rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-1{height:.25rem}.lumia-scope .h-1\\.5{height:.375rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-64{max-height:16rem}.lumia-scope .max-h-80{max-height:20rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .max-h-full{max-height:100%}.lumia-scope .w-1{width:.25rem}.lumia-scope .w-1\\.5{width:.375rem}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-72{width:18rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[80px\\]{max-width:80px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .rotate-180{--tw-rotate:180deg}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-help{cursor:help}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[2px\\]{padding:2px}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-1{padding-left:.25rem;padding-right:.25rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .tracking-wider{letter-spacing:.05em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg-secondary\\)\\]:hover{background-color:var(--l-pass-bg-secondary)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:bg-transparent:focus{background-color:transparent}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4487
4589
 
4488
4590
  // src/context/LumiaPassportContext.tsx
4489
4591
  init_lumiaPassport();
@@ -4492,7 +4594,7 @@ import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-trackin
4492
4594
  import { merge as merge2 } from "lodash-es";
4493
4595
  import {
4494
4596
  createContext,
4495
- useCallback as useCallback23,
4597
+ useCallback as useCallback22,
4496
4598
  useContext,
4497
4599
  useEffect as useEffect36,
4498
4600
  useMemo as useMemo8,
@@ -4500,7 +4602,7 @@ import {
4500
4602
  } from "react";
4501
4603
 
4502
4604
  // src/context/LumiaPassportSessionContext.tsx
4503
- import { Fragment as Fragment28 } from "react";
4605
+ import { Fragment as Fragment27 } from "react";
4504
4606
  import { create as create6 } from "zustand";
4505
4607
 
4506
4608
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
@@ -5518,7 +5620,7 @@ function Header() {
5518
5620
  // package.json
5519
5621
  var package_default = {
5520
5622
  name: "@lumiapassport/ui-kit",
5521
- version: "1.15.13",
5623
+ version: "1.16.1",
5522
5624
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
5523
5625
  type: "module",
5524
5626
  main: "./dist/index.cjs",
@@ -6021,7 +6123,7 @@ function useDetectMaxScrollHeight() {
6021
6123
  }
6022
6124
 
6023
6125
  // src/internal/hooks/usePageMapper.tsx
6024
- import { useCallback as useCallback20, useEffect as useEffect31 } from "react";
6126
+ import { useCallback as useCallback19, useEffect as useEffect31 } from "react";
6025
6127
 
6026
6128
  // src/internal/components/AuthMenu/AuthMenu.tsx
6027
6129
  import { AnimatePresence, motion } from "framer-motion";
@@ -9939,6 +10041,7 @@ var useManageWalletStore = create5((set) => ({
9939
10041
  emailCode: "",
9940
10042
  emailCodeExpiresIn: 0,
9941
10043
  linkIsLoading: false,
10044
+ linkError: null,
9942
10045
  providerType: null,
9943
10046
  confirmUnlink: null,
9944
10047
  setAlert: (alert2) => set({ alert: alert2 }),
@@ -9947,6 +10050,7 @@ var useManageWalletStore = create5((set) => ({
9947
10050
  setEmailCode: (emailCode) => set({ emailCode }),
9948
10051
  setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
9949
10052
  setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
10053
+ setLinkError: (linkError) => set({ linkError }),
9950
10054
  setProviderType: (providerType) => set({ providerType }),
9951
10055
  setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
9952
10056
  }));
@@ -10763,144 +10867,28 @@ function UnlinkProviderMenu() {
10763
10867
  ] });
10764
10868
  }
10765
10869
 
10766
- // src/internal/components/NicknameSettings/NicknameSettings.tsx
10767
- import { ArrowLeft as ArrowLeft9, Loader as Loader17 } from "lucide-react";
10768
-
10769
- // src/internal/hooks/useNicknameInfo.ts
10770
- init_nickname();
10771
- init_profile();
10772
- import { useQuery as useQuery11 } from "@tanstack/react-query";
10773
- function useNicknameInfo(enabled = true) {
10774
- const query = useQuery11({
10775
- queryKey: [QUERY_KEYS.nicknameInfo],
10776
- queryFn: getNicknameInfo,
10777
- enabled,
10778
- staleTime: 1e3 * 60 * 5,
10779
- // 5 minutes
10780
- retry: 1
10781
- });
10782
- return {
10783
- data: query.data,
10784
- isLoading: query.isLoading,
10785
- isError: query.isError,
10786
- error: query.error,
10787
- refetch: query.refetch
10788
- };
10789
- }
10790
-
10791
- // src/internal/components/NicknameSettings/NicknameEditForm.tsx
10792
- import { Check as Check2, Loader as Loader16 } from "lucide-react";
10793
- import { useCallback as useCallback14, useState as useState13 } from "react";
10794
-
10795
- // src/internal/hooks/useChangeNickname.ts
10796
- init_nickname();
10797
- init_profile();
10798
- import { useMutation as useMutation14, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
10799
- function useChangeNickname(options) {
10800
- const queryClient3 = useQueryClient14();
10801
- const mutation = useMutation14({
10802
- mutationFn: (handle) => changeNickname(handle),
10803
- onSuccess: (result) => {
10804
- queryClient3.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
10805
- queryClient3.invalidateQueries({ queryKey: [QUERY_KEYS.userProfile] });
10806
- options?.onSuccess?.(result);
10807
- },
10808
- onError: (error) => {
10809
- const nicknameError = {
10810
- error: error.error || error.message,
10811
- code: error.code || "UNKNOWN_ERROR",
10812
- daysRemaining: error.daysRemaining,
10813
- canChangeAt: error.canChangeAt
10814
- };
10815
- options?.onError?.(nicknameError);
10816
- }
10817
- });
10818
- return {
10819
- mutate: mutation.mutate,
10820
- mutateAsync: mutation.mutateAsync,
10821
- isLoading: mutation.isPending,
10822
- isError: mutation.isError,
10823
- isSuccess: mutation.isSuccess,
10824
- error: mutation.error ? {
10825
- error: mutation.error.error || mutation.error.message,
10826
- code: mutation.error.code || "UNKNOWN_ERROR",
10827
- daysRemaining: mutation.error.daysRemaining,
10828
- canChangeAt: mutation.error.canChangeAt
10829
- } : null,
10830
- data: mutation.data,
10831
- reset: mutation.reset
10832
- };
10833
- }
10834
-
10835
- // src/internal/hooks/useNicknameAvailability.ts
10870
+ // src/internal/components/NicknameMenu/NicknameMenu.tsx
10836
10871
  init_nickname();
10837
10872
  init_profile();
10838
10873
  import { useQuery as useQuery12 } from "@tanstack/react-query";
10839
- import { useState as useState12, useEffect as useEffect25 } from "react";
10874
+ import dayjs2 from "dayjs";
10875
+ import { AlertTriangle as AlertTriangle4, ArrowLeft as ArrowLeft9, Info as Info3, Loader as Loader17 } from "lucide-react";
10876
+ import { useState as useState14 } from "react";
10840
10877
 
10841
- // src/internal/lib/nickname-validation.ts
10842
- var NICKNAME_MIN_LENGTH = 3;
10843
- var NICKNAME_MAX_LENGTH = 20;
10844
- var NICKNAME_PATTERN = /^[a-z0-9_]+$/;
10845
- function validateNickname(handle) {
10846
- const normalized = handle.replace(/^@/, "").toLowerCase().trim();
10847
- if (normalized.length < NICKNAME_MIN_LENGTH) {
10848
- return { valid: false, error: "TOO_SHORT" };
10849
- }
10850
- if (normalized.length > NICKNAME_MAX_LENGTH) {
10851
- return { valid: false, error: "TOO_LONG" };
10852
- }
10853
- if (!NICKNAME_PATTERN.test(normalized)) {
10854
- return { valid: false, error: "INVALID_CHARS" };
10855
- }
10856
- if (normalized.startsWith("_") || normalized.endsWith("_") || normalized.includes("__")) {
10857
- return { valid: false, error: "INVALID_UNDERSCORE" };
10858
- }
10859
- return { valid: true };
10860
- }
10861
- function normalizeNickname(handle) {
10862
- return handle.replace(/^@/, "").toLowerCase().trim();
10878
+ // src/internal/lib/nickname-cooldown.ts
10879
+ function getDaysRemaining(cooldownEndsAt) {
10880
+ if (!cooldownEndsAt) return 0;
10881
+ const endDate = new Date(cooldownEndsAt);
10882
+ const now = /* @__PURE__ */ new Date();
10883
+ if (isNaN(endDate.getTime())) return 0;
10884
+ if (endDate <= now) return 0;
10885
+ const diffMs = endDate.getTime() - now.getTime();
10886
+ const diffDays = Math.ceil(diffMs / (1e3 * 60 * 60 * 24));
10887
+ return Math.max(0, diffDays);
10863
10888
  }
10864
10889
 
10865
- // src/internal/hooks/useNicknameAvailability.ts
10866
- var DEBOUNCE_MS = 300;
10867
- function useNicknameAvailability(handle, enabled = true) {
10868
- const [debouncedHandle, setDebouncedHandle] = useState12("");
10869
- const [isDebouncing, setIsDebouncing] = useState12(false);
10870
- const normalized = normalizeNickname(handle);
10871
- const validation = validateNickname(handle);
10872
- const isValidForCheck = validation.valid && normalized.length > 0;
10873
- useEffect25(() => {
10874
- if (!isValidForCheck || !enabled) {
10875
- setDebouncedHandle("");
10876
- setIsDebouncing(false);
10877
- return;
10878
- }
10879
- setIsDebouncing(true);
10880
- const timer = setTimeout(() => {
10881
- setDebouncedHandle(normalized);
10882
- setIsDebouncing(false);
10883
- }, DEBOUNCE_MS);
10884
- return () => {
10885
- clearTimeout(timer);
10886
- };
10887
- }, [normalized, isValidForCheck, enabled]);
10888
- const query = useQuery12({
10889
- queryKey: QUERY_KEYS.nicknameAvailability(debouncedHandle),
10890
- queryFn: () => checkNicknameAvailability(debouncedHandle),
10891
- enabled: enabled && isValidForCheck && debouncedHandle.length > 0,
10892
- staleTime: 1e3 * 30,
10893
- // 30 seconds
10894
- retry: 1
10895
- });
10896
- return {
10897
- data: query.data,
10898
- isLoading: query.isLoading,
10899
- isChecking: isDebouncing || query.isFetching,
10900
- isError: query.isError,
10901
- error: query.error
10902
- };
10903
- }
10890
+ // src/internal/components/NicknameMenu/NicknameAvailabilityIndicator.tsx
10891
+ import { Check, Loader as Loader15, X as X3 } from "lucide-react";
10904
10892
 
10905
10893
  // src/internal/lib/nickname-errors.ts
10906
10894
  var NICKNAME_ERROR_MESSAGES = {
@@ -10926,8 +10914,7 @@ function getNicknameErrorMessage(code, params) {
10926
10914
  return message;
10927
10915
  }
10928
10916
 
10929
- // src/internal/components/NicknameSettings/NicknameAvailabilityIndicator.tsx
10930
- import { Loader as Loader15, Check, X as X3 } from "lucide-react";
10917
+ // src/internal/components/NicknameMenu/NicknameAvailabilityIndicator.tsx
10931
10918
  import { jsx as jsx54, jsxs as jsxs47 } from "react/jsx-runtime";
10932
10919
  function NicknameAvailabilityIndicator({
10933
10920
  isChecking,
@@ -10938,8 +10925,8 @@ function NicknameAvailabilityIndicator({
10938
10925
  return null;
10939
10926
  }
10940
10927
  if (isChecking) {
10941
- return /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-fg-muted)]", children: [
10942
- /* @__PURE__ */ jsx54(Loader15, { className: "w-3 h-3 animate-spin" }),
10928
+ return /* @__PURE__ */ jsxs47(Highlight, { className: "flex gap-[var(--l-pass-gap)]", children: [
10929
+ /* @__PURE__ */ jsx54(Loader15, { className: "w-4 h-4 animate-spin" }),
10943
10930
  /* @__PURE__ */ jsx54("span", { children: "Checking availability..." })
10944
10931
  ] });
10945
10932
  }
@@ -10947,197 +10934,302 @@ function NicknameAvailabilityIndicator({
10947
10934
  return null;
10948
10935
  }
10949
10936
  if (availability.available) {
10950
- return /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-success)]", children: [
10951
- /* @__PURE__ */ jsx54(Check, { className: "w-3 h-3" }),
10937
+ return /* @__PURE__ */ jsxs47(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
10938
+ /* @__PURE__ */ jsx54(Check, { className: "w-4 h-4" }),
10952
10939
  /* @__PURE__ */ jsx54("span", { children: "Nickname is available" })
10953
10940
  ] });
10954
10941
  }
10955
10942
  const reason = availability.reason ? getNicknameErrorMessage(availability.reason) : "This nickname is not available";
10956
- return /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-error)]", children: [
10957
- /* @__PURE__ */ jsx54(X3, { className: "w-3 h-3" }),
10943
+ return /* @__PURE__ */ jsxs47(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
10944
+ /* @__PURE__ */ jsx54(X3, { className: "w-4 h-4" }),
10958
10945
  /* @__PURE__ */ jsx54("span", { children: reason })
10959
10946
  ] });
10960
10947
  }
10961
10948
 
10962
- // src/internal/components/NicknameSettings/NicknameEditForm.tsx
10949
+ // src/internal/components/NicknameMenu/NicknameEditForm.tsx
10950
+ import { useMutation as useMutation14, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
10951
+ import { AtSign, Check as Check2, ChevronRight as ChevronRight5, Copy as Copy2, Loader as Loader16 } from "lucide-react";
10952
+ import { useCallback as useCallback13, useState as useState12 } from "react";
10953
+ init_nickname();
10954
+ init_profile();
10955
+
10956
+ // src/internal/lib/nickname-validation.ts
10957
+ var NICKNAME_MIN_LENGTH = 3;
10958
+ var NICKNAME_MAX_LENGTH = 20;
10959
+ var NICKNAME_PATTERN = /^[a-z0-9_]+$/;
10960
+ function validateNickname(handle) {
10961
+ const normalized = handle.replace(/^@/, "").toLowerCase().trim();
10962
+ if (normalized.length < NICKNAME_MIN_LENGTH) {
10963
+ return { valid: false, error: "TOO_SHORT" };
10964
+ }
10965
+ if (normalized.length > NICKNAME_MAX_LENGTH) {
10966
+ return { valid: false, error: "TOO_LONG" };
10967
+ }
10968
+ if (!NICKNAME_PATTERN.test(normalized)) {
10969
+ return { valid: false, error: "INVALID_CHARS" };
10970
+ }
10971
+ if (normalized.startsWith("_") || normalized.endsWith("_") || normalized.includes("__")) {
10972
+ return { valid: false, error: "INVALID_UNDERSCORE" };
10973
+ }
10974
+ return { valid: true };
10975
+ }
10976
+ function normalizeNickname(handle) {
10977
+ return handle.replace(/^@/, "").toLowerCase().trim();
10978
+ }
10979
+
10980
+ // src/internal/components/NicknameMenu/NicknameEditForm.tsx
10963
10981
  import { Fragment as Fragment18, jsx as jsx55, jsxs as jsxs48 } from "react/jsx-runtime";
10964
- function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
10965
- const [inputValue, setInputValue] = useState13("");
10966
- const [clientError, setClientError] = useState13(null);
10967
- const normalized = normalizeNickname(inputValue);
10968
- const isSameAsCurrentHandle = normalized === currentHandle.toLowerCase();
10969
- const validation = validateNickname(inputValue);
10970
- const shouldCheckAvailability = validation.valid && !isSameAsCurrentHandle && inputValue.length > 0;
10971
- const { data: availability, isChecking } = useNicknameAvailability(inputValue, shouldCheckAvailability);
10972
- const { mutate, isLoading, isError, isSuccess, error, reset } = useChangeNickname({
10982
+ function NicknameEditForm(props) {
10983
+ const {
10984
+ inputValue,
10985
+ setInputValue,
10986
+ isUnavailable,
10987
+ isSameAsCurrentNickname,
10988
+ isAvailabilityChecking,
10989
+ //
10990
+ clientError,
10991
+ setClientError,
10992
+ info
10993
+ } = props;
10994
+ const { handle: currentNickname, canChange } = info || { handle: "", canChange: false };
10995
+ const qc = useQueryClient14();
10996
+ const [isNicknameCopied, setIsNicknameCopied] = useState12(false);
10997
+ const {
10998
+ mutate: changeNickname2,
10999
+ isError: isNicknameChangeError,
11000
+ isPending: isNicknameChanging,
11001
+ isSuccess: isNicknameChangeSuccess,
11002
+ // error: nicknameChangeError,
11003
+ reset
11004
+ } = useMutation14({
11005
+ mutationFn: (handle) => changeNickname(handle),
10973
11006
  onSuccess: () => {
10974
- setInputValue("");
10975
- setClientError(null);
10976
- onSuccess?.();
11007
+ qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
11008
+ qc.invalidateQueries({ queryKey: [QUERY_KEYS.userProfile] });
11009
+ },
11010
+ onError: (error) => {
11011
+ console.error("Nickname change error:", error);
11012
+ const changeNicknameError = error;
11013
+ setClientError(
11014
+ changeNicknameError ? getNicknameErrorMessage(changeNicknameError.code, {
11015
+ days: changeNicknameError.daysRemaining,
11016
+ canChangeAt: changeNicknameError.canChangeAt
11017
+ }) : null
11018
+ );
10977
11019
  }
10978
11020
  });
10979
- const handleInputChange = useCallback14(
11021
+ const handleInputChange = useCallback13(
10980
11022
  (e) => {
10981
11023
  const value = e.target.value;
10982
11024
  setInputValue(value);
10983
11025
  if (clientError) setClientError(null);
10984
- if (isError || isSuccess) reset();
10985
- if (value.length > 0) {
10986
- const validation2 = validateNickname(value);
10987
- if (!validation2.valid && validation2.error) {
10988
- setClientError(getNicknameErrorMessage(validation2.error));
10989
- }
11026
+ if (isNicknameChangeError || isNicknameChangeSuccess) reset();
11027
+ if (value?.length < 1) return;
11028
+ const validation = validateNickname(value);
11029
+ if (!validation.valid && validation.error) {
11030
+ setClientError(getNicknameErrorMessage(validation.error));
10990
11031
  }
10991
11032
  },
10992
- [clientError, isError, isSuccess, reset]
11033
+ [clientError, isNicknameChangeError, isNicknameChangeSuccess, reset]
10993
11034
  );
10994
- const handleSubmit = useCallback14(
11035
+ const handleSubmit = useCallback13(
10995
11036
  (e) => {
11037
+ if (!canChange) return;
10996
11038
  e.preventDefault();
10997
- const normalized2 = normalizeNickname(inputValue);
10998
- if (normalized2 === currentHandle.toLowerCase()) {
11039
+ const normalized = normalizeNickname(inputValue);
11040
+ if (normalized === currentNickname.toLowerCase()) {
10999
11041
  setClientError("This is already your nickname");
11000
11042
  return;
11001
11043
  }
11002
- const validation2 = validateNickname(inputValue);
11003
- if (!validation2.valid && validation2.error) {
11004
- setClientError(getNicknameErrorMessage(validation2.error));
11044
+ const validation = validateNickname(inputValue);
11045
+ if (!validation.valid && validation.error) {
11046
+ setClientError(getNicknameErrorMessage(validation.error));
11005
11047
  return;
11006
11048
  }
11007
- mutate(normalized2);
11049
+ changeNickname2(normalized);
11008
11050
  },
11009
- [inputValue, currentHandle, mutate]
11051
+ [inputValue, currentNickname, canChange, changeNickname2]
11010
11052
  );
11011
- const displayError = clientError || (isError && error ? getNicknameErrorMessage(error.code, {
11012
- days: error.daysRemaining,
11013
- canChangeAt: error.canChangeAt
11014
- }) : null);
11015
- const isUnavailable = shouldCheckAvailability && availability && !availability.available;
11016
- const isSubmitDisabled = !canChange || isLoading || isChecking || inputValue.length === 0 || !!clientError || isSameAsCurrentHandle || isUnavailable;
11017
- if (!canChange) {
11018
- return null;
11019
- }
11020
- return /* @__PURE__ */ jsxs48("form", { onSubmit: handleSubmit, className: "w-full flex flex-col gap-3", children: [
11021
- /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-1", children: [
11022
- /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "New nickname" }),
11053
+ const isSubmitDisabled = !canChange || isNicknameChanging || isAvailabilityChecking || inputValue.length === 0 || !!clientError || isSameAsCurrentNickname || isUnavailable;
11054
+ return /* @__PURE__ */ jsxs48(Fragment18, { children: [
11055
+ canChange ? /* @__PURE__ */ jsx55("form", { onSubmit: handleSubmit, className: "w-full", children: /* @__PURE__ */ jsxs48("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
11023
11056
  /* @__PURE__ */ jsx55(
11024
11057
  Input,
11025
11058
  {
11059
+ Icon: AtSign,
11026
11060
  value: inputValue,
11027
11061
  onChange: handleInputChange,
11028
11062
  placeholder: "Enter new nickname",
11029
- disabled: isLoading,
11030
- error: displayError || void 0
11063
+ disabled: isNicknameChanging,
11064
+ className: "flex-1"
11065
+ }
11066
+ ),
11067
+ /* @__PURE__ */ jsx55(Button, { type: "submit", size: "large", disabled: isSubmitDisabled, className: "w-12", children: isNicknameChanging ? /* @__PURE__ */ jsx55(Loader16, { className: "w-4 h-4 animate-spin" }) : isNicknameChangeSuccess ? /* @__PURE__ */ jsx55(Check2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx55(ChevronRight5, { className: "w-4 h-4" }) })
11068
+ ] }) }) : /* @__PURE__ */ jsxs48("div", { className: "w-full flex items-center justify-between px-[var(--l-pass-pd)] h-12 bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]", children: [
11069
+ /* @__PURE__ */ jsxs48(
11070
+ "span",
11071
+ {
11072
+ className: cn("text-lg font-semibold leading-5 transition-colors duration-200", {
11073
+ "text-[var(--l-pass-fg-muted)]": !currentNickname.length
11074
+ }),
11075
+ children: [
11076
+ !!currentNickname.length && /* @__PURE__ */ jsx55("span", { children: "@" }),
11077
+ /* @__PURE__ */ jsx55("span", { children: currentNickname || "your nickname" })
11078
+ ]
11031
11079
  }
11032
11080
  ),
11033
- /* @__PURE__ */ jsx55("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "3-20 characters, letters, numbers, and underscores only" }) }),
11034
- shouldCheckAvailability && !clientError && /* @__PURE__ */ jsx55(NicknameAvailabilityIndicator, { isChecking, availability })
11081
+ /* @__PURE__ */ jsx55(
11082
+ Button,
11083
+ {
11084
+ variant: "ghost",
11085
+ size: "icon",
11086
+ onClick: () => {
11087
+ if (!!isNicknameCopied) return;
11088
+ navigator.clipboard.writeText(currentNickname);
11089
+ setIsNicknameCopied(true);
11090
+ setTimeout(() => setIsNicknameCopied(false), 2e3);
11091
+ },
11092
+ children: isNicknameCopied ? /* @__PURE__ */ jsx55(PositiveIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx55(Copy2, { className: "w-4 h-4" })
11093
+ }
11094
+ )
11035
11095
  ] }),
11036
- /* @__PURE__ */ jsx55(Button, { type: "submit", size: "large", disabled: isSubmitDisabled, className: "w-full", children: isLoading ? /* @__PURE__ */ jsxs48(Fragment18, { children: [
11037
- /* @__PURE__ */ jsx55(Loader16, { className: "w-4 h-4 mr-2 animate-spin" }),
11038
- "Changing..."
11039
- ] }) : isSuccess ? /* @__PURE__ */ jsxs48(Fragment18, { children: [
11040
- /* @__PURE__ */ jsx55(Check2, { className: "w-4 h-4 mr-2" }),
11041
- "Nickname changed!"
11042
- ] }) : "Change Nickname" })
11096
+ !!canChange && /* @__PURE__ */ jsx55("span", { className: "w-full flex items-center leadding-4 text-[10px]", children: "3-20 characters, letters, numbers, and underscores only" })
11043
11097
  ] });
11044
11098
  }
11045
11099
 
11046
- // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
11047
- import { Fragment as Fragment19 } from "react";
11048
-
11049
- // src/internal/lib/nickname-cooldown.ts
11050
- function getDaysRemaining(cooldownEndsAt) {
11051
- if (!cooldownEndsAt) return 0;
11052
- const endDate = new Date(cooldownEndsAt);
11053
- const now = /* @__PURE__ */ new Date();
11054
- if (isNaN(endDate.getTime())) return 0;
11055
- if (endDate <= now) return 0;
11056
- const diffMs = endDate.getTime() - now.getTime();
11057
- const diffDays = Math.ceil(diffMs / (1e3 * 60 * 60 * 24));
11058
- return Math.max(0, diffDays);
11059
- }
11060
- function formatCooldownEndDate(cooldownEndsAt) {
11061
- if (!cooldownEndsAt) return "";
11062
- const endDate = new Date(cooldownEndsAt);
11063
- if (isNaN(endDate.getTime())) return "";
11064
- return endDate.toLocaleDateString(void 0, {
11065
- year: "numeric",
11066
- month: "short",
11067
- day: "numeric"
11100
+ // src/internal/components/NicknameMenu/useNickname.ts
11101
+ init_nickname();
11102
+ init_profile();
11103
+ import { useQuery as useQuery11 } from "@tanstack/react-query";
11104
+ import { useEffect as useEffect25, useState as useState13 } from "react";
11105
+ var DEBOUNCE_MS = 700;
11106
+ function useNicknameForm(currentNickname) {
11107
+ const [inputValue, setInputValue] = useState13("");
11108
+ const normalizedInputValue = normalizeNickname(inputValue);
11109
+ const validation = validateNickname(inputValue);
11110
+ const isValidForCheck = validation.valid && normalizedInputValue.length > 0;
11111
+ useEffect25(() => {
11112
+ console.log("[NICKNAME] form setup", currentNickname);
11113
+ setInputValue(currentNickname);
11114
+ }, [currentNickname]);
11115
+ const [queryInputValue, setQueryInputValue] = useState13("");
11116
+ const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
11117
+ const shouldCheckAvailability = validation.valid && !isSameAsCurrentNickname && inputValue.length > 0;
11118
+ useEffect25(() => {
11119
+ if (!isValidForCheck || !shouldCheckAvailability) {
11120
+ setQueryInputValue("");
11121
+ return;
11122
+ }
11123
+ const timer = setTimeout(() => {
11124
+ setQueryInputValue(normalizedInputValue);
11125
+ }, DEBOUNCE_MS);
11126
+ return () => {
11127
+ clearTimeout(timer);
11128
+ };
11129
+ }, [normalizedInputValue, isValidForCheck, shouldCheckAvailability]);
11130
+ const query = useQuery11({
11131
+ retry: 1,
11132
+ enabled: shouldCheckAvailability && isValidForCheck && queryInputValue.length > 0,
11133
+ queryKey: QUERY_KEYS.nicknameAvailability(queryInputValue),
11134
+ queryFn: () => checkNicknameAvailability(queryInputValue),
11135
+ staleTime: 1e3 * 30
11136
+ // 30 seconds stale to not check same InputValue repeatedly
11068
11137
  });
11138
+ return {
11139
+ inputValue,
11140
+ setInputValue,
11141
+ isSameAsCurrentNickname,
11142
+ isUnavailable: shouldCheckAvailability && !query?.data?.available,
11143
+ shouldCheckAvailability,
11144
+ availabilityQuery: query
11145
+ };
11069
11146
  }
11070
11147
 
11071
- // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
11148
+ // src/internal/components/NicknameMenu/NicknameMenu.tsx
11072
11149
  import { jsx as jsx56, jsxs as jsxs49 } from "react/jsx-runtime";
11073
- function NicknameInfoDisplay({ info }) {
11074
- const daysRemaining = getDaysRemaining(info.cooldownEndsAt);
11075
- const cooldownEndDate = formatCooldownEndDate(info.cooldownEndsAt);
11076
- return /* @__PURE__ */ jsxs49(Fragment19, { children: [
11077
- /* @__PURE__ */ jsxs49("div", { className: "flex flex-col gap-1", children: [
11078
- /* @__PURE__ */ jsx56("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Your nickname" }),
11079
- /* @__PURE__ */ jsx56("span", { className: "text-lg font-bold text-[var(--l-pass-fg)]", children: info.displayHandle })
11080
- ] }),
11081
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-4 text-xs text-[var(--l-pass-fg-muted)]", children: [
11082
- /* @__PURE__ */ jsxs49("div", { className: "flex flex-col gap-0.5", children: [
11083
- /* @__PURE__ */ jsx56("span", { children: "Created" }),
11084
- /* @__PURE__ */ jsx56("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.createdAt).toLocaleDateString(void 0, {
11085
- year: "numeric",
11086
- month: "short",
11087
- day: "numeric"
11088
- }) })
11089
- ] }),
11090
- info.changedAt && /* @__PURE__ */ jsxs49("div", { className: "flex flex-col gap-0.5", children: [
11091
- /* @__PURE__ */ jsx56("span", { children: "Last changed" }),
11092
- /* @__PURE__ */ jsx56("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.changedAt).toLocaleDateString(void 0, {
11093
- year: "numeric",
11094
- month: "short",
11095
- day: "numeric"
11096
- }) })
11097
- ] }),
11098
- /* @__PURE__ */ jsxs49("div", { className: "flex flex-col gap-0.5", children: [
11099
- /* @__PURE__ */ jsx56("span", { children: "Times changed" }),
11100
- /* @__PURE__ */ jsx56("span", { className: "text-[var(--l-pass-fg)]", children: info.changeCount })
11101
- ] })
11102
- ] }),
11103
- !info.canChange && info.cooldownEndsAt && /* @__PURE__ */ jsx56("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-warning)]", children: /* @__PURE__ */ jsxs49("span", { className: "text-sm text-[var(--l-pass-warning)]", children: [
11104
- "You can change your nickname again on ",
11105
- cooldownEndDate,
11106
- " (",
11107
- daysRemaining,
11108
- " days remaining)"
11109
- ] }) }),
11110
- info.canChange && /* @__PURE__ */ jsx56("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-success)]", children: /* @__PURE__ */ jsx56("span", { className: "text-sm text-[var(--l-pass-success)]", children: "You can change your nickname" }) })
11111
- ] });
11112
- }
11113
-
11114
- // src/internal/components/NicknameSettings/NicknameSettings.tsx
11115
- import { jsx as jsx57, jsxs as jsxs50 } from "react/jsx-runtime";
11116
- function NicknameSettings() {
11150
+ function NicknameMenu() {
11151
+ const address = useLumiaPassportSession((st) => st.address);
11152
+ const [clientError, setClientError] = useState14(null);
11117
11153
  const setPage = useLayoutDataStore((st) => st.setPage);
11118
11154
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11119
- const { data: nicknameInfo, isLoading, isError, error, refetch } = useNicknameInfo();
11120
- return /* @__PURE__ */ jsx57(
11155
+ const {
11156
+ data: nicknameInfo,
11157
+ isLoading: isNicknameInfoLoading,
11158
+ error: nicknameInfoError
11159
+ } = useQuery12({
11160
+ retry: 1,
11161
+ enabled: !!address,
11162
+ queryKey: [QUERY_KEYS.nicknameInfo, address],
11163
+ queryFn: getNicknameInfo
11164
+ });
11165
+ const {
11166
+ availabilityQuery,
11167
+ inputValue,
11168
+ isUnavailable,
11169
+ isSameAsCurrentNickname,
11170
+ shouldCheckAvailability,
11171
+ setInputValue
11172
+ } = useNicknameForm(nicknameInfo ? nicknameInfo.handle : "");
11173
+ const { data: availability, isFetching: isAvailabilityChecking } = availabilityQuery;
11174
+ const resolvedError = clientError || nicknameInfoError?.message || null;
11175
+ return /* @__PURE__ */ jsx56(
11121
11176
  "div",
11122
11177
  {
11123
11178
  style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
11124
11179
  className: "list-scrollbar-y w-full",
11125
- children: /* @__PURE__ */ jsxs50(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
11126
- /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11127
- /* @__PURE__ */ jsx57(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx57(ArrowLeft9, { className: "h-4 w-4" }) }),
11128
- /* @__PURE__ */ jsx57("span", { className: "text-xl font-semibold", children: "Nickname" })
11180
+ children: /* @__PURE__ */ jsxs49(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
11181
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-[var(--l-pass-gap)] ", children: [
11182
+ /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx56(ArrowLeft9, { className: "h-4 w-4 flex-none" }) }),
11183
+ /* @__PURE__ */ jsxs49("div", { className: "flex gap-[var(--l-pass-gap)] items-center w-fit", children: [
11184
+ /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Nickname" }),
11185
+ isNicknameInfoLoading && /* @__PURE__ */ jsx56(Loader17, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" })
11186
+ ] })
11129
11187
  ] }),
11130
- isLoading && /* @__PURE__ */ jsx57("div", { className: "w-full p-8 flex items-center justify-center", children: /* @__PURE__ */ jsx57(Loader17, { className: "w-5 h-5 animate-spin" }) }),
11131
- nicknameInfo && /* @__PURE__ */ jsx57(NicknameInfoDisplay, { info: nicknameInfo }),
11132
- nicknameInfo && /* @__PURE__ */ jsx57(
11188
+ /* @__PURE__ */ jsx56("span", { className: "text-[10px] text-[var(--l-pass-fg-muted)]", children: "Your nickname" }),
11189
+ /* @__PURE__ */ jsx56(
11133
11190
  NicknameEditForm,
11134
11191
  {
11135
- currentHandle: nicknameInfo.handle,
11136
- canChange: nicknameInfo.canChange,
11137
- onSuccess: refetch
11192
+ inputValue,
11193
+ setInputValue,
11194
+ info: nicknameInfo,
11195
+ isAvailabilityChecking,
11196
+ isUnavailable,
11197
+ isSameAsCurrentNickname,
11198
+ clientError,
11199
+ setClientError
11138
11200
  }
11139
11201
  ),
11140
- isError && /* @__PURE__ */ jsx57(Highlight, { type: "error", children: error?.message || "Failed to load nickname info" })
11202
+ shouldCheckAvailability && !clientError && /* @__PURE__ */ jsx56(NicknameAvailabilityIndicator, { isChecking: isAvailabilityChecking, availability }),
11203
+ !nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ jsxs49(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
11204
+ /* @__PURE__ */ jsx56(Info3, { className: "w-4 h-4 flex-none" }),
11205
+ /* @__PURE__ */ jsxs49("span", { children: [
11206
+ "You can change your nickname again on",
11207
+ " ",
11208
+ /* @__PURE__ */ jsx56("strong", { children: dayjs2(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY") }),
11209
+ " (",
11210
+ /* @__PURE__ */ jsxs49("span", { children: [
11211
+ getDaysRemaining(nicknameInfo.cooldownEndsAt),
11212
+ " days remained"
11213
+ ] }),
11214
+ ")"
11215
+ ] })
11216
+ ] }),
11217
+ !!nicknameInfo && /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-[var(--l-pass-gap)] justify-between text-[10px]", children: [
11218
+ /* @__PURE__ */ jsxs49("span", { children: [
11219
+ /* @__PURE__ */ jsx56("span", { className: "text-[var(--l-pass-fg-muted)]", children: nicknameInfo.changedAt ? "Last changed:" : "Created:" }),
11220
+ /* @__PURE__ */ jsx56("span", { children: " " }),
11221
+ /* @__PURE__ */ jsx56("strong", { className: "text-[var(--l-pass-fg)]", children: dayjs2(nicknameInfo.changedAt || nicknameInfo.createdAt).format("MMM D, YYYY") })
11222
+ ] }),
11223
+ /* @__PURE__ */ jsxs49("span", { children: [
11224
+ /* @__PURE__ */ jsx56("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Times changed:" }),
11225
+ /* @__PURE__ */ jsx56("span", { children: " " }),
11226
+ /* @__PURE__ */ jsx56("strong", { className: "text-[var(--l-pass-fg)]", children: nicknameInfo.changeCount })
11227
+ ] })
11228
+ ] }),
11229
+ !!resolvedError?.length && /* @__PURE__ */ jsxs49(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11230
+ /* @__PURE__ */ jsx56(AlertTriangle4, { className: "w-4 h-4 flex-none" }),
11231
+ /* @__PURE__ */ jsx56("span", { children: resolvedError })
11232
+ ] })
11141
11233
  ] })
11142
11234
  }
11143
11235
  );
@@ -11146,12 +11238,12 @@ function NicknameSettings() {
11146
11238
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
11147
11239
  import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
11148
11240
  import { AlertCircle as AlertCircle4, ArrowLeft as ArrowLeft10, Gem, Loader as Loader19, RefreshCw } from "lucide-react";
11149
- import { useCallback as useCallback16 } from "react";
11241
+ import { useCallback as useCallback15 } from "react";
11150
11242
 
11151
11243
  // src/internal/hooks/useBlockscoutAssets.ts
11152
11244
  init_lumiaPassport();
11153
11245
  init_base();
11154
- import { useCallback as useCallback15, useMemo as useMemo4, useRef as useRef13 } from "react";
11246
+ import { useCallback as useCallback14, useMemo as useMemo4, useRef as useRef13 } from "react";
11155
11247
  import { useQuery as useQuery13 } from "@tanstack/react-query";
11156
11248
  import { useBalance as useBalance2, usePublicClient } from "wagmi";
11157
11249
  import { formatUnits as formatUnits2 } from "viem";
@@ -11431,7 +11523,7 @@ function useBlockscoutAssets(options) {
11431
11523
  if (!tokensError) return null;
11432
11524
  return createError(tokensError);
11433
11525
  }, [tokensError]);
11434
- const refreshBalances = useCallback15(async () => {
11526
+ const refreshBalances = useCallback14(async () => {
11435
11527
  const now = Date.now();
11436
11528
  if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
11437
11529
  return;
@@ -11439,7 +11531,7 @@ function useBlockscoutAssets(options) {
11439
11531
  lastRefreshRef.current = now;
11440
11532
  await Promise.all([refetchNative(), refetchTokens(), refetchNfts()]);
11441
11533
  }, [refetchNative, refetchTokens, refetchNfts]);
11442
- const getTokenBalance = useCallback15(
11534
+ const getTokenBalance = useCallback14(
11443
11535
  (tokenAddress) => {
11444
11536
  return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
11445
11537
  },
@@ -11462,9 +11554,9 @@ function useBlockscoutAssets(options) {
11462
11554
  init_base();
11463
11555
  import { useQuery as useQuery14, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
11464
11556
  import { Image as ImageIcon, Loader as Loader18, Shield, Sparkles } from "lucide-react";
11465
- import { useState as useState14 } from "react";
11557
+ import { useState as useState15 } from "react";
11466
11558
  import { formatUnits as formatUnits3 } from "viem";
11467
- import { Fragment as Fragment20, jsx as jsx58, jsxs as jsxs51 } from "react/jsx-runtime";
11559
+ import { Fragment as Fragment19, jsx as jsx57, jsxs as jsxs50 } from "react/jsx-runtime";
11468
11560
  function openInExplorer(address) {
11469
11561
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
11470
11562
  }
@@ -11499,8 +11591,8 @@ async function getAssetRate2(symbol) {
11499
11591
  var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
11500
11592
  function PortfolioItem(props) {
11501
11593
  const { address, asset, isProjectAsset } = props;
11502
- const [nftImageError, setNftImageError] = useState14(false);
11503
- const [logoError, setLogoError] = useState14(false);
11594
+ const [nftImageError, setNftImageError] = useState15(false);
11595
+ const [logoError, setLogoError] = useState15(false);
11504
11596
  const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
11505
11597
  const qc = useQueryClient15();
11506
11598
  const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
@@ -11518,7 +11610,7 @@ function PortfolioItem(props) {
11518
11610
  const showProjectFiatBalance = isProjectAsset && !!projectAssetBalance?.fiatFormatted;
11519
11611
  const renderBalance = showProjectFiatBalance ? projectAssetBalance?.fiatFormatted || 0 : Number(formatUnits3(BigInt(asset?.balance || "0"), asset?.decimals || 18));
11520
11612
  const usdRenderBalance = !!assetRate?.price ? renderBalance * Number(assetRate.price) : 0;
11521
- return /* @__PURE__ */ jsxs51(
11613
+ return /* @__PURE__ */ jsxs50(
11522
11614
  "div",
11523
11615
  {
11524
11616
  className: cn(
@@ -11529,7 +11621,7 @@ function PortfolioItem(props) {
11529
11621
  ),
11530
11622
  onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
11531
11623
  children: [
11532
- /* @__PURE__ */ jsxs51(
11624
+ /* @__PURE__ */ jsxs50(
11533
11625
  "div",
11534
11626
  {
11535
11627
  className: cn(
@@ -11540,7 +11632,7 @@ function PortfolioItem(props) {
11540
11632
  (!asset.logo || logoError) && !nftImage && "bg-[var(--l-pass-fg)]"
11541
11633
  ),
11542
11634
  children: [
11543
- isNft && nftImage && !nftImageError ? /* @__PURE__ */ jsx58(
11635
+ isNft && nftImage && !nftImageError ? /* @__PURE__ */ jsx57(
11544
11636
  "img",
11545
11637
  {
11546
11638
  src: nftImage,
@@ -11550,8 +11642,8 @@ function PortfolioItem(props) {
11550
11642
  }
11551
11643
  ) : isNft && (!nftImage || nftImageError) ? (
11552
11644
  // NFT placeholder when no image available
11553
- /* @__PURE__ */ jsx58("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx58(ImageIcon, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
11554
- ) : asset.logo && !logoError ? /* @__PURE__ */ jsx58(
11645
+ /* @__PURE__ */ jsx57("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx57(ImageIcon, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
11646
+ ) : asset.logo && !logoError ? /* @__PURE__ */ jsx57(
11555
11647
  "img",
11556
11648
  {
11557
11649
  src: asset.logo,
@@ -11559,22 +11651,22 @@ function PortfolioItem(props) {
11559
11651
  className: "w-full h-full object-cover",
11560
11652
  onError: () => setLogoError(true)
11561
11653
  }
11562
- ) : /* @__PURE__ */ jsx58("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
11563
- isNft && /* @__PURE__ */ jsx58("div", { className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx58(Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
11564
- isSecurity && /* @__PURE__ */ jsx58(
11654
+ ) : /* @__PURE__ */ jsx57("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
11655
+ isNft && /* @__PURE__ */ jsx57("div", { className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx57(Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
11656
+ isSecurity && /* @__PURE__ */ jsx57(
11565
11657
  "div",
11566
11658
  {
11567
11659
  className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-amber-500 flex items-center justify-center",
11568
11660
  title: "Security Token (ERC-3643)",
11569
- children: /* @__PURE__ */ jsx58(Shield, { className: "w-2.5 h-2.5 text-white" })
11661
+ children: /* @__PURE__ */ jsx57(Shield, { className: "w-2.5 h-2.5 text-white" })
11570
11662
  }
11571
11663
  )
11572
11664
  ]
11573
11665
  }
11574
11666
  ),
11575
- /* @__PURE__ */ jsxs51("div", { className: "w-full flex-1", children: [
11576
- /* @__PURE__ */ jsxs51("div", { className: "w-full flex items-center justify-between text-xs", children: [
11577
- /* @__PURE__ */ jsx58(
11667
+ /* @__PURE__ */ jsxs50("div", { className: "w-full flex-1", children: [
11668
+ /* @__PURE__ */ jsxs50("div", { className: "w-full flex items-center justify-between text-xs", children: [
11669
+ /* @__PURE__ */ jsx57(
11578
11670
  "span",
11579
11671
  {
11580
11672
  className: "truncate max-w-[150px]",
@@ -11582,25 +11674,25 @@ function PortfolioItem(props) {
11582
11674
  children: isNft ? asset.nftMetadata?.collectionName || asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") : asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown")
11583
11675
  }
11584
11676
  ),
11585
- !!usdRenderBalance && !isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ jsx58("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
11586
- !isSecurity && isNft && "type" in asset && /* @__PURE__ */ jsx58("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-info)] rounded-full", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
11587
- isSecurity && /* @__PURE__ */ jsx58("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-warning)] rounded-full", children: "Security Token" })
11677
+ !!usdRenderBalance && !isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ jsx57("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
11678
+ !isSecurity && isNft && "type" in asset && /* @__PURE__ */ jsx57("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-info)] rounded-full", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
11679
+ isSecurity && /* @__PURE__ */ jsx57("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-warning)] rounded-full", children: "Security Token" })
11588
11680
  ] }),
11589
- /* @__PURE__ */ jsx58("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs51(Fragment20, { children: [
11590
- /* @__PURE__ */ jsx58("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
11591
- "tokenId" in asset && asset.tokenId && /* @__PURE__ */ jsxs51("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11681
+ /* @__PURE__ */ jsx57("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs50(Fragment19, { children: [
11682
+ /* @__PURE__ */ jsx57("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
11683
+ "tokenId" in asset && asset.tokenId && /* @__PURE__ */ jsxs50("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11592
11684
  "#",
11593
11685
  asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
11594
11686
  ] })
11595
- ] }) : /* @__PURE__ */ jsxs51(Fragment20, { children: [
11596
- /* @__PURE__ */ jsxs51("span", { children: [
11597
- /* @__PURE__ */ jsx58("span", { children: formatPrice(Number(renderBalance)) }),
11598
- /* @__PURE__ */ jsx58("span", { children: " " + asset.symbol })
11687
+ ] }) : /* @__PURE__ */ jsxs50(Fragment19, { children: [
11688
+ /* @__PURE__ */ jsxs50("span", { children: [
11689
+ /* @__PURE__ */ jsx57("span", { children: formatPrice(Number(renderBalance)) }),
11690
+ /* @__PURE__ */ jsx57("span", { children: " " + asset.symbol })
11599
11691
  ] }),
11600
- isRateLoading && /* @__PURE__ */ jsx58(Loader18, { className: "h-4 w-4 animate-spin" }),
11601
- !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ jsxs51("span", { children: [
11602
- /* @__PURE__ */ jsx58("span", { children: "$" }),
11603
- /* @__PURE__ */ jsx58("span", { children: formatPrice(usdRenderBalance) })
11692
+ isRateLoading && /* @__PURE__ */ jsx57(Loader18, { className: "h-4 w-4 animate-spin" }),
11693
+ !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ jsxs50("span", { children: [
11694
+ /* @__PURE__ */ jsx57("span", { children: "$" }),
11695
+ /* @__PURE__ */ jsx57("span", { children: formatPrice(usdRenderBalance) })
11604
11696
  ] })
11605
11697
  ] }) })
11606
11698
  ] })
@@ -11610,7 +11702,7 @@ function PortfolioItem(props) {
11610
11702
  }
11611
11703
 
11612
11704
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
11613
- import { jsx as jsx59, jsxs as jsxs52 } from "react/jsx-runtime";
11705
+ import { jsx as jsx58, jsxs as jsxs51 } from "react/jsx-runtime";
11614
11706
  function PortfolioMenu() {
11615
11707
  const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
11616
11708
  const qc = useQueryClient16();
@@ -11626,11 +11718,11 @@ function PortfolioMenu() {
11626
11718
  } = useBlockscoutAssets({
11627
11719
  address
11628
11720
  });
11629
- const refreshAllAssetsBalances = useCallback16(() => {
11721
+ const refreshAllAssetsBalances = useCallback15(() => {
11630
11722
  Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
11631
11723
  refreshBlockscoutBalances();
11632
11724
  }, [qc, projectAssets, refreshBlockscoutBalances]);
11633
- return /* @__PURE__ */ jsx59(
11725
+ return /* @__PURE__ */ jsx58(
11634
11726
  "div",
11635
11727
  {
11636
11728
  style: {
@@ -11638,11 +11730,11 @@ function PortfolioMenu() {
11638
11730
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
11639
11731
  },
11640
11732
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11641
- children: /* @__PURE__ */ jsxs52(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11642
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11643
- /* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx59(ArrowLeft10, { className: "h-4 w-4" }) }),
11644
- /* @__PURE__ */ jsx59("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11645
- /* @__PURE__ */ jsx59(
11733
+ children: /* @__PURE__ */ jsxs51(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11734
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11735
+ /* @__PURE__ */ jsx58(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx58(ArrowLeft10, { className: "h-4 w-4" }) }),
11736
+ /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11737
+ /* @__PURE__ */ jsx58(
11646
11738
  Button,
11647
11739
  {
11648
11740
  title: "Refresh balances",
@@ -11650,17 +11742,17 @@ function PortfolioMenu() {
11650
11742
  size: "icon",
11651
11743
  onClick: refreshAllAssetsBalances,
11652
11744
  disabled: isBlockscoutLoading,
11653
- children: isBlockscoutLoading ? /* @__PURE__ */ jsx59(Loader19, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx59(RefreshCw, { className: "h-4 w-4" })
11745
+ children: isBlockscoutLoading ? /* @__PURE__ */ jsx58(Loader19, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx58(RefreshCw, { className: "h-4 w-4" })
11654
11746
  }
11655
11747
  )
11656
11748
  ] }),
11657
- isBlockscoutLoading && /* @__PURE__ */ jsx59("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsx59(Loader19, { className: "h-5 w-5 animate-spin" }) }),
11658
- !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs52(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11659
- /* @__PURE__ */ jsx59(Gem, { className: "w-8 h-8" }),
11660
- /* @__PURE__ */ jsx59("span", { className: "block", children: "No assets found" })
11749
+ isBlockscoutLoading && /* @__PURE__ */ jsx58("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsx58(Loader19, { className: "h-5 w-5 animate-spin" }) }),
11750
+ !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs51(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11751
+ /* @__PURE__ */ jsx58(Gem, { className: "w-8 h-8" }),
11752
+ /* @__PURE__ */ jsx58("span", { className: "block", children: "No assets found" })
11661
11753
  ] }),
11662
- !isBlockscoutLoading && projectAssets?.map((asset, index) => /* @__PURE__ */ jsx59(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
11663
- !isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ jsx59(
11754
+ !isBlockscoutLoading && projectAssets?.map((asset, index) => /* @__PURE__ */ jsx58(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
11755
+ !isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ jsx58(
11664
11756
  PortfolioItem,
11665
11757
  {
11666
11758
  address,
@@ -11668,9 +11760,9 @@ function PortfolioMenu() {
11668
11760
  },
11669
11761
  `${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
11670
11762
  )),
11671
- blockscoutError && !isBlockscoutAvailable && /* @__PURE__ */ jsxs52(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11672
- /* @__PURE__ */ jsx59(AlertCircle4, { className: "h-4 w-4 flex-shrink-0" }),
11673
- /* @__PURE__ */ jsx59("span", { className: "text-xs", children: blockscoutError.message })
11763
+ blockscoutError && !isBlockscoutAvailable && /* @__PURE__ */ jsxs51(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11764
+ /* @__PURE__ */ jsx58(AlertCircle4, { className: "h-4 w-4 flex-shrink-0" }),
11765
+ /* @__PURE__ */ jsx58("span", { className: "text-xs", children: blockscoutError.message })
11674
11766
  ] })
11675
11767
  ] })
11676
11768
  }
@@ -11681,9 +11773,9 @@ function PortfolioMenu() {
11681
11773
  init_auth();
11682
11774
  init_keyshare();
11683
11775
  import { useQuery as useQuery15, useQueryClient as useQueryClient17 } from "@tanstack/react-query";
11684
- import dayjs3 from "dayjs";
11776
+ import dayjs4 from "dayjs";
11685
11777
  import { ArrowLeft as ArrowLeft11, Loader as Loader22, Trash2 as Trash22 } from "lucide-react";
11686
- import { useState as useState15 } from "react";
11778
+ import { useState as useState16 } from "react";
11687
11779
  init_iframe_manager();
11688
11780
  init_vaultClient();
11689
11781
 
@@ -11694,13 +11786,13 @@ var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
11694
11786
  import { Cloud as Cloud4, Laptop, Loader as Loader21, RefreshCw as RefreshCw2, Server as Server3 } from "lucide-react";
11695
11787
 
11696
11788
  // src/internal/assets/NegativeIcon.tsx
11697
- import { jsx as jsx60, jsxs as jsxs53 } from "react/jsx-runtime";
11789
+ import { jsx as jsx59, jsxs as jsxs52 } from "react/jsx-runtime";
11698
11790
  function NegativeIcon(props) {
11699
11791
  const { width = "16", height = "16", ...rest } = props;
11700
- return /* @__PURE__ */ jsxs53("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
11701
- /* @__PURE__ */ jsx60("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
11702
- /* @__PURE__ */ jsx60("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
11703
- /* @__PURE__ */ jsx60("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
11792
+ return /* @__PURE__ */ jsxs52("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
11793
+ /* @__PURE__ */ jsx59("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
11794
+ /* @__PURE__ */ jsx59("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
11795
+ /* @__PURE__ */ jsx59("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
11704
11796
  ] });
11705
11797
  }
11706
11798
 
@@ -11709,13 +11801,13 @@ init_vaultClient();
11709
11801
 
11710
11802
  // src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
11711
11803
  import { Loader as Loader20 } from "lucide-react";
11712
- import { jsx as jsx61, jsxs as jsxs54 } from "react/jsx-runtime";
11804
+ import { jsx as jsx60, jsxs as jsxs53 } from "react/jsx-runtime";
11713
11805
  function KeyshareStatus(props) {
11714
11806
  const { isLoading, content, icon: Icon2, children } = props;
11715
- if (isLoading) return /* @__PURE__ */ jsx61(Loader20, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11716
- return /* @__PURE__ */ jsxs54("div", { className: "group relative w-full h-full", children: [
11807
+ if (isLoading) return /* @__PURE__ */ jsx60(Loader20, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11808
+ return /* @__PURE__ */ jsxs53("div", { className: "group relative w-full h-full", children: [
11717
11809
  children,
11718
- /* @__PURE__ */ jsx61(
11810
+ /* @__PURE__ */ jsx60(
11719
11811
  "div",
11720
11812
  {
11721
11813
  className: cn(
@@ -11723,10 +11815,10 @@ function KeyshareStatus(props) {
11723
11815
  "rounded-full bg-[var(--l-pass-bg)]"
11724
11816
  // 'border border-[var(--l-pass-bd)]'
11725
11817
  ),
11726
- children: /* @__PURE__ */ jsx61(Icon2, { className: "w-4 h-4" })
11818
+ children: /* @__PURE__ */ jsx60(Icon2, { className: "w-4 h-4" })
11727
11819
  }
11728
11820
  ),
11729
- /* @__PURE__ */ jsx61(
11821
+ /* @__PURE__ */ jsx60(
11730
11822
  "div",
11731
11823
  {
11732
11824
  style: { transform: "translateY(calc(var(--l-pass-gap) * -4))" },
@@ -11744,9 +11836,9 @@ function KeyshareStatus(props) {
11744
11836
  }
11745
11837
 
11746
11838
  // src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx
11747
- import dayjs2 from "dayjs";
11839
+ import dayjs3 from "dayjs";
11748
11840
  import { Cloud as Cloud3, HardDrive, Server as Server2 } from "lucide-react";
11749
- import { Fragment as Fragment21, jsx as jsx62, jsxs as jsxs55 } from "react/jsx-runtime";
11841
+ import { Fragment as Fragment20, jsx as jsx61, jsxs as jsxs54 } from "react/jsx-runtime";
11750
11842
  function parseOS(ua) {
11751
11843
  if (!ua) return null;
11752
11844
  if (ua.includes("Mac OS X")) return "macOS";
@@ -11768,113 +11860,113 @@ function LastBackup(props) {
11768
11860
  } = createdRecoveryStats || {};
11769
11861
  const hasBackupData = backup?.server?.enabled && backup.server.lastBackup || !backup.server.lastBackup && recoveryCreatedAt || backup.cloud.enabled && backup.cloud?.lastBackup || backup.local.enabled && backup.local.lastBackup;
11770
11862
  if (!hasBackupData) return null;
11771
- return /* @__PURE__ */ jsxs55(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
11772
- /* @__PURE__ */ jsxs55("span", { className: "flex items-center gap-[var(--l-pass-gap)] font-bold text-xs leading-4", children: [
11773
- /* @__PURE__ */ jsx62(Server2, { className: "w-4 h-4 inline" }),
11774
- /* @__PURE__ */ jsx62("span", { children: "Last Keyshare Vault Backup" })
11863
+ return /* @__PURE__ */ jsxs54(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
11864
+ /* @__PURE__ */ jsxs54("span", { className: "flex items-center gap-[var(--l-pass-gap)] font-bold text-xs leading-4", children: [
11865
+ /* @__PURE__ */ jsx61(Server2, { className: "w-4 h-4 inline" }),
11866
+ /* @__PURE__ */ jsx61("span", { children: "Last Keyshare Vault Backup" })
11775
11867
  ] }),
11776
- recoveryCreatedAt && /* @__PURE__ */ jsxs55(Fragment21, { children: [
11777
- /* @__PURE__ */ jsx62("span", { children: dayjs2(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") }),
11778
- /* @__PURE__ */ jsx62("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
11868
+ recoveryCreatedAt && /* @__PURE__ */ jsxs54(Fragment20, { children: [
11869
+ /* @__PURE__ */ jsx61("span", { children: dayjs3(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") }),
11870
+ /* @__PURE__ */ jsx61("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
11779
11871
  ] }),
11780
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs55("div", { className: "flex items-center gap-1", children: [
11781
- /* @__PURE__ */ jsx62(Cloud3, { className: "h-3 w-3" }),
11782
- /* @__PURE__ */ jsxs55("span", { children: [
11872
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs54("div", { className: "flex items-center gap-1", children: [
11873
+ /* @__PURE__ */ jsx61(Cloud3, { className: "h-3 w-3" }),
11874
+ /* @__PURE__ */ jsxs54("span", { children: [
11783
11875
  "Cloud: ",
11784
- dayjs2(backup.cloud.lastBackup).format("MMMM DD, YYYY HH:mm")
11876
+ dayjs3(backup.cloud.lastBackup).format("MMMM DD, YYYY HH:mm")
11785
11877
  ] })
11786
11878
  ] }),
11787
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs55("div", { className: "flex items-center gap-1", children: [
11788
- /* @__PURE__ */ jsx62(HardDrive, { className: "h-3 w-3" }),
11789
- /* @__PURE__ */ jsxs55("span", { children: [
11879
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs54("div", { className: "flex items-center gap-1", children: [
11880
+ /* @__PURE__ */ jsx61(HardDrive, { className: "h-3 w-3" }),
11881
+ /* @__PURE__ */ jsxs54("span", { children: [
11790
11882
  "Local: ",
11791
- dayjs2(backup.local.lastBackup).format("MMMM DD, YYYY HH:mm")
11883
+ dayjs3(backup.local.lastBackup).format("MMMM DD, YYYY HH:mm")
11792
11884
  ] })
11793
11885
  ] })
11794
11886
  ] });
11795
11887
  }
11796
11888
 
11797
11889
  // src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
11798
- import { Fragment as Fragment22, jsx as jsx63, jsxs as jsxs56 } from "react/jsx-runtime";
11890
+ import { Fragment as Fragment21, jsx as jsx62, jsxs as jsxs55 } from "react/jsx-runtime";
11799
11891
  function Keyshare(props) {
11800
11892
  const { userId, serverHasKeyshare, localInfo, hasServerBackup, createdRecoveryStats, isLoading, refresh } = props;
11801
11893
  const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
11802
- return /* @__PURE__ */ jsxs56(Fragment22, { children: [
11803
- /* @__PURE__ */ jsxs56("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11804
- /* @__PURE__ */ jsx63("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
11805
- /* @__PURE__ */ jsx63(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ jsx63(Loader21, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx63(RefreshCw2, { className: "h-4 w-4" }) })
11894
+ return /* @__PURE__ */ jsxs55(Fragment21, { children: [
11895
+ /* @__PURE__ */ jsxs55("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11896
+ /* @__PURE__ */ jsx62("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
11897
+ /* @__PURE__ */ jsx62(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ jsx62(Loader21, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx62(RefreshCw2, { className: "h-4 w-4" }) })
11806
11898
  ] }),
11807
- /* @__PURE__ */ jsxs56("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11808
- /* @__PURE__ */ jsx63(
11899
+ /* @__PURE__ */ jsxs55("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11900
+ /* @__PURE__ */ jsx62(
11809
11901
  KeyshareStatus,
11810
11902
  {
11811
11903
  content: serverHasKeyshare ? "Your Server Security Key Share is safe and ready" : "Server Security Key Share is missing",
11812
11904
  icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
11813
- children: /* @__PURE__ */ jsxs56(
11905
+ children: /* @__PURE__ */ jsxs55(
11814
11906
  Highlight,
11815
11907
  {
11816
11908
  type: serverHasKeyshare ? "success" : "warning",
11817
11909
  className: "w-full h-full flex flex-col items-center gap-0",
11818
11910
  children: [
11819
- /* @__PURE__ */ jsx63(Cloud4, { className: "h-6 w-6" }),
11820
- /* @__PURE__ */ jsx63("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
11911
+ /* @__PURE__ */ jsx62(Cloud4, { className: "h-6 w-6" }),
11912
+ /* @__PURE__ */ jsx62("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
11821
11913
  ]
11822
11914
  }
11823
11915
  )
11824
11916
  }
11825
11917
  ),
11826
- /* @__PURE__ */ jsx63(
11918
+ /* @__PURE__ */ jsx62(
11827
11919
  KeyshareStatus,
11828
11920
  {
11829
11921
  content: localInfo?.hasKeyshare ? "Your Private Local Security Key Share is safe and ready" : "Private Local Security Key Share is missing",
11830
11922
  icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
11831
- children: /* @__PURE__ */ jsxs56(
11923
+ children: /* @__PURE__ */ jsxs55(
11832
11924
  Highlight,
11833
11925
  {
11834
11926
  type: localInfo?.hasKeyshare ? "success" : "warning",
11835
11927
  className: "w-full h-full flex flex-col items-center gap-0",
11836
11928
  children: [
11837
- /* @__PURE__ */ jsx63(Laptop, { className: "h-6 w-6" }),
11838
- /* @__PURE__ */ jsx63("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
11929
+ /* @__PURE__ */ jsx62(Laptop, { className: "h-6 w-6" }),
11930
+ /* @__PURE__ */ jsx62("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
11839
11931
  ]
11840
11932
  }
11841
11933
  )
11842
11934
  }
11843
11935
  ),
11844
- /* @__PURE__ */ jsx63(
11936
+ /* @__PURE__ */ jsx62(
11845
11937
  KeyshareStatus,
11846
11938
  {
11847
11939
  content: hasServerBackup ? "Security Key Share Vault Backup exists and ready" : "Security Key Share Vault Backup Missing. Create one to ensure your data is safe.",
11848
11940
  icon: hasServerBackup ? PositiveIcon : NegativeIcon,
11849
- children: /* @__PURE__ */ jsxs56(
11941
+ children: /* @__PURE__ */ jsxs55(
11850
11942
  Highlight,
11851
11943
  {
11852
11944
  type: hasServerBackup ? "success" : "warning",
11853
11945
  className: "w-full h-full flex flex-col items-center gap-0",
11854
11946
  children: [
11855
- /* @__PURE__ */ jsx63(Server3, { className: "h-6 w-6" }),
11856
- /* @__PURE__ */ jsx63("span", { className: "text-[10px] font-medium leading-4", children: "Backup Vault" })
11947
+ /* @__PURE__ */ jsx62(Server3, { className: "h-6 w-6" }),
11948
+ /* @__PURE__ */ jsx62("span", { className: "text-[10px] font-medium leading-4", children: "Backup Vault" })
11857
11949
  ]
11858
11950
  }
11859
11951
  )
11860
11952
  }
11861
11953
  )
11862
11954
  ] }),
11863
- createdRecoveryStats?.at && /* @__PURE__ */ jsx63(LastBackup, { backup, createdRecoveryStats }),
11864
- /* @__PURE__ */ jsx63("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
11955
+ createdRecoveryStats?.at && /* @__PURE__ */ jsx62(LastBackup, { backup, createdRecoveryStats }),
11956
+ /* @__PURE__ */ jsx62("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
11865
11957
  ] });
11866
11958
  }
11867
11959
 
11868
11960
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
11869
- import { Fragment as Fragment23, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
11961
+ import { Fragment as Fragment22, jsx as jsx63, jsxs as jsxs56 } from "react/jsx-runtime";
11870
11962
  function SecurityMenu() {
11871
11963
  const qc = useQueryClient17();
11872
11964
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11873
11965
  const setPage = useLayoutDataStore((st) => st.setPage);
11874
11966
  const userId = jwtTokenManager2.getUserId();
11875
11967
  const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
11876
- const [isRemoving, setIsRemoving] = useState15(false);
11877
- const [appToRemove, setAppToRemove] = useState15(null);
11968
+ const [isRemoving, setIsRemoving] = useState16(false);
11969
+ const [appToRemove, setAppToRemove] = useState16(null);
11878
11970
  const { data: recoveryData, isFetching: isRecoveryLoading } = useQuery15({
11879
11971
  enabled: !!userId,
11880
11972
  queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
@@ -11914,7 +12006,7 @@ function SecurityMenu() {
11914
12006
  setIsRemoving(false);
11915
12007
  }
11916
12008
  };
11917
- return /* @__PURE__ */ jsx64(
12009
+ return /* @__PURE__ */ jsx63(
11918
12010
  "div",
11919
12011
  {
11920
12012
  style: {
@@ -11922,9 +12014,9 @@ function SecurityMenu() {
11922
12014
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
11923
12015
  },
11924
12016
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11925
- children: /* @__PURE__ */ jsxs57(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11926
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11927
- /* @__PURE__ */ jsx64(
12017
+ children: /* @__PURE__ */ jsxs56(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
12018
+ /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12019
+ /* @__PURE__ */ jsx63(
11928
12020
  Button,
11929
12021
  {
11930
12022
  variant: "ghost",
@@ -11934,13 +12026,13 @@ function SecurityMenu() {
11934
12026
  if (!!appToRemove) setAppToRemove(null);
11935
12027
  else setPage("settings" /* SETTINGS */);
11936
12028
  },
11937
- children: /* @__PURE__ */ jsx64(ArrowLeft11, { className: "h-4 w-4" })
12029
+ children: /* @__PURE__ */ jsx63(ArrowLeft11, { className: "h-4 w-4" })
11938
12030
  }
11939
12031
  ),
11940
- /* @__PURE__ */ jsx64("span", { className: "text-xl font-semibold", children: "Security" })
12032
+ /* @__PURE__ */ jsx63("span", { className: "text-xl font-semibold", children: "Security" })
11941
12033
  ] }),
11942
- !appToRemove && /* @__PURE__ */ jsxs57(Fragment23, { children: [
11943
- /* @__PURE__ */ jsx64(
12034
+ !appToRemove && /* @__PURE__ */ jsxs56(Fragment22, { children: [
12035
+ /* @__PURE__ */ jsx63(
11944
12036
  Keyshare,
11945
12037
  {
11946
12038
  userId,
@@ -11952,31 +12044,31 @@ function SecurityMenu() {
11952
12044
  refresh: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] })
11953
12045
  }
11954
12046
  ),
11955
- trustedApps.length > 0 && /* @__PURE__ */ jsxs57(Fragment23, { children: [
11956
- /* @__PURE__ */ jsxs57("div", { className: "w-full space-y-2", children: [
11957
- /* @__PURE__ */ jsx64("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
11958
- /* @__PURE__ */ jsx64("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs57(
12047
+ trustedApps.length > 0 && /* @__PURE__ */ jsxs56(Fragment22, { children: [
12048
+ /* @__PURE__ */ jsxs56("div", { className: "w-full space-y-2", children: [
12049
+ /* @__PURE__ */ jsx63("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
12050
+ /* @__PURE__ */ jsx63("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs56(
11959
12051
  "div",
11960
12052
  {
11961
12053
  className: "text-[10px] leading-tight p-2 rounded-[var(--l-pass-el-bdrs)] flex items-center gap-[var(--l-pass-gap)] bg-[var(--l-pass-bg-info)]",
11962
12054
  children: [
11963
- app.appLogo ? /* @__PURE__ */ jsx64(
12055
+ app.appLogo ? /* @__PURE__ */ jsx63(
11964
12056
  "img",
11965
12057
  {
11966
12058
  src: app.appLogo,
11967
12059
  alt: app.appName,
11968
12060
  className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] object-cover flex-shrink-0"
11969
12061
  }
11970
- ) : /* @__PURE__ */ jsx64("div", { className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx64("span", { className: "text-sm", children: "\u{1F517}" }) }),
11971
- /* @__PURE__ */ jsxs57("div", { className: "flex-1 min-w-0", children: [
11972
- /* @__PURE__ */ jsx64("div", { className: "font-semibold truncate", children: app.appName || new URL(app.origin).hostname }),
11973
- /* @__PURE__ */ jsx64("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
11974
- /* @__PURE__ */ jsxs57("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: [
12062
+ ) : /* @__PURE__ */ jsx63("div", { className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx63("span", { className: "text-sm", children: "\u{1F517}" }) }),
12063
+ /* @__PURE__ */ jsxs56("div", { className: "flex-1 min-w-0", children: [
12064
+ /* @__PURE__ */ jsx63("div", { className: "font-semibold truncate", children: app.appName || new URL(app.origin).hostname }),
12065
+ /* @__PURE__ */ jsx63("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
12066
+ /* @__PURE__ */ jsxs56("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: [
11975
12067
  "Trusted: ",
11976
- dayjs3(app.trustedAt).format("MMM D, YYYY HH:mm")
12068
+ dayjs4(app.trustedAt).format("MMM D, YYYY HH:mm")
11977
12069
  ] })
11978
12070
  ] }),
11979
- /* @__PURE__ */ jsx64(
12071
+ /* @__PURE__ */ jsx63(
11980
12072
  Button,
11981
12073
  {
11982
12074
  variant: "ghost",
@@ -11990,7 +12082,7 @@ function SecurityMenu() {
11990
12082
  appName: app.appName,
11991
12083
  appLogo: app.appLogo
11992
12084
  }),
11993
- children: /* @__PURE__ */ jsx64(Trash22, { className: "h-4 w-4" })
12085
+ children: /* @__PURE__ */ jsx63(Trash22, { className: "h-4 w-4" })
11994
12086
  }
11995
12087
  )
11996
12088
  ]
@@ -11998,37 +12090,37 @@ function SecurityMenu() {
11998
12090
  index
11999
12091
  )) })
12000
12092
  ] }),
12001
- /* @__PURE__ */ jsx64("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
12093
+ /* @__PURE__ */ jsx63("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
12002
12094
  ] })
12003
12095
  ] }),
12004
- !!appToRemove && /* @__PURE__ */ jsxs57("div", { className: "w-full", children: [
12005
- /* @__PURE__ */ jsxs57("div", { className: "text-center", children: [
12006
- /* @__PURE__ */ jsx64("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
12007
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
12008
- appToRemove.appLogo ? /* @__PURE__ */ jsx64("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ jsx64("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ jsx64("span", { className: "text-lg", children: "\u{1F517}" }) }),
12009
- /* @__PURE__ */ jsxs57("div", { className: "text-left", children: [
12010
- /* @__PURE__ */ jsx64("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
12011
- /* @__PURE__ */ jsx64("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
12096
+ !!appToRemove && /* @__PURE__ */ jsxs56("div", { className: "w-full", children: [
12097
+ /* @__PURE__ */ jsxs56("div", { className: "text-center", children: [
12098
+ /* @__PURE__ */ jsx63("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
12099
+ /* @__PURE__ */ jsxs56("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
12100
+ appToRemove.appLogo ? /* @__PURE__ */ jsx63("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ jsx63("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ jsx63("span", { className: "text-lg", children: "\u{1F517}" }) }),
12101
+ /* @__PURE__ */ jsxs56("div", { className: "text-left", children: [
12102
+ /* @__PURE__ */ jsx63("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
12103
+ /* @__PURE__ */ jsx63("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
12012
12104
  ] })
12013
12105
  ] }),
12014
- /* @__PURE__ */ jsxs57("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
12015
- /* @__PURE__ */ jsx64("p", { children: "After removing this application:" }),
12016
- /* @__PURE__ */ jsxs57("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
12017
- /* @__PURE__ */ jsx64("li", { children: "All transactions will require confirmation" }),
12018
- /* @__PURE__ */ jsx64("li", { children: 'You can re-add it anytime by checking "Trust this app"' })
12106
+ /* @__PURE__ */ jsxs56("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
12107
+ /* @__PURE__ */ jsx63("p", { children: "After removing this application:" }),
12108
+ /* @__PURE__ */ jsxs56("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
12109
+ /* @__PURE__ */ jsx63("li", { children: "All transactions will require confirmation" }),
12110
+ /* @__PURE__ */ jsx63("li", { children: 'You can re-add it anytime by checking "Trust this app"' })
12019
12111
  ] })
12020
12112
  ] })
12021
12113
  ] }),
12022
- /* @__PURE__ */ jsxs57("div", { className: "flex gap-2", children: [
12023
- /* @__PURE__ */ jsx64(Button, { variant: "outline", className: "flex-1", onClick: () => setAppToRemove(null), disabled: isRemoving, children: "Cancel" }),
12024
- /* @__PURE__ */ jsx64(
12114
+ /* @__PURE__ */ jsxs56("div", { className: "flex gap-2", children: [
12115
+ /* @__PURE__ */ jsx63(Button, { variant: "outline", className: "flex-1", onClick: () => setAppToRemove(null), disabled: isRemoving, children: "Cancel" }),
12116
+ /* @__PURE__ */ jsx63(
12025
12117
  Button,
12026
12118
  {
12027
12119
  variant: "default",
12028
12120
  className: "flex-1 bg-[var(--l-pass-error)] hover:bg-[var(--l-pass-error)]/60 active:bg-[var(--l-pass-error)]/40",
12029
12121
  onClick: handleRemoveTrustedApp,
12030
12122
  disabled: isRemoving,
12031
- children: isRemoving ? /* @__PURE__ */ jsx64(Loader22, { className: "h-4 w-4 animate-spin" }) : "Remove"
12123
+ children: isRemoving ? /* @__PURE__ */ jsx63(Loader22, { className: "h-4 w-4 animate-spin" }) : "Remove"
12032
12124
  }
12033
12125
  )
12034
12126
  ] })
@@ -12041,9 +12133,9 @@ function SecurityMenu() {
12041
12133
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12042
12134
  import {
12043
12135
  AlertCircle as AlertCircle5,
12044
- AlertTriangle as AlertTriangle4,
12136
+ AlertTriangle as AlertTriangle5,
12045
12137
  ArrowLeft as ArrowLeft12,
12046
- AtSign,
12138
+ AtSign as AtSign2,
12047
12139
  CheckCircle2 as CheckCircle23,
12048
12140
  Image as ImageIcon3,
12049
12141
  Loader as Loader23,
@@ -12052,7 +12144,7 @@ import {
12052
12144
  Sparkles as Sparkles3,
12053
12145
  Wallet as Wallet3
12054
12146
  } from "lucide-react";
12055
- import { useEffect as useEffect28, useMemo as useMemo6, useState as useState19 } from "react";
12147
+ import { useEffect as useEffect28, useMemo as useMemo6, useState as useState20 } from "react";
12056
12148
  import { formatUnits as formatUnits5, isAddress as isAddress2, parseUnits as parseUnits2 } from "viem";
12057
12149
 
12058
12150
  // src/hooks/useErc3643Compliance.ts
@@ -12119,7 +12211,7 @@ function useErc3643Compliance(options) {
12119
12211
  init_nickname();
12120
12212
  init_profile();
12121
12213
  import { useQuery as useQuery16 } from "@tanstack/react-query";
12122
- import { useState as useState16, useEffect as useEffect26, useMemo as useMemo5 } from "react";
12214
+ import { useState as useState17, useEffect as useEffect26, useMemo as useMemo5 } from "react";
12123
12215
 
12124
12216
  // src/internal/lib/nickname-fingerprint.ts
12125
12217
  import { keccak256 as keccak2562, getAddress as getAddress2 } from "viem";
@@ -12207,8 +12299,8 @@ function looksLikeNickname(input) {
12207
12299
  }
12208
12300
  function useNicknameResolve(input, options) {
12209
12301
  const { enabled = true, chainId } = options;
12210
- const [debouncedInput, setDebouncedInput] = useState16("");
12211
- const [isDebouncing, setIsDebouncing] = useState16(false);
12302
+ const [debouncedInput, setDebouncedInput] = useState17("");
12303
+ const [isDebouncing, setIsDebouncing] = useState17(false);
12212
12304
  const normalized = normalizeNickname(input);
12213
12305
  const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
12214
12306
  useEffect26(() => {
@@ -12261,7 +12353,7 @@ function useNicknameResolve(input, options) {
12261
12353
  }
12262
12354
 
12263
12355
  // src/hooks/useSendTransaction.ts
12264
- import { useCallback as useCallback17, useState as useState17 } from "react";
12356
+ import { useCallback as useCallback16, useState as useState18 } from "react";
12265
12357
  import { encodeFunctionData as encodeFunctionData2, isAddress, parseEther as parseEther2, parseUnits } from "viem";
12266
12358
  init_account();
12267
12359
  var ERC20_TRANSFER_ABI = [
@@ -12304,10 +12396,10 @@ var ERC1155_SAFE_TRANSFER_ABI = [
12304
12396
  function useSendTransaction() {
12305
12397
  const session = useLumiaPassportSession((st) => st.session);
12306
12398
  const address = useLumiaPassportSession((st) => st.address);
12307
- const [isLoading, setIsLoading] = useState17(false);
12308
- const [error, setError] = useState17(null);
12309
- const [userOpHash, setUserOpHash] = useState17(null);
12310
- const sendTransaction = useCallback17(
12399
+ const [isLoading, setIsLoading] = useState18(false);
12400
+ const [error, setError] = useState18(null);
12401
+ const [userOpHash, setUserOpHash] = useState18(null);
12402
+ const sendTransaction = useCallback16(
12311
12403
  async (params) => {
12312
12404
  if (!session || !address) {
12313
12405
  setError("No active session");
@@ -12406,7 +12498,7 @@ function useSendTransaction() {
12406
12498
  },
12407
12499
  [session, address]
12408
12500
  );
12409
- const reset = useCallback17(() => {
12501
+ const reset = useCallback16(() => {
12410
12502
  setError(null);
12411
12503
  setUserOpHash(null);
12412
12504
  setIsLoading(false);
@@ -12425,9 +12517,9 @@ init_base();
12425
12517
 
12426
12518
  // src/internal/components/SendRecieveMenu/AssetSelector.tsx
12427
12519
  import { ChevronDown, Image as ImageIcon2, Shield as Shield2, Sparkles as Sparkles2, X as X4 } from "lucide-react";
12428
- import { useState as useState18, useRef as useRef14, useEffect as useEffect27 } from "react";
12520
+ import { useState as useState19, useRef as useRef14, useEffect as useEffect27 } from "react";
12429
12521
  import { formatUnits as formatUnits4 } from "viem";
12430
- import { Fragment as Fragment24, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
12522
+ import { Fragment as Fragment23, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
12431
12523
  function isNftAsset2(asset) {
12432
12524
  return asset.type === "erc721" || asset.type === "erc1155";
12433
12525
  }
@@ -12448,15 +12540,15 @@ function getAssetBalance(asset) {
12448
12540
  return balance.toFixed(4);
12449
12541
  }
12450
12542
  function AssetIcon({ asset, size = "sm" }) {
12451
- const [imageError, setImageError] = useState18(false);
12543
+ const [imageError, setImageError] = useState19(false);
12452
12544
  const sizeClasses = size === "sm" ? "w-6 h-6" : "w-10 h-10";
12453
12545
  const textSize = size === "sm" ? "text-xs" : "text-sm";
12454
12546
  const isNft = isNftAsset2(asset);
12455
12547
  const nftImage = asset.image || asset.nftMetadata?.image;
12456
12548
  const isSecurity = isSecurityToken2(asset);
12457
12549
  if (isNft && nftImage && !imageError) {
12458
- return /* @__PURE__ */ jsxs58("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] overflow-hidden relative flex-shrink-0"), children: [
12459
- /* @__PURE__ */ jsx65(
12550
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] overflow-hidden relative flex-shrink-0"), children: [
12551
+ /* @__PURE__ */ jsx64(
12460
12552
  "img",
12461
12553
  {
12462
12554
  src: nftImage,
@@ -12465,18 +12557,18 @@ function AssetIcon({ asset, size = "sm" }) {
12465
12557
  onError: () => setImageError(true)
12466
12558
  }
12467
12559
  ),
12468
- /* @__PURE__ */ jsx65("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx65(Sparkles2, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12560
+ /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx64(Sparkles2, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12469
12561
  ] });
12470
12562
  }
12471
12563
  if (isNft) {
12472
- return /* @__PURE__ */ jsxs58("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12473
- /* @__PURE__ */ jsx65(ImageIcon2, { className: cn(size === "sm" ? "w-3 h-3" : "w-5 h-5", "text-[var(--l-pass-fg-inverted)]") }),
12474
- /* @__PURE__ */ jsx65("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx65(Sparkles2, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12564
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12565
+ /* @__PURE__ */ jsx64(ImageIcon2, { className: cn(size === "sm" ? "w-3 h-3" : "w-5 h-5", "text-[var(--l-pass-fg-inverted)]") }),
12566
+ /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx64(Sparkles2, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12475
12567
  ] });
12476
12568
  }
12477
12569
  if (asset.logo && !imageError) {
12478
- return /* @__PURE__ */ jsxs58("div", { className: cn(sizeClasses, "rounded-full overflow-hidden relative flex-shrink-0"), children: [
12479
- /* @__PURE__ */ jsx65(
12570
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-full overflow-hidden relative flex-shrink-0"), children: [
12571
+ /* @__PURE__ */ jsx64(
12480
12572
  "img",
12481
12573
  {
12482
12574
  src: asset.logo,
@@ -12485,12 +12577,12 @@ function AssetIcon({ asset, size = "sm" }) {
12485
12577
  onError: () => setImageError(true)
12486
12578
  }
12487
12579
  ),
12488
- isSecurity && /* @__PURE__ */ jsx65("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ jsx65(Shield2, { className: "w-2 h-2 text-white" }) })
12580
+ isSecurity && /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ jsx64(Shield2, { className: "w-2 h-2 text-white" }) })
12489
12581
  ] });
12490
12582
  }
12491
- return /* @__PURE__ */ jsxs58("div", { className: cn(sizeClasses, "rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12492
- /* @__PURE__ */ jsx65("span", { className: cn("text-[var(--l-pass-fg-inverted)] font-bold", textSize), children: asset.symbol.charAt(0) }),
12493
- isSecurity && /* @__PURE__ */ jsx65("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ jsx65(Shield2, { className: "w-2 h-2 text-white" }) })
12583
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12584
+ /* @__PURE__ */ jsx64("span", { className: cn("text-[var(--l-pass-fg-inverted)] font-bold", textSize), children: asset.symbol.charAt(0) }),
12585
+ isSecurity && /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ jsx64(Shield2, { className: "w-2 h-2 text-white" }) })
12494
12586
  ] });
12495
12587
  }
12496
12588
  function AssetListItem({ asset, onSelect, isSelected }) {
@@ -12500,7 +12592,7 @@ function AssetListItem({ asset, onSelect, isSelected }) {
12500
12592
  e.stopPropagation();
12501
12593
  onSelect();
12502
12594
  };
12503
- return /* @__PURE__ */ jsxs58(
12595
+ return /* @__PURE__ */ jsxs57(
12504
12596
  "button",
12505
12597
  {
12506
12598
  type: "button",
@@ -12511,16 +12603,16 @@ function AssetListItem({ asset, onSelect, isSelected }) {
12511
12603
  ),
12512
12604
  onClick: handleClick,
12513
12605
  children: [
12514
- /* @__PURE__ */ jsx65(AssetIcon, { asset, size: "md" }),
12515
- /* @__PURE__ */ jsxs58("div", { className: "flex-1 min-w-0 text-left", children: [
12516
- /* @__PURE__ */ jsx65("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
12517
- /* @__PURE__ */ jsx65("div", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: isNft ? /* @__PURE__ */ jsxs58(Fragment24, { children: [
12606
+ /* @__PURE__ */ jsx64(AssetIcon, { asset, size: "md" }),
12607
+ /* @__PURE__ */ jsxs57("div", { className: "flex-1 min-w-0 text-left", children: [
12608
+ /* @__PURE__ */ jsx64("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
12609
+ /* @__PURE__ */ jsx64("div", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: isNft ? /* @__PURE__ */ jsxs57(Fragment23, { children: [
12518
12610
  asset.symbol,
12519
- asset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "ml-1", children: [
12611
+ asset.tokenId && /* @__PURE__ */ jsxs57("span", { className: "ml-1", children: [
12520
12612
  "#",
12521
12613
  asset.tokenId.length > 6 ? `${asset.tokenId.slice(0, 4)}...` : asset.tokenId
12522
12614
  ] })
12523
- ] }) : /* @__PURE__ */ jsxs58(Fragment24, { children: [
12615
+ ] }) : /* @__PURE__ */ jsxs57(Fragment23, { children: [
12524
12616
  getAssetBalance(asset),
12525
12617
  " ",
12526
12618
  asset.symbol
@@ -12531,7 +12623,7 @@ function AssetListItem({ asset, onSelect, isSelected }) {
12531
12623
  );
12532
12624
  }
12533
12625
  function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12534
- const [isOpen, setIsOpen] = useState18(false);
12626
+ const [isOpen, setIsOpen] = useState19(false);
12535
12627
  const dropdownRef = useRef14(null);
12536
12628
  const buttonRef = useRef14(null);
12537
12629
  useEffect27(() => {
@@ -12574,8 +12666,8 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12574
12666
  return null;
12575
12667
  }
12576
12668
  const isNft = isNftAsset2(selectedAsset);
12577
- return /* @__PURE__ */ jsxs58("div", { className: "relative", style: { zIndex: isOpen ? 100 : "auto" }, children: [
12578
- /* @__PURE__ */ jsxs58(
12669
+ return /* @__PURE__ */ jsxs57("div", { className: "relative", style: { zIndex: isOpen ? 100 : "auto" }, children: [
12670
+ /* @__PURE__ */ jsxs57(
12579
12671
  "button",
12580
12672
  {
12581
12673
  ref: buttonRef,
@@ -12589,13 +12681,13 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12589
12681
  ),
12590
12682
  onClick: handleToggle,
12591
12683
  children: [
12592
- /* @__PURE__ */ jsx65(AssetIcon, { asset: selectedAsset, size: "sm" }),
12593
- /* @__PURE__ */ jsx65("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)] max-w-[80px] truncate", children: isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.symbol }),
12594
- /* @__PURE__ */ jsx65(ChevronDown, { className: cn("w-4 h-4 text-[var(--l-pass-fg-muted)] transition-transform", isOpen && "rotate-180") })
12684
+ /* @__PURE__ */ jsx64(AssetIcon, { asset: selectedAsset, size: "sm" }),
12685
+ /* @__PURE__ */ jsx64("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)] max-w-[80px] truncate", children: isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.symbol }),
12686
+ /* @__PURE__ */ jsx64(ChevronDown, { className: cn("w-4 h-4 text-[var(--l-pass-fg-muted)] transition-transform", isOpen && "rotate-180") })
12595
12687
  ]
12596
12688
  }
12597
12689
  ),
12598
- isOpen && /* @__PURE__ */ jsxs58(
12690
+ isOpen && /* @__PURE__ */ jsxs57(
12599
12691
  "div",
12600
12692
  {
12601
12693
  ref: dropdownRef,
@@ -12608,12 +12700,12 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12608
12700
  style: { zIndex: 100 },
12609
12701
  onClick: (e) => e.stopPropagation(),
12610
12702
  children: [
12611
- /* @__PURE__ */ jsxs58("div", { className: "sticky top-0 flex items-center justify-between px-3 py-2 bg-[var(--l-pass-bg)] border-b border-[var(--l-pass-bd)]", children: [
12612
- /* @__PURE__ */ jsx65("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)]", children: "Select Asset" }),
12613
- /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", onClick: handleClose, children: /* @__PURE__ */ jsx65(X4, { className: "w-4 h-4" }) })
12703
+ /* @__PURE__ */ jsxs57("div", { className: "sticky top-0 flex items-center justify-between px-3 py-2 bg-[var(--l-pass-bg)] border-b border-[var(--l-pass-bd)]", children: [
12704
+ /* @__PURE__ */ jsx64("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)]", children: "Select Asset" }),
12705
+ /* @__PURE__ */ jsx64(Button, { variant: "ghost", size: "icon", onClick: handleClose, children: /* @__PURE__ */ jsx64(X4, { className: "w-4 h-4" }) })
12614
12706
  ] }),
12615
- /* @__PURE__ */ jsxs58("div", { className: "p-2", children: [
12616
- nativeAssets.length > 0 && /* @__PURE__ */ jsx65(Fragment24, { children: nativeAssets.map((asset) => /* @__PURE__ */ jsx65(
12707
+ /* @__PURE__ */ jsxs57("div", { className: "p-2", children: [
12708
+ nativeAssets.length > 0 && /* @__PURE__ */ jsx64(Fragment23, { children: nativeAssets.map((asset) => /* @__PURE__ */ jsx64(
12617
12709
  AssetListItem,
12618
12710
  {
12619
12711
  asset,
@@ -12622,9 +12714,9 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12622
12714
  },
12623
12715
  `native-${asset.symbol}`
12624
12716
  )) }),
12625
- tokenAssets.length > 0 && /* @__PURE__ */ jsxs58(Fragment24, { children: [
12626
- /* @__PURE__ */ jsx65("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Tokens" }),
12627
- tokenAssets.map((asset) => /* @__PURE__ */ jsx65(
12717
+ tokenAssets.length > 0 && /* @__PURE__ */ jsxs57(Fragment23, { children: [
12718
+ /* @__PURE__ */ jsx64("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Tokens" }),
12719
+ tokenAssets.map((asset) => /* @__PURE__ */ jsx64(
12628
12720
  AssetListItem,
12629
12721
  {
12630
12722
  asset,
@@ -12634,9 +12726,9 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12634
12726
  `token-${asset.address}`
12635
12727
  ))
12636
12728
  ] }),
12637
- securityAssets.length > 0 && /* @__PURE__ */ jsxs58(Fragment24, { children: [
12638
- /* @__PURE__ */ jsx65("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Security Tokens" }),
12639
- securityAssets.map((asset) => /* @__PURE__ */ jsx65(
12729
+ securityAssets.length > 0 && /* @__PURE__ */ jsxs57(Fragment23, { children: [
12730
+ /* @__PURE__ */ jsx64("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Security Tokens" }),
12731
+ securityAssets.map((asset) => /* @__PURE__ */ jsx64(
12640
12732
  AssetListItem,
12641
12733
  {
12642
12734
  asset,
@@ -12646,9 +12738,9 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12646
12738
  `security-${asset.address}`
12647
12739
  ))
12648
12740
  ] }),
12649
- nftAssets.length > 0 && /* @__PURE__ */ jsxs58(Fragment24, { children: [
12650
- /* @__PURE__ */ jsx65("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "NFTs" }),
12651
- nftAssets.map((asset) => /* @__PURE__ */ jsx65(
12741
+ nftAssets.length > 0 && /* @__PURE__ */ jsxs57(Fragment23, { children: [
12742
+ /* @__PURE__ */ jsx64("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "NFTs" }),
12743
+ nftAssets.map((asset) => /* @__PURE__ */ jsx64(
12652
12744
  AssetListItem,
12653
12745
  {
12654
12746
  asset,
@@ -12658,7 +12750,7 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12658
12750
  `nft-${asset.address}-${asset.tokenId}`
12659
12751
  ))
12660
12752
  ] }),
12661
- transferableAssets.length === 0 && /* @__PURE__ */ jsx65("div", { className: "p-4 text-center text-sm text-[var(--l-pass-fg-muted)]", children: "No assets available" })
12753
+ transferableAssets.length === 0 && /* @__PURE__ */ jsx64("div", { className: "p-4 text-center text-sm text-[var(--l-pass-fg-muted)]", children: "No assets available" })
12662
12754
  ] })
12663
12755
  ]
12664
12756
  }
@@ -12667,7 +12759,7 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12667
12759
  }
12668
12760
 
12669
12761
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12670
- import { Fragment as Fragment25, jsx as jsx66, jsxs as jsxs59 } from "react/jsx-runtime";
12762
+ import { Fragment as Fragment24, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
12671
12763
  function isNftAsset3(asset) {
12672
12764
  if (!asset) return false;
12673
12765
  return asset.type === "erc721" || asset.type === "erc1155";
@@ -12691,10 +12783,10 @@ function formatBalance(balance, decimals = 4) {
12691
12783
  return balance.toFixed(decimals);
12692
12784
  }
12693
12785
  function NftDisplayCard({ asset }) {
12694
- const [imageError, setImageError] = useState19(false);
12786
+ const [imageError, setImageError] = useState20(false);
12695
12787
  const nftImage = asset.image || asset.nftMetadata?.image;
12696
- return /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12697
- nftImage && !imageError ? /* @__PURE__ */ jsx66(
12788
+ return /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12789
+ nftImage && !imageError ? /* @__PURE__ */ jsx65(
12698
12790
  "img",
12699
12791
  {
12700
12792
  src: nftImage,
@@ -12702,19 +12794,19 @@ function NftDisplayCard({ asset }) {
12702
12794
  className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] object-cover",
12703
12795
  onError: () => setImageError(true)
12704
12796
  }
12705
- ) : /* @__PURE__ */ jsx66("div", { className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx66(ImageIcon3, { className: "w-8 h-8 text-[var(--l-pass-fg-inverted)]" }) }),
12706
- /* @__PURE__ */ jsxs59("div", { className: "flex-1 min-w-0", children: [
12707
- /* @__PURE__ */ jsx66("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
12708
- /* @__PURE__ */ jsxs59("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: [
12797
+ ) : /* @__PURE__ */ jsx65("div", { className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx65(ImageIcon3, { className: "w-8 h-8 text-[var(--l-pass-fg-inverted)]" }) }),
12798
+ /* @__PURE__ */ jsxs58("div", { className: "flex-1 min-w-0", children: [
12799
+ /* @__PURE__ */ jsx65("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
12800
+ /* @__PURE__ */ jsxs58("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: [
12709
12801
  asset.symbol,
12710
- asset.tokenId && /* @__PURE__ */ jsxs59("span", { className: "ml-1", children: [
12802
+ asset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "ml-1", children: [
12711
12803
  "#",
12712
12804
  asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
12713
12805
  ] })
12714
12806
  ] }),
12715
- /* @__PURE__ */ jsxs59("div", { className: "text-xs text-[var(--l-pass-fg-muted)] mt-1 flex items-center gap-1", children: [
12716
- /* @__PURE__ */ jsx66(Sparkles3, { className: "w-3 h-3" }),
12717
- /* @__PURE__ */ jsx66("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
12807
+ /* @__PURE__ */ jsxs58("div", { className: "text-xs text-[var(--l-pass-fg-muted)] mt-1 flex items-center gap-1", children: [
12808
+ /* @__PURE__ */ jsx65(Sparkles3, { className: "w-3 h-3" }),
12809
+ /* @__PURE__ */ jsx65("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
12718
12810
  ] })
12719
12811
  ] })
12720
12812
  ] });
@@ -12732,11 +12824,11 @@ function SendLumiaMenu() {
12732
12824
  address
12733
12825
  });
12734
12826
  const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
12735
- const [recipient, setRecipient] = useState19("");
12736
- const [amount, setAmount] = useState19("");
12737
- const [selectedAsset, setSelectedAsset] = useState19(null);
12738
- const [txStep, setTxStep] = useState19("input");
12739
- const [validationError, setValidationError] = useState19(null);
12827
+ const [recipient, setRecipient] = useState20("");
12828
+ const [amount, setAmount] = useState20("");
12829
+ const [selectedAsset, setSelectedAsset] = useState20(null);
12830
+ const [txStep, setTxStep] = useState20("input");
12831
+ const [validationError, setValidationError] = useState20(null);
12740
12832
  useEffect28(() => {
12741
12833
  if (assets.length > 0 && !selectedAsset) {
12742
12834
  const nativeAsset = assets.find((a) => a.type === "native");
@@ -12900,66 +12992,66 @@ function SendLumiaMenu() {
12900
12992
  if (isNft) return `Send NFT`;
12901
12993
  return `Send ${selectedAsset.symbol}`;
12902
12994
  };
12903
- return /* @__PURE__ */ jsxs59("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12904
- /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12905
- txStep === "input" && /* @__PURE__ */ jsx66(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx66(ArrowLeft12, { className: "h-4 w-4" }) }),
12906
- /* @__PURE__ */ jsx66("span", { className: "text-xl font-semibold", children: getPageTitle() })
12995
+ return /* @__PURE__ */ jsxs58("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12996
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12997
+ txStep === "input" && /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx65(ArrowLeft12, { className: "h-4 w-4" }) }),
12998
+ /* @__PURE__ */ jsx65("span", { className: "text-xl font-semibold", children: getPageTitle() })
12907
12999
  ] }),
12908
- txStep === "input" && /* @__PURE__ */ jsxs59(Fragment25, { children: [
12909
- /* @__PURE__ */ jsxs59("div", { className: "w-full flex flex-col gap-2", children: [
12910
- /* @__PURE__ */ jsx66("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12911
- /* @__PURE__ */ jsx66(
13000
+ txStep === "input" && /* @__PURE__ */ jsxs58(Fragment24, { children: [
13001
+ /* @__PURE__ */ jsxs58("div", { className: "w-full flex flex-col gap-2", children: [
13002
+ /* @__PURE__ */ jsx65("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
13003
+ /* @__PURE__ */ jsx65(
12912
13004
  Input,
12913
13005
  {
12914
- Icon: isNicknameInput ? AtSign : Wallet3,
13006
+ Icon: isNicknameInput ? AtSign2 : Wallet3,
12915
13007
  type: "text",
12916
13008
  value: recipient,
12917
13009
  onChange: (e) => setRecipient(e.target.value),
12918
13010
  placeholder: "0x... or @nickname",
12919
- element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx66(Loader23, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
13011
+ element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx65(Loader23, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12920
13012
  }
12921
13013
  ),
12922
- isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ jsxs59("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12923
- nicknameData.avatarSvg ? /* @__PURE__ */ jsx66(
13014
+ isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ jsxs58("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13015
+ nicknameData.avatarSvg ? /* @__PURE__ */ jsx65(
12924
13016
  "img",
12925
13017
  {
12926
13018
  src: nicknameData.avatarSvg,
12927
13019
  alt: nicknameData.handle,
12928
13020
  className: "w-10 h-10 rounded-full object-cover flex-shrink-0"
12929
13021
  }
12930
- ) : /* @__PURE__ */ jsx66("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx66(AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
12931
- /* @__PURE__ */ jsxs59("div", { className: "flex flex-col gap-1 min-w-0", children: [
12932
- /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
12933
- /* @__PURE__ */ jsx66(CheckCircle23, { className: "w-3 h-3 flex-shrink-0" }),
12934
- /* @__PURE__ */ jsx66("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
13022
+ ) : /* @__PURE__ */ jsx65("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx65(AtSign2, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
13023
+ /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-1 min-w-0", children: [
13024
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
13025
+ /* @__PURE__ */ jsx65(CheckCircle23, { className: "w-3 h-3 flex-shrink-0" }),
13026
+ /* @__PURE__ */ jsx65("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
12935
13027
  ] }),
12936
- nicknameData.fingerprint && /* @__PURE__ */ jsxs59("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12937
- isFingerprintVerified ? /* @__PURE__ */ jsx66(Shield3, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ jsx66(ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
12938
- /* @__PURE__ */ jsxs59("span", { children: [
13028
+ nicknameData.fingerprint && /* @__PURE__ */ jsxs58("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13029
+ isFingerprintVerified ? /* @__PURE__ */ jsx65(Shield3, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ jsx65(ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
13030
+ /* @__PURE__ */ jsxs58("span", { children: [
12939
13031
  "Fingerprint: ",
12940
13032
  nicknameData.fingerprint
12941
13033
  ] }),
12942
- /* @__PURE__ */ jsx66("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
13034
+ /* @__PURE__ */ jsx65("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
12943
13035
  ] })
12944
13036
  ] })
12945
13037
  ] }),
12946
- isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
12947
- /* @__PURE__ */ jsx66(AlertTriangle4, { className: "w-3 h-3" }),
12948
- /* @__PURE__ */ jsx66("span", { children: "This handle is frozen. Proceed with caution." })
13038
+ isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
13039
+ /* @__PURE__ */ jsx65(AlertTriangle5, { className: "w-3 h-3" }),
13040
+ /* @__PURE__ */ jsx65("span", { children: "This handle is frozen. Proceed with caution." })
12949
13041
  ] }),
12950
- isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12951
- /* @__PURE__ */ jsx66(AlertCircle5, { className: "w-3 h-3" }),
12952
- /* @__PURE__ */ jsx66("span", { children: "This user has not set up their wallet yet" })
13042
+ isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
13043
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "w-3 h-3" }),
13044
+ /* @__PURE__ */ jsx65("span", { children: "This user has not set up their wallet yet" })
12953
13045
  ] }),
12954
- isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12955
- /* @__PURE__ */ jsx66(AlertCircle5, { className: "w-3 h-3" }),
12956
- /* @__PURE__ */ jsx66("span", { children: "Nickname not found" })
13046
+ isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
13047
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "w-3 h-3" }),
13048
+ /* @__PURE__ */ jsx65("span", { children: "Nickname not found" })
12957
13049
  ] })
12958
13050
  ] }),
12959
- /* @__PURE__ */ jsxs59("div", { className: "w-full flex flex-col gap-2", children: [
12960
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-between items-center", children: [
12961
- /* @__PURE__ */ jsx66("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: isNft ? "Asset" : "Amount" }),
12962
- !isNft && selectedAsset && /* @__PURE__ */ jsxs59("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
13051
+ /* @__PURE__ */ jsxs58("div", { className: "w-full flex flex-col gap-2", children: [
13052
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between items-center", children: [
13053
+ /* @__PURE__ */ jsx65("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: isNft ? "Asset" : "Amount" }),
13054
+ !isNft && selectedAsset && /* @__PURE__ */ jsxs58("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
12963
13055
  "Balance: ",
12964
13056
  formatBalance(balance),
12965
13057
  " ",
@@ -12968,11 +13060,11 @@ function SendLumiaMenu() {
12968
13060
  ] }),
12969
13061
  isNft && selectedAsset ? (
12970
13062
  // NFT display card
12971
- /* @__PURE__ */ jsx66(NftDisplayCard, { asset: selectedAsset })
13063
+ /* @__PURE__ */ jsx65(NftDisplayCard, { asset: selectedAsset })
12972
13064
  ) : (
12973
13065
  // Fungible token amount input
12974
- /* @__PURE__ */ jsxs59("div", { className: "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] transition-colors duration-200 ease-in-out focus-within:bg-[var(--l-pass-secondary-a)]", children: [
12975
- selectedAsset && /* @__PURE__ */ jsx66(
13066
+ /* @__PURE__ */ jsxs58("div", { className: "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] transition-colors duration-200 ease-in-out focus-within:bg-[var(--l-pass-secondary-a)]", children: [
13067
+ selectedAsset && /* @__PURE__ */ jsx65(
12976
13068
  AssetSelector,
12977
13069
  {
12978
13070
  assets,
@@ -12981,7 +13073,7 @@ function SendLumiaMenu() {
12981
13073
  disabled: isAssetsLoading
12982
13074
  }
12983
13075
  ),
12984
- /* @__PURE__ */ jsx66(
13076
+ /* @__PURE__ */ jsx65(
12985
13077
  "input",
12986
13078
  {
12987
13079
  type: "number",
@@ -12997,12 +13089,12 @@ function SendLumiaMenu() {
12997
13089
  )
12998
13090
  }
12999
13091
  ),
13000
- /* @__PURE__ */ jsx66(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
13092
+ /* @__PURE__ */ jsx65(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
13001
13093
  ] })
13002
13094
  ),
13003
- isNft && selectedAsset && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2 mt-2", children: [
13004
- /* @__PURE__ */ jsx66("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Change asset:" }),
13005
- /* @__PURE__ */ jsx66(
13095
+ isNft && selectedAsset && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 mt-2", children: [
13096
+ /* @__PURE__ */ jsx65("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Change asset:" }),
13097
+ /* @__PURE__ */ jsx65(
13006
13098
  AssetSelector,
13007
13099
  {
13008
13100
  assets,
@@ -13013,71 +13105,71 @@ function SendLumiaMenu() {
13013
13105
  )
13014
13106
  ] })
13015
13107
  ] }),
13016
- isSecurity && effectiveAddress && amount && /* @__PURE__ */ jsx66("div", { className: cn(
13108
+ isSecurity && effectiveAddress && amount && /* @__PURE__ */ jsx65("div", { className: cn(
13017
13109
  "flex items-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)]",
13018
13110
  isComplianceLoading && "bg-[var(--l-pass-bg-info)] text-[var(--l-pass-info)]",
13019
13111
  !isComplianceLoading && erc3643CanTransfer && "bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)]",
13020
13112
  !isComplianceLoading && !erc3643CanTransfer && "bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)]"
13021
- ), children: isComplianceLoading ? /* @__PURE__ */ jsxs59(Fragment25, { children: [
13022
- /* @__PURE__ */ jsx66(Loader23, { className: "h-4 w-4 animate-spin" }),
13023
- /* @__PURE__ */ jsx66("span", { className: "text-sm", children: "Checking compliance..." })
13024
- ] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs59(Fragment25, { children: [
13025
- /* @__PURE__ */ jsx66(CheckCircle23, { className: "h-4 w-4" }),
13026
- /* @__PURE__ */ jsx66("span", { className: "text-sm", children: "Transfer compliant" })
13027
- ] }) : /* @__PURE__ */ jsxs59(Fragment25, { children: [
13028
- /* @__PURE__ */ jsx66(AlertCircle5, { className: "h-4 w-4" }),
13029
- /* @__PURE__ */ jsx66("span", { className: "text-sm", children: complianceError || "Transfer not allowed" })
13113
+ ), children: isComplianceLoading ? /* @__PURE__ */ jsxs58(Fragment24, { children: [
13114
+ /* @__PURE__ */ jsx65(Loader23, { className: "h-4 w-4 animate-spin" }),
13115
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: "Checking compliance..." })
13116
+ ] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs58(Fragment24, { children: [
13117
+ /* @__PURE__ */ jsx65(CheckCircle23, { className: "h-4 w-4" }),
13118
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: "Transfer compliant" })
13119
+ ] }) : /* @__PURE__ */ jsxs58(Fragment24, { children: [
13120
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "h-4 w-4" }),
13121
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: complianceError || "Transfer not allowed" })
13030
13122
  ] }) }),
13031
- (validationError || error) && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
13032
- /* @__PURE__ */ jsx66(AlertCircle5, { className: "h-4 w-4" }),
13033
- /* @__PURE__ */ jsx66("span", { className: "text-sm", children: validationError || error })
13123
+ (validationError || error) && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
13124
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "h-4 w-4" }),
13125
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: validationError || error })
13034
13126
  ] }),
13035
- /* @__PURE__ */ jsx66(Button, { onClick: handleSend, disabled: isLoading || isComplianceLoading, className: "w-full", size: "large", children: "Continue" })
13127
+ /* @__PURE__ */ jsx65(Button, { onClick: handleSend, disabled: isLoading || isComplianceLoading, className: "w-full", size: "large", children: "Continue" })
13036
13128
  ] }),
13037
- txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ jsxs59(Fragment25, { children: [
13038
- isNicknameInput && isFrozen && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
13039
- /* @__PURE__ */ jsx66(AlertTriangle4, { className: "h-4 w-4 flex-shrink-0" }),
13040
- /* @__PURE__ */ jsx66("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
13129
+ txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ jsxs58(Fragment24, { children: [
13130
+ isNicknameInput && isFrozen && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
13131
+ /* @__PURE__ */ jsx65(AlertTriangle5, { className: "h-4 w-4 flex-shrink-0" }),
13132
+ /* @__PURE__ */ jsx65("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
13041
13133
  ] }),
13042
- isSecurity && erc3643CanTransfer && /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] rounded-[var(--l-pass-el-bdrs)]", children: [
13043
- /* @__PURE__ */ jsx66(Shield3, { className: "h-4 w-4 flex-shrink-0" }),
13044
- /* @__PURE__ */ jsx66("span", { className: "text-sm font-medium", children: "Security token compliance verified" })
13134
+ isSecurity && erc3643CanTransfer && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] rounded-[var(--l-pass-el-bdrs)]", children: [
13135
+ /* @__PURE__ */ jsx65(Shield3, { className: "h-4 w-4 flex-shrink-0" }),
13136
+ /* @__PURE__ */ jsx65("span", { className: "text-sm font-medium", children: "Security token compliance verified" })
13045
13137
  ] }),
13046
- /* @__PURE__ */ jsx66("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs59(Fragment25, { children: [
13047
- /* @__PURE__ */ jsxs59("div", { className: "flex items-start gap-3 mb-4", children: [
13048
- nicknameData.avatarSvg ? /* @__PURE__ */ jsx66(
13138
+ /* @__PURE__ */ jsx65("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs58(Fragment24, { children: [
13139
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-start gap-3 mb-4", children: [
13140
+ nicknameData.avatarSvg ? /* @__PURE__ */ jsx65(
13049
13141
  "img",
13050
13142
  {
13051
13143
  src: nicknameData.avatarSvg,
13052
13144
  alt: nicknameData.handle,
13053
13145
  className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
13054
13146
  }
13055
- ) : /* @__PURE__ */ jsx66("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx66(AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
13056
- /* @__PURE__ */ jsxs59("div", { className: "flex flex-col gap-1 min-w-0", children: [
13057
- /* @__PURE__ */ jsx66("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
13058
- nicknameData.fingerprint && /* @__PURE__ */ jsxs59("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13059
- isFingerprintVerified ? /* @__PURE__ */ jsx66(Shield3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx66(ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
13060
- /* @__PURE__ */ jsxs59("span", { children: [
13147
+ ) : /* @__PURE__ */ jsx65("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx65(AtSign2, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
13148
+ /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-1 min-w-0", children: [
13149
+ /* @__PURE__ */ jsx65("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
13150
+ nicknameData.fingerprint && /* @__PURE__ */ jsxs58("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13151
+ isFingerprintVerified ? /* @__PURE__ */ jsx65(Shield3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx65(ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
13152
+ /* @__PURE__ */ jsxs58("span", { children: [
13061
13153
  "Fingerprint: ",
13062
13154
  nicknameData.fingerprint
13063
13155
  ] }),
13064
- isFingerprintVerified && /* @__PURE__ */ jsx66(CheckCircle23, { className: "w-3 h-3" }),
13065
- /* @__PURE__ */ jsx66("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
13156
+ isFingerprintVerified && /* @__PURE__ */ jsx65(CheckCircle23, { className: "w-3 h-3" }),
13157
+ /* @__PURE__ */ jsx65("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
13066
13158
  ] }),
13067
- /* @__PURE__ */ jsxs59("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
13159
+ /* @__PURE__ */ jsxs58("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
13068
13160
  "Address: ",
13069
13161
  `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-6)}`
13070
13162
  ] })
13071
13163
  ] })
13072
13164
  ] }),
13073
- /* @__PURE__ */ jsxs59("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13165
+ /* @__PURE__ */ jsxs58("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13074
13166
  isNft ? (
13075
13167
  // NFT details
13076
- /* @__PURE__ */ jsx66(Fragment25, { children: /* @__PURE__ */ jsxs59("div", { className: "flex justify-between items-start", children: [
13077
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13078
- /* @__PURE__ */ jsxs59("div", { className: "text-right", children: [
13079
- /* @__PURE__ */ jsx66("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13080
- selectedAsset.tokenId && /* @__PURE__ */ jsxs59("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13168
+ /* @__PURE__ */ jsx65(Fragment24, { children: /* @__PURE__ */ jsxs58("div", { className: "flex justify-between items-start", children: [
13169
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13170
+ /* @__PURE__ */ jsxs58("div", { className: "text-right", children: [
13171
+ /* @__PURE__ */ jsx65("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13172
+ selectedAsset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13081
13173
  "#",
13082
13174
  selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13083
13175
  ] })
@@ -13085,34 +13177,34 @@ function SendLumiaMenu() {
13085
13177
  ] }) })
13086
13178
  ) : (
13087
13179
  // Fungible token details
13088
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-between", children: [
13089
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13090
- /* @__PURE__ */ jsxs59("span", { className: "font-semibold", children: [
13180
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13181
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13182
+ /* @__PURE__ */ jsxs58("span", { className: "font-semibold", children: [
13091
13183
  amount,
13092
13184
  " ",
13093
13185
  selectedAsset.symbol
13094
13186
  ] })
13095
13187
  ] })
13096
13188
  ),
13097
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-between", children: [
13098
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13099
- /* @__PURE__ */ jsx66("span", { children: "Lumia Beam" })
13189
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13190
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13191
+ /* @__PURE__ */ jsx65("span", { children: "Lumia Beam" })
13100
13192
  ] })
13101
13193
  ] })
13102
- ] }) : /* @__PURE__ */ jsxs59(Fragment25, { children: [
13103
- /* @__PURE__ */ jsx66("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
13104
- /* @__PURE__ */ jsxs59("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13105
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-between", children: [
13106
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
13107
- /* @__PURE__ */ jsx66("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
13194
+ ] }) : /* @__PURE__ */ jsxs58(Fragment24, { children: [
13195
+ /* @__PURE__ */ jsx65("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
13196
+ /* @__PURE__ */ jsxs58("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13197
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13198
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
13199
+ /* @__PURE__ */ jsx65("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
13108
13200
  ] }),
13109
13201
  isNft ? (
13110
13202
  // NFT details
13111
- /* @__PURE__ */ jsx66(Fragment25, { children: /* @__PURE__ */ jsxs59("div", { className: "flex justify-between items-start", children: [
13112
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13113
- /* @__PURE__ */ jsxs59("div", { className: "text-right", children: [
13114
- /* @__PURE__ */ jsx66("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13115
- selectedAsset.tokenId && /* @__PURE__ */ jsxs59("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13203
+ /* @__PURE__ */ jsx65(Fragment24, { children: /* @__PURE__ */ jsxs58("div", { className: "flex justify-between items-start", children: [
13204
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13205
+ /* @__PURE__ */ jsxs58("div", { className: "text-right", children: [
13206
+ /* @__PURE__ */ jsx65("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13207
+ selectedAsset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13116
13208
  "#",
13117
13209
  selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13118
13210
  ] })
@@ -13120,53 +13212,53 @@ function SendLumiaMenu() {
13120
13212
  ] }) })
13121
13213
  ) : (
13122
13214
  // Fungible token details
13123
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-between", children: [
13124
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13125
- /* @__PURE__ */ jsxs59("span", { className: "font-semibold", children: [
13215
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13216
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13217
+ /* @__PURE__ */ jsxs58("span", { className: "font-semibold", children: [
13126
13218
  amount,
13127
13219
  " ",
13128
13220
  selectedAsset.symbol
13129
13221
  ] })
13130
13222
  ] })
13131
13223
  ),
13132
- /* @__PURE__ */ jsxs59("div", { className: "flex justify-between", children: [
13133
- /* @__PURE__ */ jsx66("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13134
- /* @__PURE__ */ jsx66("span", { children: "Lumia Beam" })
13224
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13225
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13226
+ /* @__PURE__ */ jsx65("span", { children: "Lumia Beam" })
13135
13227
  ] })
13136
13228
  ] })
13137
13229
  ] }) }),
13138
- /* @__PURE__ */ jsxs59("div", { className: "flex gap-2", children: [
13139
- /* @__PURE__ */ jsx66(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
13140
- /* @__PURE__ */ jsxs59(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
13141
- isLoading && /* @__PURE__ */ jsx66(Loader23, { className: "h-4 w-4 animate-spin" }),
13230
+ /* @__PURE__ */ jsxs58("div", { className: "flex gap-2", children: [
13231
+ /* @__PURE__ */ jsx65(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
13232
+ /* @__PURE__ */ jsxs58(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
13233
+ isLoading && /* @__PURE__ */ jsx65(Loader23, { className: "h-4 w-4 animate-spin" }),
13142
13234
  "Confirm"
13143
13235
  ] })
13144
13236
  ] })
13145
13237
  ] }),
13146
- txStep === "pending" && /* @__PURE__ */ jsxs59("div", { className: "py-8 text-center space-y-4", children: [
13147
- /* @__PURE__ */ jsx66(Loader23, { className: "h-5 w-5 animate-spin mx-auto" }),
13148
- /* @__PURE__ */ jsxs59("div", { children: [
13149
- /* @__PURE__ */ jsx66("span", { className: "block font-medium", children: "Transaction Pending" }),
13150
- /* @__PURE__ */ jsx66("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
13238
+ txStep === "pending" && /* @__PURE__ */ jsxs58("div", { className: "py-8 text-center space-y-4", children: [
13239
+ /* @__PURE__ */ jsx65(Loader23, { className: "h-5 w-5 animate-spin mx-auto" }),
13240
+ /* @__PURE__ */ jsxs58("div", { children: [
13241
+ /* @__PURE__ */ jsx65("span", { className: "block font-medium", children: "Transaction Pending" }),
13242
+ /* @__PURE__ */ jsx65("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
13151
13243
  ] })
13152
13244
  ] }),
13153
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs59(Fragment25, { children: [
13154
- /* @__PURE__ */ jsxs59("div", { className: "text-center py-4", children: [
13155
- /* @__PURE__ */ jsx66(CheckCircle23, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
13156
- /* @__PURE__ */ jsx66("p", { className: "font-medium", children: "Transaction Sent!" }),
13157
- /* @__PURE__ */ jsx66("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
13245
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs58(Fragment24, { children: [
13246
+ /* @__PURE__ */ jsxs58("div", { className: "text-center py-4", children: [
13247
+ /* @__PURE__ */ jsx65(CheckCircle23, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
13248
+ /* @__PURE__ */ jsx65("p", { className: "font-medium", children: "Transaction Sent!" }),
13249
+ /* @__PURE__ */ jsx65("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
13158
13250
  ] }),
13159
- /* @__PURE__ */ jsx66(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
13251
+ /* @__PURE__ */ jsx65(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
13160
13252
  ] })
13161
13253
  ] });
13162
13254
  }
13163
13255
 
13164
13256
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
13165
- import { ArrowLeft as ArrowLeft13, CheckCircle2 as CheckCircle24, Copy as Copy2, Info as Info3, Loader as Loader24, Shield as Shield4 } from "lucide-react";
13257
+ import { ArrowLeft as ArrowLeft13, CheckCircle2 as CheckCircle24, Copy as Copy3, Info as Info4, Loader as Loader24, Shield as Shield4 } from "lucide-react";
13166
13258
  import QRCode from "qrcode";
13167
- import { useCallback as useCallback18, useEffect as useEffect29, useMemo as useMemo7, useState as useState20 } from "react";
13259
+ import { useCallback as useCallback17, useEffect as useEffect29, useMemo as useMemo7, useState as useState21 } from "react";
13168
13260
  init_clients();
13169
- import { Fragment as Fragment26, jsx as jsx67, jsxs as jsxs60 } from "react/jsx-runtime";
13261
+ import { Fragment as Fragment25, jsx as jsx66, jsxs as jsxs59 } from "react/jsx-runtime";
13170
13262
  function ReceiveLumiaMenu() {
13171
13263
  const session = useLumiaPassportSession((st) => st.session);
13172
13264
  const address = session?.smartAccountAddress ?? null;
@@ -13174,9 +13266,9 @@ function ReceiveLumiaMenu() {
13174
13266
  const setPage = useLayoutDataStore((st) => st.setPage);
13175
13267
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
13176
13268
  const open = page === "receive";
13177
- const [qrCodeUrl, setQrCodeUrl] = useState20("");
13178
- const [copied, setCopied] = useState20(false);
13179
- const [fingerprintCopied, setFingerprintCopied] = useState20(false);
13269
+ const [qrCodeUrl, setQrCodeUrl] = useState21("");
13270
+ const [copied, setCopied] = useState21(false);
13271
+ const [fingerprintCopied, setFingerprintCopied] = useState21(false);
13180
13272
  const fingerprint = useMemo7(() => {
13181
13273
  if (!session?.ownerAddress) return null;
13182
13274
  try {
@@ -13198,7 +13290,7 @@ function ReceiveLumiaMenu() {
13198
13290
  });
13199
13291
  }
13200
13292
  }, [open, address]);
13201
- const handleCopy = useCallback18(async () => {
13293
+ const handleCopy = useCallback17(async () => {
13202
13294
  if (!address) return;
13203
13295
  try {
13204
13296
  await navigator.clipboard.writeText(address);
@@ -13208,7 +13300,7 @@ function ReceiveLumiaMenu() {
13208
13300
  console.error("Failed to copy address:", error);
13209
13301
  }
13210
13302
  }, [address]);
13211
- const handleCopyFingerprint = useCallback18(async () => {
13303
+ const handleCopyFingerprint = useCallback17(async () => {
13212
13304
  if (!fingerprint) return;
13213
13305
  try {
13214
13306
  await navigator.clipboard.writeText(fingerprint);
@@ -13218,7 +13310,7 @@ function ReceiveLumiaMenu() {
13218
13310
  console.error("Failed to copy fingerprint:", error);
13219
13311
  }
13220
13312
  }, [fingerprint]);
13221
- return /* @__PURE__ */ jsxs60(
13313
+ return /* @__PURE__ */ jsxs59(
13222
13314
  "div",
13223
13315
  {
13224
13316
  style: {
@@ -13227,61 +13319,64 @@ function ReceiveLumiaMenu() {
13227
13319
  },
13228
13320
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
13229
13321
  children: [
13230
- /* @__PURE__ */ jsxs60("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
13231
- /* @__PURE__ */ jsx67(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx67(ArrowLeft13, { className: "h-4 w-4" }) }),
13232
- /* @__PURE__ */ jsx67("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
13322
+ /* @__PURE__ */ jsxs59("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
13323
+ /* @__PURE__ */ jsx66(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx66(ArrowLeft13, { className: "h-4 w-4" }) }),
13324
+ /* @__PURE__ */ jsx66("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
13233
13325
  ] }),
13234
- /* @__PURE__ */ jsxs60(Highlight, { className: "text-center", type: "warning", children: [
13235
- /* @__PURE__ */ jsx67("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
13236
- /* @__PURE__ */ jsx67("span", { className: "block w-full", children: "Ensure sender is on the same network" })
13326
+ /* @__PURE__ */ jsxs59(Highlight, { className: "text-center", type: "warning", children: [
13327
+ /* @__PURE__ */ jsx66("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
13328
+ /* @__PURE__ */ jsx66("span", { className: "block w-full", children: "Ensure sender is on the same network" })
13237
13329
  ] }),
13238
- /* @__PURE__ */ jsx67("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx67("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx67(Loader24, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
13239
- fingerprint && /* @__PURE__ */ jsxs60("div", { className: "flex items-center justify-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13240
- /* @__PURE__ */ jsx67(Shield4, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
13241
- /* @__PURE__ */ jsx67("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Fingerprint:" }),
13242
- /* @__PURE__ */ jsx67("span", { className: "font-mono text-sm font-semibold text-[var(--l-pass-fg)]", children: fingerprint }),
13243
- /* @__PURE__ */ jsxs60("div", { className: "relative group", children: [
13244
- /* @__PURE__ */ jsx67(Info3, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)] cursor-help" }),
13245
- /* @__PURE__ */ jsx67("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-xs bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)] rounded shadow-lg opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-10", children: "Share this to verify your identity" })
13330
+ /* @__PURE__ */ jsx66("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx66("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx66(Loader24, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
13331
+ fingerprint && /* @__PURE__ */ jsxs59("div", { className: "flex items-center justify-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13332
+ /* @__PURE__ */ jsx66(Shield4, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
13333
+ /* @__PURE__ */ jsx66("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Fingerprint:" }),
13334
+ /* @__PURE__ */ jsx66("span", { className: "font-mono text-sm font-semibold text-[var(--l-pass-fg)]", children: fingerprint }),
13335
+ /* @__PURE__ */ jsxs59("div", { className: "relative group", children: [
13336
+ /* @__PURE__ */ jsx66(Info4, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)] cursor-help" }),
13337
+ /* @__PURE__ */ jsx66("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-xs bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)] rounded shadow-lg opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-10", children: "Share this to verify your identity" })
13246
13338
  ] }),
13247
- /* @__PURE__ */ jsx67(
13339
+ /* @__PURE__ */ jsx66(
13248
13340
  "button",
13249
13341
  {
13250
13342
  onClick: handleCopyFingerprint,
13251
13343
  className: "p-1 rounded hover:bg-[var(--l-pass-bg)] transition-colors",
13252
13344
  title: "Copy fingerprint",
13253
- children: fingerprintCopied ? /* @__PURE__ */ jsx67(CheckCircle24, { className: "w-3.5 h-3.5 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ jsx67(Copy2, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)]" })
13345
+ children: fingerprintCopied ? /* @__PURE__ */ jsx66(CheckCircle24, { className: "w-3.5 h-3.5 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ jsx66(Copy3, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)]" })
13254
13346
  }
13255
13347
  )
13256
13348
  ] }),
13257
- /* @__PURE__ */ jsxs60(Highlight, { type: "info", children: [
13258
- /* @__PURE__ */ jsx67("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
13259
- /* @__PURE__ */ jsx67(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs60(Fragment26, { children: [
13260
- /* @__PURE__ */ jsx67(CheckCircle24, { className: "h-4 w-4" }),
13261
- /* @__PURE__ */ jsx67("span", { children: "Copied!" })
13262
- ] }) : /* @__PURE__ */ jsxs60(Fragment26, { children: [
13263
- /* @__PURE__ */ jsx67(Copy2, { className: "h-4 w-4" }),
13264
- /* @__PURE__ */ jsx67("span", { children: "Copy Address" })
13349
+ /* @__PURE__ */ jsxs59(Highlight, { type: "info", children: [
13350
+ /* @__PURE__ */ jsx66("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
13351
+ /* @__PURE__ */ jsx66(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs59(Fragment25, { children: [
13352
+ /* @__PURE__ */ jsx66(CheckCircle24, { className: "h-4 w-4" }),
13353
+ /* @__PURE__ */ jsx66("span", { children: "Copied!" })
13354
+ ] }) : /* @__PURE__ */ jsxs59(Fragment25, { children: [
13355
+ /* @__PURE__ */ jsx66(Copy3, { className: "h-4 w-4" }),
13356
+ /* @__PURE__ */ jsx66("span", { children: "Copy Address" })
13265
13357
  ] }) })
13266
13358
  ] }),
13267
- /* @__PURE__ */ jsx67("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx67("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
13359
+ /* @__PURE__ */ jsx66("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx66("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
13268
13360
  ]
13269
13361
  }
13270
13362
  );
13271
13363
  }
13272
13364
 
13273
13365
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
13366
+ init_nickname();
13367
+ init_profile();
13368
+ import { useQuery as useQuery17 } from "@tanstack/react-query";
13274
13369
  import { ArrowLeft as ArrowLeft14 } from "lucide-react";
13275
13370
  import { useEffect as useEffect30 } from "react";
13276
13371
 
13277
13372
  // src/internal/components/SettingsMenu/constants.ts
13278
- import { ArrowLeftRight, AtSign as AtSign2, DatabaseBackup, LockKeyhole, UsersRound } from "lucide-react";
13373
+ import { ArrowLeftRight, AtSign as AtSign3, DatabaseBackup, LockKeyhole, UsersRound } from "lucide-react";
13279
13374
 
13280
13375
  // src/internal/assets/KycIcon.tsx
13281
- import { jsx as jsx68 } from "react/jsx-runtime";
13376
+ import { jsx as jsx67 } from "react/jsx-runtime";
13282
13377
  function KycIcon(props) {
13283
13378
  const { width = "24", height = "24", ...rest } = props;
13284
- return /* @__PURE__ */ jsx68("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx68(
13379
+ return /* @__PURE__ */ jsx67("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx67(
13285
13380
  "path",
13286
13381
  {
13287
13382
  d: "M12 18.5455C10.1727 18.5455 8.625 17.9114 7.35682 16.6432C6.08864 15.375 5.45455 13.8273 5.45455 12C5.45455 10.1727 6.08864 8.625 7.35682 7.35682C8.625 6.08864 10.1727 5.45455 12 5.45455C13.8273 5.45455 15.375 6.08864 16.6432 7.35682C17.9114 8.625 18.5455 10.1727 18.5455 12C18.5455 13.8273 17.9114 15.375 16.6432 16.6432C15.375 17.9114 13.8273 18.5455 12 18.5455ZM12 16.9091C13.3636 16.9091 14.5227 16.4318 15.4773 15.4773C16.4318 14.5227 16.9091 13.3636 16.9091 12C16.9091 11.7682 16.892 11.5398 16.858 11.3148C16.8239 11.0898 16.7727 10.8682 16.7045 10.65C16.5 10.6909 16.2955 10.7216 16.0909 10.742C15.8864 10.7625 15.6818 10.7727 15.4773 10.7727C14.6182 10.7727 13.8 10.6091 13.0227 10.2818C12.2455 9.95455 11.55 9.47727 10.9364 8.85C10.5545 9.62727 10.0295 10.3023 9.36136 10.875C8.69318 11.4477 7.93636 11.8636 7.09091 12.1227C7.13182 13.4591 7.62614 14.5909 8.57386 15.5182C9.52159 16.4455 10.6636 16.9091 12 16.9091ZM7.41818 10.2409C8.01818 9.92727 8.475 9.5625 8.78864 9.14659C9.10227 8.73068 9.40909 8.23636 9.70909 7.66364C9.19091 7.93636 8.73409 8.29432 8.33864 8.7375C7.94318 9.18068 7.63636 9.68182 7.41818 10.2409ZM9.95455 13.6364C9.72273 13.6364 9.52841 13.558 9.37159 13.4011C9.21477 13.2443 9.13636 13.05 9.13636 12.8182C9.13636 12.5864 9.21477 12.392 9.37159 12.2352C9.52841 12.0784 9.72273 12 9.95455 12C10.1864 12 10.3807 12.0784 10.5375 12.2352C10.6943 12.392 10.7727 12.5864 10.7727 12.8182C10.7727 13.05 10.6943 13.2443 10.5375 13.4011C10.3807 13.558 10.1864 13.6364 9.95455 13.6364ZM15.4773 9.13636H15.7227C15.8045 9.13636 15.8864 9.12955 15.9682 9.11591C15.5182 8.50227 14.9489 8.01136 14.2602 7.64318C13.5716 7.275 12.8182 7.09091 12 7.09091H11.7545C11.6727 7.09091 11.5977 7.09773 11.5295 7.11136C12.0614 7.725 12.6239 8.21591 13.217 8.58409C13.8102 8.95227 14.5636 9.13636 15.4773 9.13636ZM14.0455 13.6364C13.8136 13.6364 13.6193 13.558 13.4625 13.4011C13.3057 13.2443 13.2273 13.05 13.2273 12.8182C13.2273 12.5864 13.3057 12.392 13.4625 12.2352C13.6193 12.0784 13.8136 12 14.0455 12C14.2773 12 14.4716 12.0784 14.6284 12.2352C14.7852 12.392 14.8636 12.5864 14.8636 12.8182C14.8636 13.05 14.7852 13.2443 14.6284 13.4011C14.4716 13.558 14.2773 13.6364 14.0455 13.6364ZM3 7.09091V4.63636C3 4.18636 3.16023 3.80114 3.48068 3.48068C3.80114 3.16023 4.18636 3 4.63636 3H7.09091V4.63636H4.63636V7.09091H3ZM7.09091 21H4.63636C4.18636 21 3.80114 20.8398 3.48068 20.5193C3.16023 20.1989 3 19.8136 3 19.3636V16.9091H4.63636V19.3636H7.09091V21ZM16.9091 21V19.3636H19.3636V16.9091H21V19.3636C21 19.8136 20.8398 20.1989 20.5193 20.5193C20.1989 20.8398 19.8136 21 19.3636 21H16.9091ZM19.3636 7.09091V4.63636H16.9091V3H19.3636C19.8136 3 20.1989 3.16023 20.5193 3.48068C20.8398 3.80114 21 4.18636 21 4.63636V7.09091H19.3636Z",
@@ -13294,14 +13389,14 @@ function KycIcon(props) {
13294
13389
  var NAV_BUTTONS = [
13295
13390
  { id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: ArrowLeftRight },
13296
13391
  { id: "kyc" /* KYC */, name: "KYC", Icon: KycIcon },
13297
- { id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "Nickname", Icon: AtSign2 },
13392
+ { id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "Nickname", Icon: AtSign3 },
13298
13393
  { id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon: UsersRound },
13299
13394
  { id: "security" /* SECURITY */, name: "Security", Icon: LockKeyhole },
13300
13395
  { id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon: DatabaseBackup }
13301
13396
  ];
13302
13397
 
13303
13398
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
13304
- import { jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
13399
+ import { jsx as jsx68, jsxs as jsxs60 } from "react/jsx-runtime";
13305
13400
  function SettingsMenu() {
13306
13401
  const address = useLumiaPassportSession((st) => st.address);
13307
13402
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -13310,9 +13405,15 @@ function SettingsMenu() {
13310
13405
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
13311
13406
  useEffect30(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
13312
13407
  useProvidersList();
13408
+ useQuery17({
13409
+ retry: 1,
13410
+ enabled: !!address,
13411
+ queryKey: [QUERY_KEYS.nicknameInfo, address],
13412
+ queryFn: getNicknameInfo
13413
+ });
13313
13414
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
13314
13415
  const highlightedKeys = settingsNotifications.map((n) => n.target);
13315
- return /* @__PURE__ */ jsxs61(
13416
+ return /* @__PURE__ */ jsxs60(
13316
13417
  "div",
13317
13418
  {
13318
13419
  style: {
@@ -13321,11 +13422,11 @@ function SettingsMenu() {
13321
13422
  },
13322
13423
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
13323
13424
  children: [
13324
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13325
- /* @__PURE__ */ jsx69(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx69(ArrowLeft14, { className: "h-4 w-4" }) }),
13326
- /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold", children: "Settings" })
13425
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13426
+ /* @__PURE__ */ jsx68(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx68(ArrowLeft14, { className: "h-4 w-4" }) }),
13427
+ /* @__PURE__ */ jsx68("span", { className: "text-xl font-semibold", children: "Settings" })
13327
13428
  ] }),
13328
- /* @__PURE__ */ jsx69("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs61(
13429
+ /* @__PURE__ */ jsx68("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs60(
13329
13430
  Button,
13330
13431
  {
13331
13432
  variant: "outline",
@@ -13338,8 +13439,8 @@ function SettingsMenu() {
13338
13439
  highlightedKeys.includes(id) && "animate-glow-warning"
13339
13440
  ),
13340
13441
  children: [
13341
- /* @__PURE__ */ jsx69(Icon2, { className: "w-4 h-4" }),
13342
- /* @__PURE__ */ jsx69("span", { children: name })
13442
+ /* @__PURE__ */ jsx68(Icon2, { className: "w-4 h-4" }),
13443
+ /* @__PURE__ */ jsx68("span", { children: name })
13343
13444
  ]
13344
13445
  },
13345
13446
  id
@@ -13351,35 +13452,35 @@ function SettingsMenu() {
13351
13452
 
13352
13453
  // src/internal/components/TermsOfService.tsx
13353
13454
  import { ArrowLeft as ArrowLeft15 } from "lucide-react";
13354
- import { jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
13455
+ import { jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
13355
13456
  function TermsOfService() {
13356
13457
  const address = useLumiaPassportSession((st) => st.address);
13357
13458
  const setPage = useLayoutDataStore((st) => st.setPage);
13358
- return /* @__PURE__ */ jsxs62("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13359
- /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13360
- /* @__PURE__ */ jsx70(
13459
+ return /* @__PURE__ */ jsxs61("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13460
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13461
+ /* @__PURE__ */ jsx69(
13361
13462
  Button,
13362
13463
  {
13363
13464
  variant: "ghost",
13364
13465
  size: "icon",
13365
13466
  title: "Back",
13366
13467
  onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
13367
- children: /* @__PURE__ */ jsx70(ArrowLeft15, { className: "h-4 w-4" })
13468
+ children: /* @__PURE__ */ jsx69(ArrowLeft15, { className: "h-4 w-4" })
13368
13469
  }
13369
13470
  ),
13370
- /* @__PURE__ */ jsx70("span", { className: "text-xl font-semibold", children: "Terms of Service" })
13471
+ /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold", children: "Terms of Service" })
13371
13472
  ] }),
13372
- /* @__PURE__ */ jsxs62(Highlight, { type: "warning", className: "text-center", children: [
13373
- /* @__PURE__ */ jsx70("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
13374
- /* @__PURE__ */ jsx70("span", { className: "block text-xs", children: "To be updated..." })
13473
+ /* @__PURE__ */ jsxs61(Highlight, { type: "warning", className: "text-center", children: [
13474
+ /* @__PURE__ */ jsx69("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
13475
+ /* @__PURE__ */ jsx69("span", { className: "block text-xs", children: "To be updated..." })
13375
13476
  ] })
13376
13477
  ] });
13377
13478
  }
13378
13479
 
13379
13480
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13380
- import { useQuery as useQuery17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
13481
+ import { useQuery as useQuery18, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
13381
13482
  import { ArrowLeft as ArrowLeft16, Loader as Loader25, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
13382
- import { useCallback as useCallback19, useState as useState21 } from "react";
13483
+ import { useCallback as useCallback18, useState as useState22 } from "react";
13383
13484
 
13384
13485
  // src/internal/components/TransactionsMenu/api.ts
13385
13486
  init_base();
@@ -13707,7 +13808,7 @@ async function getTransactionsListQuery(address) {
13707
13808
  }
13708
13809
 
13709
13810
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
13710
- import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight5, Copy as Copy3 } from "lucide-react";
13811
+ import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight6, Copy as Copy4 } from "lucide-react";
13711
13812
 
13712
13813
  // src/internal/components/TransactionsMenu/utils.ts
13713
13814
  init_base();
@@ -13757,22 +13858,22 @@ var formatTimestamp = (timestampMs) => {
13757
13858
  };
13758
13859
 
13759
13860
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
13760
- import { Fragment as Fragment27, jsx as jsx71, jsxs as jsxs63 } from "react/jsx-runtime";
13861
+ import { Fragment as Fragment26, jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
13761
13862
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
13762
13863
  const internalSymbol = internal.assetSymbol || assetSymbol;
13763
13864
  const internalDecimals = internal.decimals ?? assetDecimals;
13764
- return /* @__PURE__ */ jsxs63("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13765
- /* @__PURE__ */ jsxs63("div", { className: "flex gap-2 items-center justify-between", children: [
13766
- /* @__PURE__ */ jsx71("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13767
- /* @__PURE__ */ jsxs63("span", { children: [
13865
+ return /* @__PURE__ */ jsxs62("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13866
+ /* @__PURE__ */ jsxs62("div", { className: "flex gap-2 items-center justify-between", children: [
13867
+ /* @__PURE__ */ jsx70("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13868
+ /* @__PURE__ */ jsxs62("span", { children: [
13768
13869
  formatValue2(internal.value, internalDecimals),
13769
13870
  " ",
13770
13871
  internalSymbol
13771
13872
  ] })
13772
13873
  ] }),
13773
- /* @__PURE__ */ jsxs63("div", { className: "flex gap-2 items-center justify-between", children: [
13774
- /* @__PURE__ */ jsx71("span", { children: internal.direction === "in" ? "From" : "To" }),
13775
- /* @__PURE__ */ jsx71("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13874
+ /* @__PURE__ */ jsxs62("div", { className: "flex gap-2 items-center justify-between", children: [
13875
+ /* @__PURE__ */ jsx70("span", { children: internal.direction === "in" ? "From" : "To" }),
13876
+ /* @__PURE__ */ jsx70("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13776
13877
  ] })
13777
13878
  ] });
13778
13879
  }
@@ -13783,7 +13884,7 @@ function TransactionsGroup(props) {
13783
13884
  const assetSymbol = parent.assetSymbol || "LUMIA";
13784
13885
  const assetDecimals = parent.decimals ?? 18;
13785
13886
  const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
13786
- return /* @__PURE__ */ jsxs63(
13887
+ return /* @__PURE__ */ jsxs62(
13787
13888
  "div",
13788
13889
  {
13789
13890
  onClick: () => openInExplorer2(parent.parentHash),
@@ -13793,28 +13894,28 @@ function TransactionsGroup(props) {
13793
13894
  "bg-transparent hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
13794
13895
  ),
13795
13896
  children: [
13796
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13797
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13798
- parent.direction === "in" ? /* @__PURE__ */ jsx71(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx71(ChevronRight5, { className: "w-4 h-4" }),
13799
- /* @__PURE__ */ jsx71("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13800
- parent.status === "ok" ? /* @__PURE__ */ jsx71(PositiveIcon, {}) : /* @__PURE__ */ jsx71(NegativeIcon, {})
13897
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13898
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13899
+ parent.direction === "in" ? /* @__PURE__ */ jsx70(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx70(ChevronRight6, { className: "w-4 h-4" }),
13900
+ /* @__PURE__ */ jsx70("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13901
+ parent.status === "ok" ? /* @__PURE__ */ jsx70(PositiveIcon, {}) : /* @__PURE__ */ jsx70(NegativeIcon, {})
13801
13902
  ] }),
13802
- /* @__PURE__ */ jsx71("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13903
+ /* @__PURE__ */ jsx70("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13803
13904
  ] }),
13804
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13805
- /* @__PURE__ */ jsxs63("div", { className: "flex flex-col gap-0", children: [
13806
- /* @__PURE__ */ jsxs63("span", { className: "font-bold", children: [
13905
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13906
+ /* @__PURE__ */ jsxs62("div", { className: "flex flex-col gap-0", children: [
13907
+ /* @__PURE__ */ jsxs62("span", { className: "font-bold", children: [
13807
13908
  formatValue2(parent.value, assetDecimals),
13808
13909
  " ",
13809
13910
  assetSymbol
13810
13911
  ] }),
13811
- /* @__PURE__ */ jsxs63("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13912
+ /* @__PURE__ */ jsxs62("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13812
13913
  isIncoming ? "From: " : "To: ",
13813
13914
  parent.counterpartyName || formatAddress2(parent.counterparty)
13814
13915
  ] })
13815
13916
  ] }),
13816
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-0", children: [
13817
- /* @__PURE__ */ jsx71(
13917
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-0", children: [
13918
+ /* @__PURE__ */ jsx70(
13818
13919
  Button,
13819
13920
  {
13820
13921
  variant: "ghost",
@@ -13823,10 +13924,10 @@ function TransactionsGroup(props) {
13823
13924
  onClick: (e) => {
13824
13925
  e.stopPropagation();
13825
13926
  },
13826
- children: /* @__PURE__ */ jsx71(Copy3, { className: "w-4 h-4" })
13927
+ children: /* @__PURE__ */ jsx70(Copy4, { className: "w-4 h-4" })
13827
13928
  }
13828
13929
  ),
13829
- /* @__PURE__ */ jsx71(
13930
+ /* @__PURE__ */ jsx70(
13830
13931
  Button,
13831
13932
  {
13832
13933
  variant: "ghost",
@@ -13835,24 +13936,24 @@ function TransactionsGroup(props) {
13835
13936
  onClick: (e) => {
13836
13937
  e.stopPropagation();
13837
13938
  },
13838
- children: /* @__PURE__ */ jsx71(LumiaIcon, { className: "w-4 h-4" })
13939
+ children: /* @__PURE__ */ jsx70(LumiaIcon, { className: "w-4 h-4" })
13839
13940
  }
13840
13941
  )
13841
13942
  ] })
13842
13943
  ] }),
13843
- internalsToRender.length > 0 && /* @__PURE__ */ jsxs63(Fragment27, { children: [
13844
- /* @__PURE__ */ jsxs63("div", { className: "w-full flex items-center", children: [
13845
- /* @__PURE__ */ jsx71("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13846
- /* @__PURE__ */ jsx71("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13847
- /* @__PURE__ */ jsx71("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13944
+ internalsToRender.length > 0 && /* @__PURE__ */ jsxs62(Fragment26, { children: [
13945
+ /* @__PURE__ */ jsxs62("div", { className: "w-full flex items-center", children: [
13946
+ /* @__PURE__ */ jsx70("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13947
+ /* @__PURE__ */ jsx70("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13948
+ /* @__PURE__ */ jsx70("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13848
13949
  ] }),
13849
- /* @__PURE__ */ jsxs63(
13950
+ /* @__PURE__ */ jsxs62(
13850
13951
  "div",
13851
13952
  {
13852
13953
  className: "w-full rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
13853
13954
  onClick: (event) => event.stopPropagation(),
13854
13955
  children: [
13855
- /* @__PURE__ */ jsxs63(
13956
+ /* @__PURE__ */ jsxs62(
13856
13957
  Button,
13857
13958
  {
13858
13959
  variant: "ghost",
@@ -13860,16 +13961,16 @@ function TransactionsGroup(props) {
13860
13961
  className: "w-full justify-between",
13861
13962
  onClick: () => onToggleExpanded(group.id),
13862
13963
  children: [
13863
- /* @__PURE__ */ jsxs63("span", { children: [
13964
+ /* @__PURE__ */ jsxs62("span", { children: [
13864
13965
  "View internal calls (",
13865
13966
  internalsToRender.length,
13866
13967
  ")"
13867
13968
  ] }),
13868
- /* @__PURE__ */ jsx71("span", { children: expanded ? "Hide" : "Show" })
13969
+ /* @__PURE__ */ jsx70("span", { children: expanded ? "Hide" : "Show" })
13869
13970
  ]
13870
13971
  }
13871
13972
  ),
13872
- expanded && /* @__PURE__ */ jsx71("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx71(
13973
+ expanded && /* @__PURE__ */ jsx70("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx70(
13873
13974
  InternalTransaction,
13874
13975
  {
13875
13976
  internal,
@@ -13888,31 +13989,31 @@ function TransactionsGroup(props) {
13888
13989
  }
13889
13990
 
13890
13991
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13891
- import { jsx as jsx72, jsxs as jsxs64 } from "react/jsx-runtime";
13992
+ import { jsx as jsx71, jsxs as jsxs63 } from "react/jsx-runtime";
13892
13993
  function TransactionsMenu() {
13893
13994
  const qc = useQueryClient18();
13894
13995
  const address = useLumiaPassportSession((st) => st.address);
13895
13996
  const page = useLayoutDataStore((st) => st.page);
13896
13997
  const setPage = useLayoutDataStore((st) => st.setPage);
13897
13998
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
13898
- const [expandedGroups, setExpandedGroups] = useState21({});
13999
+ const [expandedGroups, setExpandedGroups] = useState22({});
13899
14000
  const {
13900
14001
  data: txHistoryGroups = [],
13901
14002
  isLoading: isTxHistoryLoading,
13902
14003
  isFetching: isTxHistoryFetching,
13903
14004
  error: txHistoryError
13904
- } = useQuery17({
14005
+ } = useQuery18({
13905
14006
  retry: false,
13906
14007
  enabled: !!address && page === "transactions",
13907
14008
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
13908
14009
  queryFn: () => getTransactionsListQuery(address)
13909
14010
  });
13910
- const refreshTxHistory = useCallback19(
14011
+ const refreshTxHistory = useCallback18(
13911
14012
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
13912
14013
  [qc, address]
13913
14014
  );
13914
14015
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
13915
- return /* @__PURE__ */ jsx72(
14016
+ return /* @__PURE__ */ jsx71(
13916
14017
  "div",
13917
14018
  {
13918
14019
  style: {
@@ -13920,11 +14021,11 @@ function TransactionsMenu() {
13920
14021
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
13921
14022
  },
13922
14023
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
13923
- children: /* @__PURE__ */ jsxs64(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13924
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13925
- /* @__PURE__ */ jsx72(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx72(ArrowLeft16, { className: "h-4 w-4" }) }),
13926
- /* @__PURE__ */ jsx72("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13927
- /* @__PURE__ */ jsx72(
14024
+ children: /* @__PURE__ */ jsxs63(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
14025
+ /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14026
+ /* @__PURE__ */ jsx71(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx71(ArrowLeft16, { className: "h-4 w-4" }) }),
14027
+ /* @__PURE__ */ jsx71("span", { className: "text-xl font-semibold", children: "Transaction History" }),
14028
+ /* @__PURE__ */ jsx71(
13928
14029
  Button,
13929
14030
  {
13930
14031
  variant: "ghost",
@@ -13932,17 +14033,17 @@ function TransactionsMenu() {
13932
14033
  onClick: refreshTxHistory,
13933
14034
  disabled: isTxHistoryFetching,
13934
14035
  title: "Refresh transactions",
13935
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx72(Loader25, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx72(RefreshCw3, { className: "h-4 w-4" })
14036
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx71(Loader25, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx71(RefreshCw3, { className: "h-4 w-4" })
13936
14037
  }
13937
14038
  )
13938
14039
  ] }),
13939
- isTxHistoryLoading && /* @__PURE__ */ jsx72("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx72(Loader25, { className: "h-5 w-5 animate-spin" }) }),
13940
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs64(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13941
- /* @__PURE__ */ jsx72(XCircle2, { className: "w-4 h-4 flex-none" }),
13942
- /* @__PURE__ */ jsx72("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
14040
+ isTxHistoryLoading && /* @__PURE__ */ jsx71("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx71(Loader25, { className: "h-5 w-5 animate-spin" }) }),
14041
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs63(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
14042
+ /* @__PURE__ */ jsx71(XCircle2, { className: "w-4 h-4 flex-none" }),
14043
+ /* @__PURE__ */ jsx71("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
13943
14044
  ] }),
13944
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx72(Highlight, { type: "warning", children: /* @__PURE__ */ jsx72("span", { children: "No transactions found." }) }),
13945
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx72("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx72(
14045
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx71(Highlight, { type: "warning", children: /* @__PURE__ */ jsx71("span", { children: "No transactions found." }) }),
14046
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx71("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx71(
13946
14047
  TransactionsGroup,
13947
14048
  {
13948
14049
  group,
@@ -14052,12 +14153,12 @@ var PAGE_MAP = {
14052
14153
  key: "nickname-settings" /* NICKNAME_SETTINGS */,
14053
14154
  title: "Nickname Settings",
14054
14155
  description: "View and manage your @nickname",
14055
- component: NicknameSettings
14156
+ component: NicknameMenu
14056
14157
  }
14057
14158
  };
14058
14159
 
14059
14160
  // src/internal/hooks/usePageMapper.tsx
14060
- import { jsx as jsx73 } from "react/jsx-runtime";
14161
+ import { jsx as jsx72 } from "react/jsx-runtime";
14061
14162
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
14062
14163
  function usePageMapper() {
14063
14164
  const page = useLayoutDataStore((st) => st.page);
@@ -14069,7 +14170,7 @@ function usePageMapper() {
14069
14170
  setIsDialogOpen,
14070
14171
  setIsDialogClosing
14071
14172
  } = useLayoutStore();
14072
- const closeDialog = useCallback20(() => {
14173
+ const closeDialog = useCallback19(() => {
14073
14174
  setIsDialogClosing(true);
14074
14175
  setTimeout(() => {
14075
14176
  setDialogContent(null);
@@ -14080,12 +14181,12 @@ function usePageMapper() {
14080
14181
  setIsDialogOpen(false);
14081
14182
  }, CLEAR_DIALOG_TIMEOUT);
14082
14183
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
14083
- const openDialog = useCallback20(
14184
+ const openDialog = useCallback19(
14084
14185
  (pageItem) => {
14085
14186
  const PageContentComponent = pageItem.component;
14086
14187
  setDialogTitle(pageItem.title);
14087
14188
  setDialogDescription(pageItem.description);
14088
- setDialogContent(/* @__PURE__ */ jsx73(PageContentComponent, {}));
14189
+ setDialogContent(/* @__PURE__ */ jsx72(PageContentComponent, {}));
14089
14190
  setIsDialogOpen(true);
14090
14191
  },
14091
14192
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
@@ -14105,7 +14206,7 @@ function usePageMapper() {
14105
14206
  // src/internal/hooks/useSettingsNotifications.ts
14106
14207
  init_auth();
14107
14208
  init_profile();
14108
- import { useQuery as useQuery18 } from "@tanstack/react-query";
14209
+ import { useQuery as useQuery19 } from "@tanstack/react-query";
14109
14210
  import { useEffect as useEffect32 } from "react";
14110
14211
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
14111
14212
  id: "email-not-connected",
@@ -14122,7 +14223,7 @@ function useSettingsNotifications() {
14122
14223
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
14123
14224
  const providers = jwtTokenManager2.getProviders();
14124
14225
  const hasEmail = providers.includes("email");
14125
- const { data: userProfile = null } = useQuery18({
14226
+ const { data: userProfile = null } = useQuery19({
14126
14227
  retry: false,
14127
14228
  enabled: !!address,
14128
14229
  queryKey: [QUERY_KEYS.userProfile, address],
@@ -14174,7 +14275,7 @@ function useWalletStatus() {
14174
14275
  }
14175
14276
 
14176
14277
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
14177
- import { jsx as jsx74, jsxs as jsxs65 } from "react/jsx-runtime";
14278
+ import { jsx as jsx73, jsxs as jsxs64 } from "react/jsx-runtime";
14178
14279
  function LumiaPassportDialog() {
14179
14280
  const config = useLumiaPassportConfig().config;
14180
14281
  const className = config.current?.ui?.dialogClassName;
@@ -14193,7 +14294,7 @@ function LumiaPassportDialog() {
14193
14294
  useListenIframeAuthEvents();
14194
14295
  useWalletStatus();
14195
14296
  const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
14196
- return /* @__PURE__ */ jsx74(
14297
+ return /* @__PURE__ */ jsx73(
14197
14298
  Dialog,
14198
14299
  {
14199
14300
  open: isDialogOpen,
@@ -14201,11 +14302,11 @@ function LumiaPassportDialog() {
14201
14302
  if (isDialogForced) return;
14202
14303
  if (!open) setPage(null);
14203
14304
  },
14204
- children: /* @__PURE__ */ jsxs65(DialogContent, { colorMode, className, children: [
14205
- /* @__PURE__ */ jsx74(VisuallyHidden, { children: /* @__PURE__ */ jsx74(DialogTitle, { children: dialogTitle }) }),
14206
- /* @__PURE__ */ jsx74(DialogDescription, { className: "sr-only", children: dialogDescription }),
14207
- !isHeaderHidden && /* @__PURE__ */ jsx74(Header, {}),
14208
- /* @__PURE__ */ jsx74(AnimatePresence3, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx74(
14305
+ children: /* @__PURE__ */ jsxs64(DialogContent, { colorMode, className, children: [
14306
+ /* @__PURE__ */ jsx73(VisuallyHidden, { children: /* @__PURE__ */ jsx73(DialogTitle, { children: dialogTitle }) }),
14307
+ /* @__PURE__ */ jsx73(DialogDescription, { className: "sr-only", children: dialogDescription }),
14308
+ !isHeaderHidden && /* @__PURE__ */ jsx73(Header, {}),
14309
+ /* @__PURE__ */ jsx73(AnimatePresence3, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx73(
14209
14310
  motion3.div,
14210
14311
  {
14211
14312
  initial: { opacity: 0, height: mainPageHeight },
@@ -14217,14 +14318,14 @@ function LumiaPassportDialog() {
14217
14318
  },
14218
14319
  page || "empty"
14219
14320
  ) }),
14220
- /* @__PURE__ */ jsx74(Footer, {})
14321
+ /* @__PURE__ */ jsx73(Footer, {})
14221
14322
  ] })
14222
14323
  }
14223
14324
  );
14224
14325
  }
14225
14326
 
14226
14327
  // src/internal/components/TssManager.tsx
14227
- import React7, { useCallback as useCallback21 } from "react";
14328
+ import React7, { useCallback as useCallback20 } from "react";
14228
14329
  init_auth();
14229
14330
  init_clients();
14230
14331
  var TssManagerWithRef = React7.forwardRef((props, ref) => {
@@ -14233,7 +14334,7 @@ var TssManagerWithRef = React7.forwardRef((props, ref) => {
14233
14334
  const setStatus = useLumiaPassportSession((st) => st.setStatus);
14234
14335
  const setSession = useLumiaPassportSession((st) => st.setSession);
14235
14336
  const setAddress = useLumiaPassportSession((st) => st.setAddress);
14236
- const onSessionCreated = useCallback21(
14337
+ const onSessionCreated = useCallback20(
14237
14338
  (session, address) => {
14238
14339
  setSession(session);
14239
14340
  setAddress(address);
@@ -14269,7 +14370,7 @@ var TssManagerWithRef = React7.forwardRef((props, ref) => {
14269
14370
  init_wallet();
14270
14371
  import { useConnectModal } from "@rainbow-me/rainbowkit";
14271
14372
  import { useMutation as useMutation15, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
14272
- import React8, { useCallback as useCallback22, useEffect as useEffect35 } from "react";
14373
+ import React8, { useCallback as useCallback21, useEffect as useEffect35 } from "react";
14273
14374
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
14274
14375
  function WalletConnectHandler() {
14275
14376
  const qc = useQueryClient19();
@@ -14286,7 +14387,7 @@ function WalletConnectHandler() {
14286
14387
  const setManageWalletLinkError = useManageWalletStore((st) => st.setLinkError);
14287
14388
  const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
14288
14389
  const setProviderType = useManageWalletStore((st) => st.setProviderType);
14289
- const onLinkingComplete = useCallback22(
14390
+ const onLinkingComplete = useCallback21(
14290
14391
  async (success) => {
14291
14392
  setIsWalletLinking(false);
14292
14393
  if (!success && !passportWalletAddress) {
@@ -14420,7 +14521,7 @@ function WalletConnectHandler() {
14420
14521
  }
14421
14522
 
14422
14523
  // src/context/LumiaPassportSessionContext.tsx
14423
- import { jsx as jsx75, jsxs as jsxs66 } from "react/jsx-runtime";
14524
+ import { jsx as jsx74, jsxs as jsxs65 } from "react/jsx-runtime";
14424
14525
  var useLumiaPassportSession = create6((set) => ({
14425
14526
  isLoading: false,
14426
14527
  usePaymaster: true,
@@ -14446,17 +14547,17 @@ var useLumiaPassportSession = create6((set) => ({
14446
14547
  }));
14447
14548
  function LumiaPassportSessionProvider({ children }) {
14448
14549
  const config = useLumiaPassportConfig().config;
14449
- return /* @__PURE__ */ jsxs66(Fragment28, { children: [
14550
+ return /* @__PURE__ */ jsxs65(Fragment27, { children: [
14450
14551
  children,
14451
- config.current?.wallet?.enabled && /* @__PURE__ */ jsx75(WalletConnectHandler, {}),
14452
- /* @__PURE__ */ jsx75(BalanceFeedProvider, {}),
14453
- /* @__PURE__ */ jsx75(
14552
+ config.current?.wallet?.enabled && /* @__PURE__ */ jsx74(WalletConnectHandler, {}),
14553
+ /* @__PURE__ */ jsx74(BalanceFeedProvider, {}),
14554
+ /* @__PURE__ */ jsx74(
14454
14555
  TssManagerWithRef,
14455
14556
  {
14456
14557
  mpcPin: void 0
14457
14558
  }
14458
14559
  ),
14459
- /* @__PURE__ */ jsx75(LumiaPassportDialog, {})
14560
+ /* @__PURE__ */ jsx74(LumiaPassportDialog, {})
14460
14561
  ] });
14461
14562
  }
14462
14563
 
@@ -14491,13 +14592,13 @@ var wagmiConfig = createConfig({
14491
14592
  });
14492
14593
 
14493
14594
  // src/context/WagmiContext.tsx
14494
- import { jsx as jsx76 } from "react/jsx-runtime";
14595
+ import { jsx as jsx75 } from "react/jsx-runtime";
14495
14596
  var LumiaWagmiProvider = ({ children }) => {
14496
- return /* @__PURE__ */ jsx76(WagmiProvider, { config: wagmiConfig, children });
14597
+ return /* @__PURE__ */ jsx75(WagmiProvider, { config: wagmiConfig, children });
14497
14598
  };
14498
14599
 
14499
14600
  // src/context/LumiaPassportContext.tsx
14500
- import { jsx as jsx77 } from "react/jsx-runtime";
14601
+ import { jsx as jsx76 } from "react/jsx-runtime";
14501
14602
  var LumiaPassportContext = createContext(void 0);
14502
14603
  function LumiaPassportProvider(props) {
14503
14604
  const { children, projectId, initialConfig = {}, callbacks } = props;
@@ -14505,7 +14606,7 @@ function LumiaPassportProvider(props) {
14505
14606
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
14506
14607
  useEffect36(() => notifyNoProjetctId(projectId), [projectId]);
14507
14608
  const config = useRef15({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
14508
- const updateConfig = useCallback23((updates) => {
14609
+ const updateConfig = useCallback22((updates) => {
14509
14610
  const prev = config.current;
14510
14611
  const next = { ...prev };
14511
14612
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -14586,7 +14687,7 @@ function LumiaPassportProvider(props) {
14586
14687
  }
14587
14688
  }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
14588
14689
  const contextValue = useMemo8(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
14589
- return /* @__PURE__ */ jsx77(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx77(LumiaPassportContext.Provider, { value: contextValue, children }) });
14690
+ return /* @__PURE__ */ jsx76(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx76(LumiaPassportContext.Provider, { value: contextValue, children }) });
14590
14691
  }
14591
14692
  var useLumiaPassportConfig = () => {
14592
14693
  const ctx = useContext(LumiaPassportContext);
@@ -14595,12 +14696,12 @@ var useLumiaPassportConfig = () => {
14595
14696
  };
14596
14697
 
14597
14698
  // src/components/ConnectWalletButton.tsx
14598
- import { useQuery as useQuery19 } from "@tanstack/react-query";
14699
+ import { useQuery as useQuery20 } from "@tanstack/react-query";
14599
14700
  import { Cloud as Cloud5, Laptop as Laptop2, Loader as Loader26, Shield as Shield5 } from "lucide-react";
14600
14701
  import { useEffect as useEffect37, useMemo as useMemo9 } from "react";
14601
14702
  init_auth();
14602
14703
  init_profile();
14603
- import { Fragment as Fragment29, jsx as jsx78, jsxs as jsxs67 } from "react/jsx-runtime";
14704
+ import { Fragment as Fragment28, jsx as jsx77, jsxs as jsxs66 } from "react/jsx-runtime";
14604
14705
  function getFormattedStatus(label, status, showStatus) {
14605
14706
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
14606
14707
  if (!isStatus) return label;
@@ -14620,7 +14721,7 @@ function ConnectWalletButton(props) {
14620
14721
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
14621
14722
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
14622
14723
  useEffect37(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
14623
- const { data: profile, isLoading: isProfileLoading } = useQuery19({
14724
+ const { data: profile, isLoading: isProfileLoading } = useQuery20({
14624
14725
  retry: false,
14625
14726
  enabled: !!address,
14626
14727
  queryKey: [QUERY_KEYS.userProfile, address],
@@ -14636,20 +14737,20 @@ function ConnectWalletButton(props) {
14636
14737
  return { server, local, backup: hasServerVault };
14637
14738
  }, [session, address, hasServerVault]);
14638
14739
  const isConnecting = connectButtonLabel !== label || isLoading;
14639
- return /* @__PURE__ */ jsx78("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
14740
+ return /* @__PURE__ */ jsx77("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
14640
14741
  /** external Buttons can be provided */
14641
- /* @__PURE__ */ jsx78(Fragment29, { children: ConnectButton ? /* @__PURE__ */ jsxs67(
14742
+ /* @__PURE__ */ jsx77(Fragment28, { children: ConnectButton ? /* @__PURE__ */ jsxs66(
14642
14743
  ConnectButton,
14643
14744
  {
14644
14745
  type: "button",
14645
14746
  disabled: isConnecting,
14646
14747
  onClick: () => setPage("auth" /* AUTH */),
14647
14748
  children: [
14648
- isConnecting && /* @__PURE__ */ jsx78(Loader26, { className: "w-4 h-4 animate-spin" }),
14749
+ isConnecting && /* @__PURE__ */ jsx77(Loader26, { className: "w-4 h-4 animate-spin" }),
14649
14750
  connectButtonLabel
14650
14751
  ]
14651
14752
  }
14652
- ) : /* @__PURE__ */ jsxs67(
14753
+ ) : /* @__PURE__ */ jsxs66(
14653
14754
  Button,
14654
14755
  {
14655
14756
  type: "button",
@@ -14666,12 +14767,12 @@ function ConnectWalletButton(props) {
14666
14767
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
14667
14768
  ),
14668
14769
  children: [
14669
- isConnecting && /* @__PURE__ */ jsx78(Loader26, { className: "w-4 h-4 animate-spin" }),
14770
+ isConnecting && /* @__PURE__ */ jsx77(Loader26, { className: "w-4 h-4 animate-spin" }),
14670
14771
  connectButtonLabel.toUpperCase()
14671
14772
  ]
14672
14773
  }
14673
14774
  ) })
14674
- ) : /* @__PURE__ */ jsxs67(
14775
+ ) : /* @__PURE__ */ jsxs66(
14675
14776
  "button",
14676
14777
  {
14677
14778
  type: "button",
@@ -14684,23 +14785,23 @@ function ConnectWalletButton(props) {
14684
14785
  "rounded-[var(--l-pass-bdrs)] p-4 max-w-sm min-w-[256px]"
14685
14786
  ),
14686
14787
  children: [
14687
- /* @__PURE__ */ jsx78("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx78("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx78(LumiaIcon, { width: 48, height: 48 }) }),
14688
- /* @__PURE__ */ jsxs67("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14689
- /* @__PURE__ */ jsxs67("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14690
- isProfileLoading ? /* @__PURE__ */ jsx78(Loader26, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx78("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14691
- /* @__PURE__ */ jsx78(KYCStatus, {})
14788
+ /* @__PURE__ */ jsx77("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx77("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx77(LumiaIcon, { width: 48, height: 48 }) }),
14789
+ /* @__PURE__ */ jsxs66("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14790
+ /* @__PURE__ */ jsxs66("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14791
+ isProfileLoading ? /* @__PURE__ */ jsx77(Loader26, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx77("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14792
+ /* @__PURE__ */ jsx77(KYCStatus, {})
14692
14793
  ] }),
14693
- /* @__PURE__ */ jsx78(BalanceView, {})
14794
+ /* @__PURE__ */ jsx77(BalanceView, {})
14694
14795
  ] }),
14695
- /* @__PURE__ */ jsxs67("div", { className: "flex items-center space-x-1", children: [
14696
- /* @__PURE__ */ jsxs67("div", { className: "group relative", children: [
14697
- /* @__PURE__ */ jsx78(
14796
+ /* @__PURE__ */ jsxs66("div", { className: "flex items-center space-x-1", children: [
14797
+ /* @__PURE__ */ jsxs66("div", { className: "group relative", children: [
14798
+ /* @__PURE__ */ jsx77(
14698
14799
  Cloud5,
14699
14800
  {
14700
14801
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14701
14802
  }
14702
14803
  ),
14703
- /* @__PURE__ */ jsxs67(
14804
+ /* @__PURE__ */ jsxs66(
14704
14805
  "div",
14705
14806
  {
14706
14807
  className: cn(
@@ -14715,14 +14816,14 @@ function ConnectWalletButton(props) {
14715
14816
  }
14716
14817
  )
14717
14818
  ] }),
14718
- /* @__PURE__ */ jsxs67("div", { className: "group relative", children: [
14719
- /* @__PURE__ */ jsx78(
14819
+ /* @__PURE__ */ jsxs66("div", { className: "group relative", children: [
14820
+ /* @__PURE__ */ jsx77(
14720
14821
  Laptop2,
14721
14822
  {
14722
14823
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14723
14824
  }
14724
14825
  ),
14725
- /* @__PURE__ */ jsxs67(
14826
+ /* @__PURE__ */ jsxs66(
14726
14827
  "div",
14727
14828
  {
14728
14829
  className: cn(
@@ -14737,14 +14838,14 @@ function ConnectWalletButton(props) {
14737
14838
  }
14738
14839
  )
14739
14840
  ] }),
14740
- /* @__PURE__ */ jsxs67("div", { className: "group relative", children: [
14741
- /* @__PURE__ */ jsx78(
14841
+ /* @__PURE__ */ jsxs66("div", { className: "group relative", children: [
14842
+ /* @__PURE__ */ jsx77(
14742
14843
  Shield5,
14743
14844
  {
14744
14845
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14745
14846
  }
14746
14847
  ),
14747
- /* @__PURE__ */ jsxs67(
14848
+ /* @__PURE__ */ jsxs66(
14748
14849
  "div",
14749
14850
  {
14750
14851
  className: cn(
@@ -14760,7 +14861,7 @@ function ConnectWalletButton(props) {
14760
14861
  )
14761
14862
  ] })
14762
14863
  ] }),
14763
- !!settingsNotifications.length && /* @__PURE__ */ jsx78(
14864
+ !!settingsNotifications.length && /* @__PURE__ */ jsx77(
14764
14865
  "div",
14765
14866
  {
14766
14867
  className: cn(
@@ -14801,13 +14902,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
14801
14902
  var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
14802
14903
 
14803
14904
  // src/hooks/useLumiaPassportOpen.ts
14804
- import { useCallback as useCallback24 } from "react";
14905
+ import { useCallback as useCallback23 } from "react";
14805
14906
  function useLumiaPassportOpen() {
14806
14907
  const page = useLayoutDataStore((st) => st.page);
14807
14908
  const setPage = useLayoutDataStore((st) => st.setPage);
14808
14909
  const setPageParams = useLayoutDataStore((st) => st.setPageParams);
14809
14910
  const address = useLumiaPassportSession((st) => st.address);
14810
- const open = useCallback24(
14911
+ const open = useCallback23(
14811
14912
  (passportPage, params) => {
14812
14913
  if (!address) return setPage("auth" /* AUTH */);
14813
14914
  if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -14816,12 +14917,12 @@ function useLumiaPassportOpen() {
14816
14917
  },
14817
14918
  [setPage, setPageParams, address]
14818
14919
  );
14819
- const close = useCallback24(() => setPage(null), [setPage]);
14920
+ const close = useCallback23(() => setPage(null), [setPage]);
14820
14921
  return { open, close, isOpen: page !== null };
14821
14922
  }
14822
14923
 
14823
14924
  // src/hooks/useLumiaPassportColorMode.ts
14824
- import { useCallback as useCallback25, useEffect as useEffect38 } from "react";
14925
+ import { useCallback as useCallback24, useEffect as useEffect38 } from "react";
14825
14926
  function useLumiaPassportColorMode() {
14826
14927
  const {
14827
14928
  config: { current: config }
@@ -14829,7 +14930,7 @@ function useLumiaPassportColorMode() {
14829
14930
  const preferedColorMode = config?.preferedColorMode;
14830
14931
  const colorMode = useLayoutStore((st) => st.colorMode);
14831
14932
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
14832
- const setColorMode = useCallback25(
14933
+ const setColorMode = useCallback24(
14833
14934
  (mode) => {
14834
14935
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
14835
14936
  handleStoreColorMode(mode);
@@ -14854,23 +14955,23 @@ function useLumiaPassportColorMode() {
14854
14955
 
14855
14956
  // src/components/ThemeToggle.tsx
14856
14957
  import { Moon, Sun } from "lucide-react";
14857
- import { jsx as jsx79 } from "react/jsx-runtime";
14958
+ import { jsx as jsx78 } from "react/jsx-runtime";
14858
14959
  function ThemeToggle(props) {
14859
14960
  const { colorMode, setColorMode } = useLumiaPassportColorMode();
14860
- return /* @__PURE__ */ jsx79(
14961
+ return /* @__PURE__ */ jsx78(
14861
14962
  "div",
14862
14963
  {
14863
14964
  className: "lumia-scope",
14864
14965
  "data-lumia-passport-mode": colorMode,
14865
14966
  style: { width: "fit-content", height: "fit-content" },
14866
- children: /* @__PURE__ */ jsx79(
14967
+ children: /* @__PURE__ */ jsx78(
14867
14968
  Button,
14868
14969
  {
14869
14970
  ...props,
14870
14971
  variant: "ghost",
14871
14972
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
14872
14973
  title: `Current theme: ${colorMode}. Click to switch.`,
14873
- children: colorMode === "dark" ? /* @__PURE__ */ jsx79(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx79(Moon, { className: "w-4 h-4" })
14974
+ children: colorMode === "dark" ? /* @__PURE__ */ jsx78(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx78(Moon, { className: "w-4 h-4" })
14874
14975
  }
14875
14976
  )
14876
14977
  }
@@ -15107,7 +15208,7 @@ var rainbowTheme = {
15107
15208
 
15108
15209
  // src/context/RainbowKitContext.tsx
15109
15210
  import "@rainbow-me/rainbowkit/styles.css";
15110
- import { Fragment as Fragment30, jsx as jsx80 } from "react/jsx-runtime";
15211
+ import { Fragment as Fragment29, jsx as jsx79 } from "react/jsx-runtime";
15111
15212
  function LumiaRainbowKitProvider({ children }) {
15112
15213
  const config = useLumiaPassportConfig().config;
15113
15214
  const colorMode = useLayoutStore((st) => st.colorMode);
@@ -15126,13 +15227,13 @@ function LumiaRainbowKitProvider({ children }) {
15126
15227
  },
15127
15228
  [colorMode]
15128
15229
  );
15129
- if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx80(Fragment30, { children });
15130
- return /* @__PURE__ */ jsx80(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx80(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
15230
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx79(Fragment29, { children });
15231
+ return /* @__PURE__ */ jsx79(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx79(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
15131
15232
  }
15132
15233
 
15133
15234
  // src/internal/components/UserOpStatus.tsx
15134
15235
  init_base();
15135
- import { AlertCircle as AlertCircle6, CheckCircle2 as CheckCircle26, Clock as Clock2, Copy as Copy5, ExternalLink as ExternalLink2, RefreshCw as RefreshCw4 } from "lucide-react";
15236
+ import { AlertCircle as AlertCircle6, CheckCircle2 as CheckCircle26, Clock as Clock2, Copy as Copy6, ExternalLink as ExternalLink2, RefreshCw as RefreshCw4 } from "lucide-react";
15136
15237
  import * as React10 from "react";
15137
15238
 
15138
15239
  // src/internal/utils/cn.ts
@@ -15143,9 +15244,9 @@ function cn2(...inputs) {
15143
15244
  }
15144
15245
 
15145
15246
  // src/internal/components/Address.tsx
15146
- import { Copy as Copy4, ExternalLink } from "lucide-react";
15247
+ import { Copy as Copy5, ExternalLink } from "lucide-react";
15147
15248
  import * as React9 from "react";
15148
- import { jsx as jsx81, jsxs as jsxs68 } from "react/jsx-runtime";
15249
+ import { jsx as jsx80, jsxs as jsxs67 } from "react/jsx-runtime";
15149
15250
  function toExplorerAddressUrl(address, chain) {
15150
15251
  const base2 = chain?.blockExplorers?.default?.url;
15151
15252
  if (!base2) return null;
@@ -15167,11 +15268,11 @@ var Address = ({
15167
15268
  const addr = address || "";
15168
15269
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
15169
15270
  const [copied, setCopied] = React9.useState(false);
15170
- if (!addr) return /* @__PURE__ */ jsx81("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15171
- return /* @__PURE__ */ jsxs68("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
15172
- label && /* @__PURE__ */ jsx81("span", { className: "text-sm font-medium", children: label }),
15173
- /* @__PURE__ */ jsx81("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
15174
- showCopy && /* @__PURE__ */ jsx81(
15271
+ if (!addr) return /* @__PURE__ */ jsx80("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15272
+ return /* @__PURE__ */ jsxs67("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
15273
+ label && /* @__PURE__ */ jsx80("span", { className: "text-sm font-medium", children: label }),
15274
+ /* @__PURE__ */ jsx80("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
15275
+ showCopy && /* @__PURE__ */ jsx80(
15175
15276
  Button,
15176
15277
  {
15177
15278
  variant: "ghost",
@@ -15185,10 +15286,10 @@ var Address = ({
15185
15286
  } catch {
15186
15287
  }
15187
15288
  },
15188
- children: /* @__PURE__ */ jsx81(Copy4, { className: "h-4 w-4" })
15289
+ children: /* @__PURE__ */ jsx80(Copy5, { className: "h-4 w-4" })
15189
15290
  }
15190
15291
  ),
15191
- showExplorer && explorer && /* @__PURE__ */ jsx81(
15292
+ showExplorer && explorer && /* @__PURE__ */ jsx80(
15192
15293
  "a",
15193
15294
  {
15194
15295
  href: explorer,
@@ -15196,7 +15297,7 @@ var Address = ({
15196
15297
  rel: "noreferrer noopener",
15197
15298
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
15198
15299
  title: "Open in explorer",
15199
- children: /* @__PURE__ */ jsx81(ExternalLink, { className: "h-4 w-4" })
15300
+ children: /* @__PURE__ */ jsx80(ExternalLink, { className: "h-4 w-4" })
15200
15301
  }
15201
15302
  )
15202
15303
  ] });
@@ -15204,7 +15305,7 @@ var Address = ({
15204
15305
 
15205
15306
  // src/internal/components/ui/badge.tsx
15206
15307
  import { cva as cva2 } from "class-variance-authority";
15207
- import { jsx as jsx82 } from "react/jsx-runtime";
15308
+ import { jsx as jsx81 } from "react/jsx-runtime";
15208
15309
  var badgeVariants = cva2(
15209
15310
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
15210
15311
  {
@@ -15224,11 +15325,11 @@ var badgeVariants = cva2(
15224
15325
  }
15225
15326
  );
15226
15327
  function Badge({ className, variant, ...props }) {
15227
- return /* @__PURE__ */ jsx82("div", { className: cn2(badgeVariants({ variant }), className), ...props });
15328
+ return /* @__PURE__ */ jsx81("div", { className: cn2(badgeVariants({ variant }), className), ...props });
15228
15329
  }
15229
15330
 
15230
15331
  // src/internal/components/UserOpStatus.tsx
15231
- import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime";
15332
+ import { jsx as jsx82, jsxs as jsxs68 } from "react/jsx-runtime";
15232
15333
  var UserOpStatus = ({
15233
15334
  userOpHash,
15234
15335
  chain,
@@ -15361,35 +15462,35 @@ var UserOpStatus = ({
15361
15462
  const stateBadge = () => {
15362
15463
  if (receipt) {
15363
15464
  const ok = !!receipt.success;
15364
- return /* @__PURE__ */ jsxs69(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
15365
- ok ? /* @__PURE__ */ jsx83(CheckCircle26, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx83(AlertCircle6, { className: "h-3 w-3" }),
15465
+ return /* @__PURE__ */ jsxs68(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
15466
+ ok ? /* @__PURE__ */ jsx82(CheckCircle26, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-3 w-3" }),
15366
15467
  ok ? "Included" : "Failed"
15367
15468
  ] });
15368
15469
  }
15369
15470
  if (rejected) {
15370
- return /* @__PURE__ */ jsxs69(Badge, { variant: "destructive", className: "gap-1", children: [
15371
- /* @__PURE__ */ jsx83(AlertCircle6, { className: "h-3 w-3" }),
15471
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "destructive", className: "gap-1", children: [
15472
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-3 w-3" }),
15372
15473
  " Rejected by bundler"
15373
15474
  ] });
15374
15475
  }
15375
15476
  if (timedOut) {
15376
- return /* @__PURE__ */ jsxs69(Badge, { variant: "warning", className: "gap-1", children: [
15377
- /* @__PURE__ */ jsx83(AlertCircle6, { className: "h-3 w-3" }),
15477
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "warning", className: "gap-1", children: [
15478
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-3 w-3" }),
15378
15479
  " Timeout - may be rejected"
15379
15480
  ] });
15380
15481
  }
15381
15482
  if (mempool) {
15382
- return /* @__PURE__ */ jsxs69(Badge, { variant: "outline", className: "gap-1", children: [
15383
- /* @__PURE__ */ jsx83(Clock2, { className: "h-3 w-3" }),
15483
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "outline", className: "gap-1", children: [
15484
+ /* @__PURE__ */ jsx82(Clock2, { className: "h-3 w-3" }),
15384
15485
  " Pending in bundler"
15385
15486
  ] });
15386
15487
  }
15387
- return /* @__PURE__ */ jsxs69(Badge, { variant: "secondary", className: "gap-1", children: [
15388
- /* @__PURE__ */ jsx83(Clock2, { className: "h-3 w-3" }),
15488
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "secondary", className: "gap-1", children: [
15489
+ /* @__PURE__ */ jsx82(Clock2, { className: "h-3 w-3" }),
15389
15490
  " Waiting"
15390
15491
  ] });
15391
15492
  };
15392
- return /* @__PURE__ */ jsxs69(
15493
+ return /* @__PURE__ */ jsxs68(
15393
15494
  "div",
15394
15495
  {
15395
15496
  className: cn2(
@@ -15398,20 +15499,20 @@ var UserOpStatus = ({
15398
15499
  ),
15399
15500
  style: { textAlign: "left", listStyle: "none" },
15400
15501
  children: [
15401
- /* @__PURE__ */ jsxs69("div", { className: "flex items-center justify-between mb-3", children: [
15402
- /* @__PURE__ */ jsxs69("div", { className: "flex items-center gap-2", children: [
15502
+ /* @__PURE__ */ jsxs68("div", { className: "flex items-center justify-between mb-3", children: [
15503
+ /* @__PURE__ */ jsxs68("div", { className: "flex items-center gap-2", children: [
15403
15504
  stateBadge(),
15404
- /* @__PURE__ */ jsx83("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
15505
+ /* @__PURE__ */ jsx82("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
15405
15506
  ] }),
15406
- /* @__PURE__ */ jsxs69(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
15407
- /* @__PURE__ */ jsx83(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
15408
- /* @__PURE__ */ jsx83("span", { className: "text-xs", children: "Refresh" })
15507
+ /* @__PURE__ */ jsxs68(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
15508
+ /* @__PURE__ */ jsx82(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
15509
+ /* @__PURE__ */ jsx82("span", { className: "text-xs", children: "Refresh" })
15409
15510
  ] })
15410
15511
  ] }),
15411
- /* @__PURE__ */ jsxs69("div", { className: "flex items-center gap-2 mb-2", children: [
15412
- /* @__PURE__ */ jsx83("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
15413
- /* @__PURE__ */ jsx83("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
15414
- /* @__PURE__ */ jsx83(
15512
+ /* @__PURE__ */ jsxs68("div", { className: "flex items-center gap-2 mb-2", children: [
15513
+ /* @__PURE__ */ jsx82("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
15514
+ /* @__PURE__ */ jsx82("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
15515
+ /* @__PURE__ */ jsx82(
15415
15516
  Button,
15416
15517
  {
15417
15518
  variant: "ghost",
@@ -15423,14 +15524,14 @@ var UserOpStatus = ({
15423
15524
  } catch {
15424
15525
  }
15425
15526
  },
15426
- children: /* @__PURE__ */ jsx83(Copy5, { className: "h-3.5 w-3.5" })
15527
+ children: /* @__PURE__ */ jsx82(Copy6, { className: "h-3.5 w-3.5" })
15427
15528
  }
15428
15529
  )
15429
15530
  ] }),
15430
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs69("div", { className: "flex items-center gap-2 mb-3", children: [
15431
- /* @__PURE__ */ jsx83("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
15432
- /* @__PURE__ */ jsx83("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
15433
- /* @__PURE__ */ jsx83(
15531
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs68("div", { className: "flex items-center gap-2 mb-3", children: [
15532
+ /* @__PURE__ */ jsx82("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
15533
+ /* @__PURE__ */ jsx82("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
15534
+ /* @__PURE__ */ jsx82(
15434
15535
  Button,
15435
15536
  {
15436
15537
  variant: "ghost",
@@ -15442,10 +15543,10 @@ var UserOpStatus = ({
15442
15543
  } catch {
15443
15544
  }
15444
15545
  },
15445
- children: /* @__PURE__ */ jsx83(Copy5, { className: "h-3.5 w-3.5" })
15546
+ children: /* @__PURE__ */ jsx82(Copy6, { className: "h-3.5 w-3.5" })
15446
15547
  }
15447
15548
  ),
15448
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx83(
15549
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx82(
15449
15550
  "a",
15450
15551
  {
15451
15552
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -15453,11 +15554,11 @@ var UserOpStatus = ({
15453
15554
  rel: "noreferrer noopener",
15454
15555
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
15455
15556
  title: "Open in explorer",
15456
- children: /* @__PURE__ */ jsx83(ExternalLink2, { className: "h-3.5 w-3.5" })
15557
+ children: /* @__PURE__ */ jsx82(ExternalLink2, { className: "h-3.5 w-3.5" })
15457
15558
  }
15458
15559
  )
15459
15560
  ] }),
15460
- receipt && /* @__PURE__ */ jsxs69("div", { className: "text-xs text-muted-foreground mb-3", children: [
15561
+ receipt && /* @__PURE__ */ jsxs68("div", { className: "text-xs text-muted-foreground mb-3", children: [
15461
15562
  "Block ",
15462
15563
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
15463
15564
  " \u2022 Gas Used",
@@ -15466,32 +15567,32 @@ var UserOpStatus = ({
15466
15567
  " \u2022 Success ",
15467
15568
  String(!!receipt.success)
15468
15569
  ] }),
15469
- /* @__PURE__ */ jsx83("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs69("span", { className: "ml-2", children: [
15570
+ /* @__PURE__ */ jsx82("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs68("span", { className: "ml-2", children: [
15470
15571
  "\u2022 Polling for ",
15471
15572
  Math.round((Date.now() - startTimeRef.current) / 1e3),
15472
15573
  "s"
15473
15574
  ] }) }),
15474
- mempool && /* @__PURE__ */ jsxs69("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
15475
- /* @__PURE__ */ jsxs69("div", { children: [
15575
+ mempool && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
15576
+ /* @__PURE__ */ jsxs68("div", { children: [
15476
15577
  "Seen by bundler at ",
15477
- /* @__PURE__ */ jsx83(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
15578
+ /* @__PURE__ */ jsx82(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
15478
15579
  ] }),
15479
- /* @__PURE__ */ jsxs69("div", { children: [
15580
+ /* @__PURE__ */ jsxs68("div", { children: [
15480
15581
  "sender ",
15481
- /* @__PURE__ */ jsx83(Address, { address: mempool.sender, chain, truncate: false })
15582
+ /* @__PURE__ */ jsx82(Address, { address: mempool.sender, chain, truncate: false })
15482
15583
  ] })
15483
15584
  ] }),
15484
- error && /* @__PURE__ */ jsxs69("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15485
- /* @__PURE__ */ jsx83(AlertCircle6, { className: "h-4 w-4" }),
15585
+ error && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15586
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-4 w-4" }),
15486
15587
  " ",
15487
15588
  error
15488
15589
  ] }),
15489
- rejected && /* @__PURE__ */ jsxs69("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15490
- /* @__PURE__ */ jsx83(AlertCircle6, { className: "h-4 w-4" }),
15590
+ rejected && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15591
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-4 w-4" }),
15491
15592
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
15492
15593
  ] }),
15493
- timedOut && /* @__PURE__ */ jsxs69("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15494
- /* @__PURE__ */ jsx83(AlertCircle6, { className: "h-4 w-4" }),
15594
+ timedOut && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15595
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-4 w-4" }),
15495
15596
  "Stopped polling after ",
15496
15597
  Math.round(maxPollTimeMs / 1e3),
15497
15598
  "s. UserOperation may have been rejected by the bundler."
@@ -15502,9 +15603,9 @@ var UserOpStatus = ({
15502
15603
  };
15503
15604
 
15504
15605
  // src/internal/components/Hash.tsx
15505
- import { Copy as Copy6, ExternalLink as ExternalLink3 } from "lucide-react";
15606
+ import { Copy as Copy7, ExternalLink as ExternalLink3 } from "lucide-react";
15506
15607
  import * as React11 from "react";
15507
- import { jsx as jsx84, jsxs as jsxs70 } from "react/jsx-runtime";
15608
+ import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime";
15508
15609
  function toExplorerUrl(kind, value, chain) {
15509
15610
  const base2 = chain?.blockExplorers?.default?.url;
15510
15611
  if (!base2) return null;
@@ -15528,11 +15629,11 @@ var Hash = ({
15528
15629
  const value = hash || "";
15529
15630
  const explorer = toExplorerUrl(kind, value, chain || void 0);
15530
15631
  const [copied, setCopied] = React11.useState(false);
15531
- if (!value) return /* @__PURE__ */ jsx84("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15532
- return /* @__PURE__ */ jsxs70("div", { className: cn2("flex items-center gap-2", className), children: [
15533
- label && /* @__PURE__ */ jsx84("span", { className: "text-sm font-medium", children: label }),
15534
- /* @__PURE__ */ jsx84("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
15535
- showCopy && /* @__PURE__ */ jsx84(
15632
+ if (!value) return /* @__PURE__ */ jsx83("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15633
+ return /* @__PURE__ */ jsxs69("div", { className: cn2("flex items-center gap-2", className), children: [
15634
+ label && /* @__PURE__ */ jsx83("span", { className: "text-sm font-medium", children: label }),
15635
+ /* @__PURE__ */ jsx83("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
15636
+ showCopy && /* @__PURE__ */ jsx83(
15536
15637
  Button,
15537
15638
  {
15538
15639
  variant: "ghost",
@@ -15546,10 +15647,10 @@ var Hash = ({
15546
15647
  } catch {
15547
15648
  }
15548
15649
  },
15549
- children: /* @__PURE__ */ jsx84(Copy6, { className: "h-4 w-4" })
15650
+ children: /* @__PURE__ */ jsx83(Copy7, { className: "h-4 w-4" })
15550
15651
  }
15551
15652
  ),
15552
- showExplorer && explorer && /* @__PURE__ */ jsx84(
15653
+ showExplorer && explorer && /* @__PURE__ */ jsx83(
15553
15654
  "a",
15554
15655
  {
15555
15656
  href: explorer,
@@ -15557,7 +15658,7 @@ var Hash = ({
15557
15658
  rel: "noreferrer noopener",
15558
15659
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
15559
15660
  title: "Open in explorer",
15560
- children: /* @__PURE__ */ jsx84(ExternalLink3, { className: "h-4 w-4" })
15661
+ children: /* @__PURE__ */ jsx83(ExternalLink3, { className: "h-4 w-4" })
15561
15662
  }
15562
15663
  )
15563
15664
  ] });
@@ -15565,12 +15666,12 @@ var Hash = ({
15565
15666
 
15566
15667
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
15567
15668
  init_base();
15568
- import { useEffect as useEffect40, useState as useState25 } from "react";
15569
- import { jsx as jsx85, jsxs as jsxs71 } from "react/jsx-runtime";
15669
+ import { useEffect as useEffect40, useState as useState26 } from "react";
15670
+ import { jsx as jsx84, jsxs as jsxs70 } from "react/jsx-runtime";
15570
15671
  var TransactionsList = ({ address, itemsCount = 10 }) => {
15571
- const [transactions, setTransactions] = useState25([]);
15572
- const [loading, setLoading] = useState25(true);
15573
- const [error, setError] = useState25(null);
15672
+ const [transactions, setTransactions] = useState26([]);
15673
+ const [loading, setLoading] = useState26(true);
15674
+ const [error, setError] = useState26(null);
15574
15675
  useEffect40(() => {
15575
15676
  const fetchTransactions = async () => {
15576
15677
  try {
@@ -15617,31 +15718,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15617
15718
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
15618
15719
  };
15619
15720
  if (loading) {
15620
- return /* @__PURE__ */ jsxs71("div", { className: "p-4 text-center", children: [
15621
- /* @__PURE__ */ jsx85("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15622
- /* @__PURE__ */ jsx85("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15721
+ return /* @__PURE__ */ jsxs70("div", { className: "p-4 text-center", children: [
15722
+ /* @__PURE__ */ jsx84("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15723
+ /* @__PURE__ */ jsx84("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15623
15724
  ] });
15624
15725
  }
15625
15726
  if (error) {
15626
- return /* @__PURE__ */ jsxs71("div", { className: "p-4 text-center", children: [
15627
- /* @__PURE__ */ jsx85("p", { className: "text-red-600 text-sm", children: error }),
15628
- /* @__PURE__ */ jsx85("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15727
+ return /* @__PURE__ */ jsxs70("div", { className: "p-4 text-center", children: [
15728
+ /* @__PURE__ */ jsx84("p", { className: "text-red-600 text-sm", children: error }),
15729
+ /* @__PURE__ */ jsx84("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15629
15730
  ] });
15630
15731
  }
15631
15732
  if (transactions.length === 0) {
15632
- return /* @__PURE__ */ jsx85("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx85("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15733
+ return /* @__PURE__ */ jsx84("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx84("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15633
15734
  }
15634
- return /* @__PURE__ */ jsx85("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx85("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs71(
15735
+ return /* @__PURE__ */ jsx84("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx84("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs70(
15635
15736
  "div",
15636
15737
  {
15637
15738
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
15638
15739
  onClick: () => openTransaction(tx.hash),
15639
15740
  children: [
15640
- /* @__PURE__ */ jsxs71("div", { className: "flex justify-between items-start mb-2", children: [
15641
- /* @__PURE__ */ jsxs71("div", { className: "flex-1", children: [
15642
- /* @__PURE__ */ jsxs71("div", { className: "flex items-center space-x-2 mb-1", children: [
15643
- /* @__PURE__ */ jsx85("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15644
- /* @__PURE__ */ jsx85(
15741
+ /* @__PURE__ */ jsxs70("div", { className: "flex justify-between items-start mb-2", children: [
15742
+ /* @__PURE__ */ jsxs70("div", { className: "flex-1", children: [
15743
+ /* @__PURE__ */ jsxs70("div", { className: "flex items-center space-x-2 mb-1", children: [
15744
+ /* @__PURE__ */ jsx84("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15745
+ /* @__PURE__ */ jsx84(
15645
15746
  "span",
15646
15747
  {
15647
15748
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -15649,40 +15750,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15649
15750
  }
15650
15751
  )
15651
15752
  ] }),
15652
- /* @__PURE__ */ jsxs71("div", { className: "text-sm space-y-1", children: [
15653
- /* @__PURE__ */ jsxs71("div", { children: [
15654
- /* @__PURE__ */ jsx85("span", { className: "text-gray-600", children: "From:" }),
15655
- /* @__PURE__ */ jsxs71("span", { className: "font-mono ml-1", children: [
15753
+ /* @__PURE__ */ jsxs70("div", { className: "text-sm space-y-1", children: [
15754
+ /* @__PURE__ */ jsxs70("div", { children: [
15755
+ /* @__PURE__ */ jsx84("span", { className: "text-gray-600", children: "From:" }),
15756
+ /* @__PURE__ */ jsxs70("span", { className: "font-mono ml-1", children: [
15656
15757
  formatAddress3(tx.from.hash),
15657
- tx.from.is_contract && /* @__PURE__ */ jsx85("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15758
+ tx.from.is_contract && /* @__PURE__ */ jsx84("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15658
15759
  ] })
15659
15760
  ] }),
15660
- /* @__PURE__ */ jsxs71("div", { children: [
15661
- /* @__PURE__ */ jsx85("span", { className: "text-gray-600", children: "To:" }),
15662
- /* @__PURE__ */ jsxs71("span", { className: "font-mono ml-1", children: [
15761
+ /* @__PURE__ */ jsxs70("div", { children: [
15762
+ /* @__PURE__ */ jsx84("span", { className: "text-gray-600", children: "To:" }),
15763
+ /* @__PURE__ */ jsxs70("span", { className: "font-mono ml-1", children: [
15663
15764
  formatAddress3(tx.to.hash),
15664
- tx.to.is_contract && /* @__PURE__ */ jsx85("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15765
+ tx.to.is_contract && /* @__PURE__ */ jsx84("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15665
15766
  ] })
15666
15767
  ] }),
15667
- /* @__PURE__ */ jsxs71("div", { children: [
15668
- /* @__PURE__ */ jsx85("span", { className: "text-gray-600", children: "Value:" }),
15669
- /* @__PURE__ */ jsxs71("span", { className: "font-semibold ml-1", children: [
15768
+ /* @__PURE__ */ jsxs70("div", { children: [
15769
+ /* @__PURE__ */ jsx84("span", { className: "text-gray-600", children: "Value:" }),
15770
+ /* @__PURE__ */ jsxs70("span", { className: "font-semibold ml-1", children: [
15670
15771
  formatValue3(tx.value),
15671
15772
  " LUMIA"
15672
15773
  ] })
15673
15774
  ] })
15674
15775
  ] })
15675
15776
  ] }),
15676
- /* @__PURE__ */ jsxs71("div", { className: "text-right text-xs text-gray-500", children: [
15677
- /* @__PURE__ */ jsx85("div", { children: formatDate3(tx.timestamp) }),
15678
- /* @__PURE__ */ jsxs71("div", { className: "mt-1", children: [
15777
+ /* @__PURE__ */ jsxs70("div", { className: "text-right text-xs text-gray-500", children: [
15778
+ /* @__PURE__ */ jsx84("div", { children: formatDate3(tx.timestamp) }),
15779
+ /* @__PURE__ */ jsxs70("div", { className: "mt-1", children: [
15679
15780
  "Gas: ",
15680
15781
  parseInt(tx.gas_used).toLocaleString()
15681
15782
  ] }),
15682
- tx.method && /* @__PURE__ */ jsx85("div", { className: "mt-1 text-blue-600", children: tx.method })
15783
+ tx.method && /* @__PURE__ */ jsx84("div", { className: "mt-1 text-blue-600", children: tx.method })
15683
15784
  ] })
15684
15785
  ] }),
15685
- tx.transaction_types.length > 0 && /* @__PURE__ */ jsx85("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx85("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15786
+ tx.transaction_types.length > 0 && /* @__PURE__ */ jsx84("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx84("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15686
15787
  ]
15687
15788
  },
15688
15789
  tx.hash
@@ -15873,11 +15974,11 @@ function useUserOpStatus(options = {}) {
15873
15974
 
15874
15975
  // src/hooks/useLogout.ts
15875
15976
  import { logout as coreLogout, jwtTokenManager as jwtTokenManager3 } from "@lumiapassport/core/auth";
15876
- import { useCallback as useCallback28 } from "react";
15977
+ import { useCallback as useCallback27 } from "react";
15877
15978
  function useLogout() {
15878
15979
  const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
15879
15980
  const { callbacks } = useLumiaPassportConfig();
15880
- const logout2 = useCallback28(async () => {
15981
+ const logout2 = useCallback27(async () => {
15881
15982
  const prevAddress = address;
15882
15983
  let userId = null;
15883
15984
  setIsLoading(true);