@lumiapassport/ui-kit 1.14.21 → 1.14.23

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
@@ -3834,28 +3834,32 @@ async function sendUserOperation(session, callTarget, amountWei, innerData = "0x
3834
3834
  try {
3835
3835
  const envCaps = typeof import.meta !== "undefined" && import.meta.env || {};
3836
3836
  const maxBundlerVerifGas = envCaps.VITE_MAX_VERIFICATION_GAS ? BigInt(envCaps.VITE_MAX_VERIFICATION_GAS) : MAX_BUNDLER_VERIFICATION_GAS;
3837
- const maxCallGas = envCaps.VITE_MAX_CALL_GAS_LIMIT ? BigInt(envCaps.VITE_MAX_CALL_GAS_LIMIT) : 0x7a120n;
3837
+ const maxCallGas = envCaps.VITE_MAX_CALL_GAS_LIMIT ? BigInt(envCaps.VITE_MAX_CALL_GAS_LIMIT) : null;
3838
3838
  const toHex2 = (v) => `0x${v.toString(16)}`;
3839
3839
  const maxAccountVerifGas = usePaymaster ? maxBundlerVerifGas - PAYMASTER_VERIFICATION_GAS : maxBundlerVerifGas;
3840
3840
  const verGas = BigInt(userOp.verificationGasLimit || "0x0");
3841
3841
  if (verGas > maxAccountVerifGas) userOp.verificationGasLimit = toHex2(maxAccountVerifGas);
3842
3842
  const callGas = BigInt(userOp.callGasLimit || "0x0");
3843
- if (callGas > maxCallGas) userOp.callGasLimit = toHex2(maxCallGas);
3843
+ if (maxCallGas && callGas > maxCallGas) userOp.callGasLimit = toHex2(maxCallGas);
3844
3844
  } catch {
3845
3845
  }
3846
3846
  };
3847
3847
  let estimated = false;
3848
3848
  try {
3849
3849
  const gasEst = await estimateUserOperationGas({ ...userOp, signature: `0x${"00".repeat(65)}` });
3850
+ console.log("[Account] Gas estimation from bundler:", { callGasLimit: gasEst.callGasLimit, verificationGasLimit: gasEst.verificationGasLimit, preVerificationGas: gasEst.preVerificationGas });
3850
3851
  userOp.callGasLimit = gasEst.callGasLimit;
3851
3852
  userOp.verificationGasLimit = gasEst.verificationGasLimit;
3852
3853
  userOp.preVerificationGas = gasEst.preVerificationGas;
3853
3854
  ensureGenerousDefaults();
3854
3855
  enforceCaps(session.usePaymaster);
3855
3856
  estimated = true;
3856
- } catch {
3857
+ console.log("[Account] Gas after caps:", { callGasLimit: userOp.callGasLimit, verificationGasLimit: userOp.verificationGasLimit, preVerificationGas: userOp.preVerificationGas });
3858
+ } catch (e) {
3859
+ console.log("[Account] Gas estimation failed, using defaults:", e);
3857
3860
  ensureGenerousDefaults();
3858
3861
  enforceCaps(session.usePaymaster);
3862
+ console.log("[Account] Gas after defaults:", { callGasLimit: userOp.callGasLimit, verificationGasLimit: userOp.verificationGasLimit, preVerificationGas: userOp.preVerificationGas });
3859
3863
  }
3860
3864
  try {
3861
3865
  const toHex2 = (v) => `0x${v.toString(16)}`;
@@ -4019,28 +4023,32 @@ async function prepareUserOperation(session, callTarget, amountWei, innerData =
4019
4023
  try {
4020
4024
  const envCaps = typeof import.meta !== "undefined" && import.meta.env || {};
4021
4025
  const maxBundlerVerifGas = envCaps.VITE_MAX_VERIFICATION_GAS ? BigInt(envCaps.VITE_MAX_VERIFICATION_GAS) : MAX_BUNDLER_VERIFICATION_GAS;
4022
- const maxCallGas = envCaps.VITE_MAX_CALL_GAS_LIMIT ? BigInt(envCaps.VITE_MAX_CALL_GAS_LIMIT) : 0x7a120n;
4026
+ const maxCallGas = envCaps.VITE_MAX_CALL_GAS_LIMIT ? BigInt(envCaps.VITE_MAX_CALL_GAS_LIMIT) : null;
4023
4027
  const toHex2 = (v) => `0x${v.toString(16)}`;
4024
4028
  const maxAccountVerifGas = usePaymaster ? maxBundlerVerifGas - PAYMASTER_VERIFICATION_GAS : maxBundlerVerifGas;
4025
4029
  const verGas = BigInt(userOp.verificationGasLimit || "0x0");
4026
4030
  if (verGas > maxAccountVerifGas) userOp.verificationGasLimit = toHex2(maxAccountVerifGas);
4027
4031
  const callGas = BigInt(userOp.callGasLimit || "0x0");
4028
- if (callGas > maxCallGas) userOp.callGasLimit = toHex2(maxCallGas);
4032
+ if (maxCallGas && callGas > maxCallGas) userOp.callGasLimit = toHex2(maxCallGas);
4029
4033
  } catch {
4030
4034
  }
4031
4035
  };
4032
4036
  let estimated = false;
4033
4037
  try {
4034
4038
  const gasEst = await estimateUserOperationGas({ ...userOp, signature: `0x${"00".repeat(65)}` });
4039
+ console.log("[Account] Gas estimation from bundler:", { callGasLimit: gasEst.callGasLimit, verificationGasLimit: gasEst.verificationGasLimit, preVerificationGas: gasEst.preVerificationGas });
4035
4040
  userOp.callGasLimit = gasEst.callGasLimit;
4036
4041
  userOp.verificationGasLimit = gasEst.verificationGasLimit;
4037
4042
  userOp.preVerificationGas = gasEst.preVerificationGas;
4038
4043
  ensureGenerousDefaults();
4039
4044
  enforceCaps(session.usePaymaster);
4040
4045
  estimated = true;
4041
- } catch {
4046
+ console.log("[Account] Gas after caps:", { callGasLimit: userOp.callGasLimit, verificationGasLimit: userOp.verificationGasLimit, preVerificationGas: userOp.preVerificationGas });
4047
+ } catch (e) {
4048
+ console.log("[Account] Gas estimation failed, using defaults:", e);
4042
4049
  ensureGenerousDefaults();
4043
4050
  enforceCaps(session.usePaymaster);
4051
+ console.log("[Account] Gas after defaults:", { callGasLimit: userOp.callGasLimit, verificationGasLimit: userOp.verificationGasLimit, preVerificationGas: userOp.preVerificationGas });
4044
4052
  }
4045
4053
  try {
4046
4054
  const toHex2 = (v) => `0x${v.toString(16)}`;
@@ -4386,7 +4394,7 @@ var init_profile = __esm({
4386
4394
  });
4387
4395
 
4388
4396
  // src/styles/built.css
4389
- 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 .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.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 .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.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-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-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-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.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-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-\\[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-\\[680px\\]{max-width:680px}.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 .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-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-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 .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.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-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-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-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-\\[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-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.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 .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 .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 .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,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--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,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--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-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.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\\:font-mono::file-selector-button{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .file\\:text-\\[10px\\]::file-selector-button{font-size:10px}.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-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-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\\: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}';
4397
+ 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 .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.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 .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.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-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-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.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-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-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-\\[680px\\]{max-width:680px}.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 .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-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-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 .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.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-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-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-fg-inverted\\)\\]{background-color:var(--l-pass-fg-inverted)}.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-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-\\[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-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.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 .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 .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 .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,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--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,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--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-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-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\\: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}';
4390
4398
 
4391
4399
  // src/context/LumiaPassportContext.tsx
4392
4400
  init_lumiaPassport();
@@ -4397,9 +4405,9 @@ import {
4397
4405
  createContext,
4398
4406
  useCallback as useCallback20,
4399
4407
  useContext,
4400
- useEffect as useEffect33,
4408
+ useEffect as useEffect34,
4401
4409
  useMemo as useMemo5,
4402
- useRef as useRef13
4410
+ useRef as useRef14
4403
4411
  } from "react";
4404
4412
 
4405
4413
  // src/context/LumiaPassportSessionContext.tsx
@@ -4581,7 +4589,7 @@ function BalanceFeedProvider() {
4581
4589
 
4582
4590
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4583
4591
  import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
4584
- import { useEffect as useEffect31 } from "react";
4592
+ import { useEffect as useEffect32 } from "react";
4585
4593
 
4586
4594
  // src/internal/components/Footer/Footer.tsx
4587
4595
  import { useMutation, useQueryClient } from "@tanstack/react-query";
@@ -4642,6 +4650,35 @@ var LumiaLogo = forwardRef(({ size = 24, className = "" }, ref) => /* @__PURE__
4642
4650
  init_auth();
4643
4651
  init_base();
4644
4652
 
4653
+ // src/internal/hooks/useLayoutStore.ts
4654
+ import { create as create2 } from "zustand";
4655
+ var useLayoutStore = create2((set) => ({
4656
+ colorMode: "light",
4657
+ // layoutView: 'desktop',
4658
+ // deviceType: 'non-touch',
4659
+ isMobileView: false,
4660
+ maxScrollHeight: MAX_CONTENT_HEIGHT,
4661
+ isDialogClosing: false,
4662
+ isDialogOpen: false,
4663
+ isDialogForced: false,
4664
+ dialogTitle: null,
4665
+ dialogDescription: null,
4666
+ dialogContent: null,
4667
+ isSettings: false,
4668
+ setColorMode: (colorMode) => set({ colorMode }),
4669
+ // setLayoutView: (layoutView) => set(() => ({ layoutView })),
4670
+ // setDeviceType: (deviceType) => set(() => ({ deviceType })),
4671
+ setIsMobileView: (isMobileView) => set({ isMobileView }),
4672
+ setMaxScrollHeight: (maxScrollHeight) => set({ maxScrollHeight }),
4673
+ setIsDialogClosing: (isDialogClosing) => set({ isDialogClosing }),
4674
+ setIsDialogOpen: (isDialogOpen) => set({ isDialogOpen }),
4675
+ setIsDialogForced: (isDialogForced) => set({ isDialogForced }),
4676
+ setDialogTitle: (dialogTitle) => set({ dialogTitle }),
4677
+ setDialogDescription: (dialogDescription) => set({ dialogDescription }),
4678
+ setDialogContent: (dialogContent) => set({ dialogContent }),
4679
+ setIsSettings: (isSettings) => set({ isSettings })
4680
+ }));
4681
+
4645
4682
  // src/internal/lib/utils.ts
4646
4683
  import { clsx } from "clsx";
4647
4684
  import { twMerge } from "tailwind-merge";
@@ -4734,9 +4771,11 @@ function Footer() {
4734
4771
  const { callbacks } = useLumiaPassportConfig();
4735
4772
  const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useLumiaPassportSession();
4736
4773
  const setPage = useLayoutDataStore((st) => st.setPage);
4774
+ const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
4737
4775
  const { mutate: disconnect, isPending: isDisconnecting } = useMutation({
4738
4776
  mutationFn: async (disconnectAddress) => {
4739
4777
  if (!disconnectAddress) throw new Error("No address to disconnect");
4778
+ setIsDialogForced(true);
4740
4779
  setError(null);
4741
4780
  setStatus("disconnecting");
4742
4781
  setIsLoading(true);
@@ -4753,12 +4792,16 @@ function Footer() {
4753
4792
  setStatus("idle");
4754
4793
  setIsLoading(false);
4755
4794
  callbacks?.onLumiaPassportDisconnect?.({ address: disconnectAddress, userId: disconnectedUserId });
4756
- setTimeout(() => setPage("auth" /* AUTH */), 200);
4795
+ setTimeout(() => {
4796
+ setPage("auth" /* AUTH */);
4797
+ setIsDialogForced(false);
4798
+ }, 200);
4757
4799
  },
4758
4800
  onError: (err) => {
4759
4801
  setError(err.message || "An unknown error occurred during sign out");
4760
4802
  setStatus("idle");
4761
4803
  setIsLoading(false);
4804
+ setIsDialogForced(false);
4762
4805
  }
4763
4806
  });
4764
4807
  const { name, logo, logoDataUri } = lumiaBeam;
@@ -4944,35 +4987,6 @@ function BalanceView(props) {
4944
4987
  // src/internal/components/KYC/KycMenu.tsx
4945
4988
  import { ArrowLeft } from "lucide-react";
4946
4989
 
4947
- // src/internal/hooks/useLayoutStore.ts
4948
- import { create as create2 } from "zustand";
4949
- var useLayoutStore = create2((set) => ({
4950
- colorMode: "light",
4951
- // layoutView: 'desktop',
4952
- // deviceType: 'non-touch',
4953
- isMobileView: false,
4954
- maxScrollHeight: MAX_CONTENT_HEIGHT,
4955
- isDialogClosing: false,
4956
- isDialogOpen: false,
4957
- isDialogForced: false,
4958
- dialogTitle: null,
4959
- dialogDescription: null,
4960
- dialogContent: null,
4961
- isSettings: false,
4962
- setColorMode: (colorMode) => set({ colorMode }),
4963
- // setLayoutView: (layoutView) => set(() => ({ layoutView })),
4964
- // setDeviceType: (deviceType) => set(() => ({ deviceType })),
4965
- setIsMobileView: (isMobileView) => set({ isMobileView }),
4966
- setMaxScrollHeight: (maxScrollHeight) => set({ maxScrollHeight }),
4967
- setIsDialogClosing: (isDialogClosing) => set({ isDialogClosing }),
4968
- setIsDialogOpen: (isDialogOpen) => set({ isDialogOpen }),
4969
- setIsDialogForced: (isDialogForced) => set({ isDialogForced }),
4970
- setDialogTitle: (dialogTitle) => set({ dialogTitle }),
4971
- setDialogDescription: (dialogDescription) => set({ dialogDescription }),
4972
- setDialogContent: (dialogContent) => set({ dialogContent }),
4973
- setIsSettings: (isSettings) => set({ isSettings })
4974
- }));
4975
-
4976
4990
  // src/internal/components/KYC/SumsubIframe.tsx
4977
4991
  import { LoaderIcon } from "lucide-react";
4978
4992
 
@@ -5355,7 +5369,7 @@ function Header() {
5355
5369
  // package.json
5356
5370
  var package_default = {
5357
5371
  name: "@lumiapassport/ui-kit",
5358
- version: "1.14.21",
5372
+ version: "1.14.23",
5359
5373
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
5360
5374
  type: "module",
5361
5375
  main: "./dist/index.cjs",
@@ -5484,8 +5498,9 @@ var CONTENT_BG_SETUP = {
5484
5498
  boxShadow: "0px 4px 10px var(--l-pass-shadow-c)"
5485
5499
  };
5486
5500
  var DialogContent = forwardRef3(
5487
- ({ className, children, hideClose, colorMode, ...props }, ref) => {
5501
+ ({ className, children, colorMode, ...props }, ref) => {
5488
5502
  const isSettings = useLayoutStore((st) => st.isSettings);
5503
+ const isDialogForced = useLayoutStore((st) => st.isDialogForced);
5489
5504
  const setPage = useLayoutDataStore((st) => st.setPage);
5490
5505
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
5491
5506
  const { isMobileView, isClosing, style } = useDecideContentStyles();
@@ -5516,7 +5531,7 @@ var DialogContent = forwardRef3(
5516
5531
  ...props,
5517
5532
  children: [
5518
5533
  children,
5519
- /* @__PURE__ */ jsxs12(
5534
+ !isDialogForced && /* @__PURE__ */ jsxs12(
5520
5535
  "div",
5521
5536
  {
5522
5537
  className: cn(
@@ -5549,7 +5564,7 @@ var DialogContent = forwardRef3(
5549
5564
  ]
5550
5565
  }
5551
5566
  ),
5552
- !hideClose && /* @__PURE__ */ jsx13(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs12(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
5567
+ /* @__PURE__ */ jsx13(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs12(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
5553
5568
  /* @__PURE__ */ jsx13(X, { className: "h-4 w-4" }),
5554
5569
  /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Close" })
5555
5570
  ] }) })
@@ -5822,23 +5837,25 @@ function useBackupStatusChanges() {
5822
5837
 
5823
5838
  // src/internal/hooks/useBackupWarning.ts
5824
5839
  import { useEffect as useEffect6, useRef as useRef3 } from "react";
5825
- var WARNING_TIMEOUT_MS = 24e3;
5840
+ var WARNING_TIMEOUT_MS = 4500;
5826
5841
  function useBackupWarning() {
5827
- const config = useLumiaPassportConfig().config;
5828
5842
  const address = useLumiaPassportSession((st) => st.address);
5829
5843
  const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
5830
5844
  const page = useLayoutDataStore((st) => st.page);
5831
5845
  const setPage = useLayoutDataStore((st) => st.setPage);
5832
5846
  const timeoutRef = useRef3(null);
5847
+ const touchedRef = useRef3(false);
5833
5848
  useEffect6(() => {
5849
+ if (touchedRef.current) return;
5834
5850
  if (timeoutRef.current) {
5835
5851
  clearTimeout(timeoutRef.current);
5836
5852
  timeoutRef.current = null;
5837
5853
  }
5838
- const isShown = config.current?.warnings?.backupWarning && !hasServerVault;
5839
- if (!address || !isShown || page === "keysare-backup" /* KEYSARE_BACKUP */) return;
5854
+ if (!address || !!hasServerVault || page === "keysare-backup" /* KEYSARE_BACKUP */) return;
5840
5855
  timeoutRef.current = setTimeout(() => {
5841
5856
  setPage("keysare-backup" /* KEYSARE_BACKUP */);
5857
+ touchedRef.current = true;
5858
+ timeoutRef.current = null;
5842
5859
  }, WARNING_TIMEOUT_MS);
5843
5860
  return () => {
5844
5861
  if (timeoutRef.current) {
@@ -5903,12 +5920,12 @@ function useDetectMaxScrollHeight() {
5903
5920
  }
5904
5921
 
5905
5922
  // src/internal/hooks/usePageMapper.tsx
5906
- import { useCallback as useCallback17, useEffect as useEffect28 } from "react";
5923
+ import { useCallback as useCallback17, useEffect as useEffect29 } from "react";
5907
5924
 
5908
5925
  // src/internal/components/AuthMenu/AuthMenu.tsx
5909
5926
  import { AnimatePresence, motion } from "framer-motion";
5910
5927
  import { AlertTriangle as AlertTriangle2, Loader as Loader5 } from "lucide-react";
5911
- import { useEffect as useEffect11, useMemo, useState as useState7 } from "react";
5928
+ import { useEffect as useEffect11, useMemo, useRef as useRef9, useState as useState7 } from "react";
5912
5929
 
5913
5930
  // src/internal/components/Expandable/hooks/useExpandable.ts
5914
5931
  import { useCallback as useCallback4, useEffect as useEffect9, useRef as useRef4 } from "react";
@@ -7140,8 +7157,18 @@ function useAuthMenuHandlers() {
7140
7157
  const qc = useQueryClient2();
7141
7158
  const pendingLoginResponseRef = useRef7(null);
7142
7159
  const setPage = useLayoutDataStore((st) => st.setPage);
7160
+ const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
7143
7161
  const [telegramCleanup, setTelegramCleanup] = useState5(null);
7144
- const { usePaymaster, setError, setStatus, setSession, setAddress, setRecoveryUserId, setHasServerVault } = useLumiaPassportSession();
7162
+ const {
7163
+ usePaymaster,
7164
+ setError,
7165
+ setStatus,
7166
+ setSession,
7167
+ setAddress,
7168
+ setRecoveryUserId,
7169
+ setHasServerVault,
7170
+ setIsLoading
7171
+ } = useLumiaPassportSession();
7145
7172
  const setStep = useAuthStore((st) => st.setStep);
7146
7173
  const setAlert = useAuthStore((st) => st.setAlert);
7147
7174
  const createSessionWithKeyshare = useCallback7(
@@ -7179,6 +7206,7 @@ function useAuthMenuHandlers() {
7179
7206
  [setStatus, callbacks, usePaymaster]
7180
7207
  );
7181
7208
  const onAuthSuccess = useCallback7(async () => {
7209
+ setIsLoading(true);
7182
7210
  const loginResponse = pendingLoginResponseRef.current;
7183
7211
  if (!loginResponse || !loginResponse.userId) {
7184
7212
  setError("Authentication failed - no login data available");
@@ -7207,10 +7235,6 @@ function useAuthMenuHandlers() {
7207
7235
  );
7208
7236
  setError(null);
7209
7237
  setAlert(null);
7210
- setSession(sess);
7211
- setAddress(addr);
7212
- setStatus("ready");
7213
- setPage(null);
7214
7238
  try {
7215
7239
  callbacks?.onLumiaPassportConnect?.({ address: addr, session: sess });
7216
7240
  callbacks?.onLumiaPassportAccount?.({ userId, address: addr, session: sess, hasKeyshare: hasServerKeyshare });
@@ -7231,6 +7255,16 @@ function useAuthMenuHandlers() {
7231
7255
  } catch (e) {
7232
7256
  console.warn("[UI-KIT] Vault status check failed:", e);
7233
7257
  }
7258
+ setSession(sess);
7259
+ setAddress(addr);
7260
+ setStatus("ready");
7261
+ if (jwt?.isNewUser) {
7262
+ console.log("[AuthMenu] New user detected - forcing backup flow");
7263
+ setIsDialogForced(true);
7264
+ setPage("keysare-backup" /* KEYSARE_BACKUP */);
7265
+ } else {
7266
+ setPage(null);
7267
+ }
7234
7268
  } catch (error) {
7235
7269
  if (error?.code === "KEYSHARE_RECOVERY_NEEDED") {
7236
7270
  console.warn("[AuthMenu] Keyshare recovery needed for user:", userId);
@@ -7250,6 +7284,8 @@ function useAuthMenuHandlers() {
7250
7284
  });
7251
7285
  setStep("failed");
7252
7286
  }
7287
+ } finally {
7288
+ setIsLoading(false);
7253
7289
  }
7254
7290
  }, [
7255
7291
  // config.projectId,
@@ -7263,6 +7299,7 @@ function useAuthMenuHandlers() {
7263
7299
  setAddress,
7264
7300
  setRecoveryUserId,
7265
7301
  setHasServerVault,
7302
+ setIsDialogForced,
7266
7303
  createSessionWithKeyshare
7267
7304
  ]);
7268
7305
  const checkDisplayNameRequired = useCallback7(async (loginResponse) => {
@@ -7636,20 +7673,28 @@ function VerifyStep(props) {
7636
7673
  import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
7637
7674
  var AuthMenu = () => {
7638
7675
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
7639
- const [isMenuReady, setIsMenuReady] = useState7(false);
7640
7676
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
7641
7677
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
7642
7678
  const { step, alert: alert2, setStep, setPasskeyStatus, setEmail, setAlert } = useAuthStore();
7643
7679
  const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn, checkDisplayNameRequired } = useAuthMenuHandlers();
7680
+ const [isAlertShowReady, setIsAlertShowReady] = useState7(false);
7681
+ const readyTimeout = useRef9(null);
7682
+ useEffect11(() => {
7683
+ if (readyTimeout.current) {
7684
+ clearTimeout(readyTimeout.current);
7685
+ readyTimeout.current = null;
7686
+ }
7687
+ setIsAlertShowReady(false);
7688
+ readyTimeout.current = setTimeout(() => setIsAlertShowReady(true), 750);
7689
+ }, [step]);
7644
7690
  useEffect11(() => {
7645
7691
  setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
7646
- setTimeout(() => setIsMenuReady(true), 500);
7647
7692
  return () => {
7648
7693
  setStep("signin");
7649
7694
  setEmail("");
7650
7695
  setPasskeyStatus("idle");
7651
7696
  setAlert(null);
7652
- setIsMenuReady(false);
7697
+ setIsAlertShowReady(false);
7653
7698
  };
7654
7699
  }, []);
7655
7700
  if (!isIframeReady) {
@@ -7703,12 +7748,12 @@ var AuthMenu = () => {
7703
7748
  },
7704
7749
  step
7705
7750
  ) }),
7706
- isMenuReady && /* --------------------------------------------------------------------------------------------------------------- */
7751
+ isAlertShowReady && /* --------------------------------------------------------------------------------------------------------------- */
7707
7752
  /* -------- EXPANDABLE is designed to adjust its height automatically whenever ANY 1ST LEVEL CHILD changes! ------ */
7708
7753
  /* In order to ensure smooth expand animation consistency do not use 2nd (or 3rd etc) nested conditional rendering */
7709
7754
  /* elements, cause it might outcome Expandable not reacting to deeply nested elements' height changes ------------ */
7710
7755
  /* --------------------------------------------------------------------------------------------------------------- */
7711
- /* @__PURE__ */ jsx30(Expandable, { isExpanded: !!alert2 && isMenuReady, contentClassName: "px-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsxs24(Highlight, { type: "error", className: "w-full flex gap-[var(--l-pass-gap)] ", children: [
7756
+ /* @__PURE__ */ jsx30(Expandable, { isExpanded: !!alert2 && isAlertShowReady, contentClassName: "px-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsxs24(Highlight, { type: "error", className: "w-full flex gap-[var(--l-pass-gap)] ", children: [
7712
7757
  /* @__PURE__ */ jsx30(AlertTriangle2, { className: "w-5 h-5 text-[var(--l-pass-error)]" }),
7713
7758
  /* @__PURE__ */ jsxs24("span", { className: "block w-full flex flex-col gap-1 flex-1", children: [
7714
7759
  alert2?.title && /* @__PURE__ */ jsx30("span", { className: "block font-bold leading-5", children: alert2.title }),
@@ -7817,7 +7862,7 @@ function RampnowIcon() {
7817
7862
  // src/internal/components/BuyMenu/binance/Binance.tsx
7818
7863
  import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
7819
7864
  import { DollarSign, LoaderIcon as LoaderIcon2 } from "lucide-react";
7820
- import { useEffect as useEffect13, useRef as useRef9 } from "react";
7865
+ import { useEffect as useEffect13, useRef as useRef10 } from "react";
7821
7866
 
7822
7867
  // src/internal/components/BuyMenu/components/PaymentSelector.tsx
7823
7868
  import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
@@ -7982,7 +8027,7 @@ function Binance(props) {
7982
8027
  queryKey: [QUERY_KEYS3.binancePaymentModes, walletAddress, isLumiaAvailable, srcQueryAmount],
7983
8028
  queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
7984
8029
  });
7985
- const lastLoadedPaymentModes = useRef9([]);
8030
+ const lastLoadedPaymentModes = useRef10([]);
7986
8031
  useEffect13(() => {
7987
8032
  if (!paymentModes?.length) return;
7988
8033
  setPaymentMode(getPayMethodID(paymentModes[0]));
@@ -8303,7 +8348,7 @@ var RAMP_PROVIDERS = {
8303
8348
  var REDIRECT_TIMEOUT_MS = 1500;
8304
8349
 
8305
8350
  // src/internal/components/BuyMenu/useSelectables.ts
8306
- import { useCallback as useCallback8, useEffect as useEffect15, useRef as useRef10, useState as useState8 } from "react";
8351
+ import { useCallback as useCallback8, useEffect as useEffect15, useRef as useRef11, useState as useState8 } from "react";
8307
8352
 
8308
8353
  // src/internal/utils/debounce.ts
8309
8354
  function debounce2(func, waitFor) {
@@ -8320,7 +8365,7 @@ var useSelectables = () => {
8320
8365
  const [redirecting, setRedirecting] = useState8(false);
8321
8366
  const [rampProvider, setrRampProvider] = useState8("binance");
8322
8367
  const [minAmount, setMinAmount] = useState8(0);
8323
- const inputRef = useRef10(null);
8368
+ const inputRef = useRef11(null);
8324
8369
  const [srcQueryAmount, setSrcQueryAmount] = useState8(0);
8325
8370
  const [srcInputAmount, setSrcInputAmount] = useState8(0);
8326
8371
  const [paymentMode, setPaymentMode] = useState8(null);
@@ -8396,7 +8441,7 @@ function BuyMenu() {
8396
8441
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
8397
8442
  import { useMutation as useMutation10, useQuery as useQuery7, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
8398
8443
  import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader8, UserCircle as UserCircle2 } from "lucide-react";
8399
- import { useEffect as useEffect20 } from "react";
8444
+ import { useEffect as useEffect21 } from "react";
8400
8445
  init_vaultClient();
8401
8446
 
8402
8447
  // src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
@@ -8584,13 +8629,22 @@ function useOnRestoreSuccess() {
8584
8629
  }
8585
8630
 
8586
8631
  // src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts
8587
- init_iframe_manager();
8588
8632
  import { useMutation as useMutation8, useQueryClient as useQueryClient6 } from "@tanstack/react-query";
8633
+ import { useEffect as useEffect17 } from "react";
8634
+ init_iframe_manager();
8589
8635
  function useCreateBackup() {
8590
8636
  const qc = useQueryClient6();
8591
8637
  const session = useLumiaPassportSession((st) => st.session);
8592
8638
  const address = useLumiaPassportSession((st) => st.address);
8593
- const { usePasskey, restorePassword, selectedCloudProvider, setSuccess, setError } = useRestoreStore();
8639
+ const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
8640
+ const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
8641
+ const { usePasskey, restorePassword, selectedCloudProvider, setSuccess, setError, setMethod } = useRestoreStore();
8642
+ useEffect17(() => {
8643
+ if (!hasServerVault) {
8644
+ setMethod("server");
8645
+ setIsDialogForced(true);
8646
+ }
8647
+ }, [hasServerVault, setIsDialogForced, setMethod]);
8594
8648
  const passportUserId = session?.mpcUserId || "";
8595
8649
  const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
8596
8650
  const { mutate: createPasswordBackup, isPending: isPasswordBackupCreating } = useMutation8({
@@ -8620,7 +8674,7 @@ function useCreateBackup() {
8620
8674
  })
8621
8675
  );
8622
8676
  }
8623
- onBackupSuccess?.();
8677
+ onBackupSuccess();
8624
8678
  } else {
8625
8679
  setError(response.error || "Server backup failed");
8626
8680
  }
@@ -8657,7 +8711,7 @@ function useCreateBackup() {
8657
8711
  })
8658
8712
  );
8659
8713
  }
8660
- onBackupSuccess?.();
8714
+ onBackupSuccess();
8661
8715
  },
8662
8716
  onError: async (error) => {
8663
8717
  setError(error?.message || "Backup creation failed");
@@ -8697,7 +8751,7 @@ function useCreateBackup() {
8697
8751
  })
8698
8752
  );
8699
8753
  }
8700
- onBackupSuccess?.();
8754
+ onBackupSuccess();
8701
8755
  },
8702
8756
  onError: async (error) => {
8703
8757
  setError(error?.message || "Backup creation failed");
@@ -8827,7 +8881,7 @@ function useRestoreAccount() {
8827
8881
  }
8828
8882
 
8829
8883
  // src/internal/components/KeyshareRestoreMenu/hooks/useValidateFileBackup.ts
8830
- import { useEffect as useEffect17 } from "react";
8884
+ import { useEffect as useEffect18 } from "react";
8831
8885
  function validateRestoreFileFormat(parsedData) {
8832
8886
  if (typeof parsedData !== "object" || parsedData === null) return false;
8833
8887
  const data = parsedData;
@@ -8837,7 +8891,7 @@ function useValidateFileBackup() {
8837
8891
  const restoreFile = useRestoreStore((st) => st.restoreFile);
8838
8892
  const setError = useRestoreStore((st) => st.setError);
8839
8893
  const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
8840
- useEffect17(() => {
8894
+ useEffect18(() => {
8841
8895
  if (!restoreFile) {
8842
8896
  return;
8843
8897
  }
@@ -8919,7 +8973,7 @@ function MethodSelector(props) {
8919
8973
  },
8920
8974
  children: [
8921
8975
  /* @__PURE__ */ jsx38(Icon2, { className: "w-5 h-5 md:w-8 md:h-8" }),
8922
- !!data?.lastBackup && /* @__PURE__ */ jsx38("div", { className: "w-6 h-6 absolute -top-2 -right-2 flex items-center justify-center bg-[var(--l-pass-bg)]", children: /* @__PURE__ */ jsx38(PositiveIcon, { className: "w-4 h-4" }) })
8976
+ !!data?.lastBackup && /* @__PURE__ */ jsx38("div", { className: "w-6 h-6 absolute -top-2 -right-2 flex items-center justify-center bg-transparent", children: /* @__PURE__ */ jsx38(PositiveIcon, { className: "w-4 h-4" }) })
8923
8977
  ]
8924
8978
  }
8925
8979
  ),
@@ -8931,39 +8985,12 @@ function MethodSelector(props) {
8931
8985
  }
8932
8986
 
8933
8987
  // src/internal/components/KeyshareRestoreMenu/components/NoBackupFound.tsx
8934
- import { AlertCircle, FileUp as FileUp2, RefreshCcw, Upload } from "lucide-react";
8935
-
8936
- // src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
8937
- import { Eye, EyeOff, Info, Loader as Loader6 } from "lucide-react";
8938
- import { useRef as useRef11 } from "react";
8939
-
8940
- // src/internal/components/ui/checkbox.tsx
8941
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
8942
- import { CheckIcon } from "lucide-react";
8943
- import { jsx as jsx39 } from "react/jsx-runtime";
8944
- function Checkbox({ className, ...props }) {
8945
- return /* @__PURE__ */ jsx39(
8946
- CheckboxPrimitive.Root,
8947
- {
8948
- "data-slot": "checkbox",
8949
- className: cn(
8950
- "cursor-pointer peer size-5 shrink-0 rounded-[5px] outline-none",
8951
- "border border-[var(--l-pass-bd)] data-[state=checked]:border-[var(--l-pass-bd-intense)] aria-invalid:border-[var(--l-pass-error)]",
8952
- "bg-[var(--l-pass-secondary)] data-[state=checked]:bg-[var(--l-pass-secondary)]",
8953
- "data-[state=checked]:text-[var(--l-pass-fg)]",
8954
- "aria-invalid:ring-[var(--l-pass-error)]",
8955
- "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[2px]",
8956
- "disabled:cursor-not-allowed disabled:opacity-50",
8957
- className
8958
- ),
8959
- ...props,
8960
- children: /* @__PURE__ */ jsx39(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center transition-none", children: /* @__PURE__ */ jsx39(CheckIcon, { className: "w-4 h-4 text-[var(--l-pass-fg)]" }) })
8961
- }
8962
- );
8963
- }
8988
+ import { AlertCircle, FileUp as FileUp2, Upload, User as User2 } from "lucide-react";
8964
8989
 
8965
8990
  // src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
8966
- import { Fragment as Fragment8, jsx as jsx40, jsxs as jsxs31 } from "react/jsx-runtime";
8991
+ import { ChevronRight as ChevronRight2, Eye, EyeOff, Info, Loader as Loader6 } from "lucide-react";
8992
+ import { useRef as useRef12 } from "react";
8993
+ import { Fragment as Fragment8, jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
8967
8994
  function PasswordPasskey(props) {
8968
8995
  const {
8969
8996
  mode = "restore",
@@ -8974,11 +9001,17 @@ function PasswordPasskey(props) {
8974
9001
  isEncryptionMethod,
8975
9002
  actionHandler
8976
9003
  } = props;
8977
- const actionRef = useRef11(null);
8978
- const { showPassword, restorePassword, usePasskey, error, setUsePasskey, setRestorePassword, setShowPassword } = useRestoreStore();
9004
+ const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
9005
+ const actionRef = useRef12(null);
9006
+ const { showPassword, restorePassword, usePasskey, error, setRestorePassword, setShowPassword } = useRestoreStore();
8979
9007
  return /* @__PURE__ */ jsxs31(Fragment8, { children: [
9008
+ !hasServerVault && /* @__PURE__ */ jsxs31("span", { className: "block w-full text-[10px] leading-4 px-[var(--l-pass-pd)] truncate", children: [
9009
+ "Use your ",
9010
+ /* @__PURE__ */ jsx39("strong", { children: usePasskey ? "Passkey" : "Password" }),
9011
+ " to complete account security setup."
9012
+ ] }),
8980
9013
  !usePasskey ? /* @__PURE__ */ jsxs31("div", { className: "w-full flex gap-[var(--l-pass-gap)]", children: [
8981
- /* @__PURE__ */ jsx40(
9014
+ /* @__PURE__ */ jsx39(
8982
9015
  Input,
8983
9016
  {
8984
9017
  autoComplete: "off",
@@ -8994,7 +9027,7 @@ function PasswordPasskey(props) {
8994
9027
  onKeyDown: (e) => {
8995
9028
  if (e.key === "Enter" && !isLoading && restorePassword) actionRef.current?.click();
8996
9029
  },
8997
- element: /* @__PURE__ */ jsx40(
9030
+ element: /* @__PURE__ */ jsx39(
8998
9031
  Button,
8999
9032
  {
9000
9033
  variant: "ghost",
@@ -9003,12 +9036,12 @@ function PasswordPasskey(props) {
9003
9036
  title: "Toggle Password Visibility",
9004
9037
  disabled: isLoading || disabled,
9005
9038
  onClick: () => setShowPassword(!showPassword),
9006
- children: showPassword ? /* @__PURE__ */ jsx40(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx40(Eye, { className: "h-4 w-4" })
9039
+ children: showPassword ? /* @__PURE__ */ jsx39(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx39(Eye, { className: "h-4 w-4" })
9007
9040
  }
9008
9041
  )
9009
9042
  }
9010
9043
  ),
9011
- /* @__PURE__ */ jsx40(
9044
+ /* @__PURE__ */ jsx39(
9012
9045
  Button,
9013
9046
  {
9014
9047
  ref: actionRef,
@@ -9018,7 +9051,7 @@ function PasswordPasskey(props) {
9018
9051
  title: actionCaption,
9019
9052
  disabled: isLoading || disabled || error?.includes("Invalid backup file") || !usePasskey && !restorePassword,
9020
9053
  className: "w-full w-12 h-12 flex-shrink-0 rounded-[var(--l-pass-el-bdrs)]",
9021
- children: isLoading ? /* @__PURE__ */ jsx40(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx40(ActionIcon, { className: "h-4 w-4" })
9054
+ children: isLoading ? /* @__PURE__ */ jsx39(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx39(ChevronRight2, { className: "h-4 w-4" })
9022
9055
  }
9023
9056
  )
9024
9057
  ] }) : /* @__PURE__ */ jsxs31(
@@ -9032,54 +9065,35 @@ function PasswordPasskey(props) {
9032
9065
  disabled: isLoading || disabled || !!error || !usePasskey && !restorePassword,
9033
9066
  className: "w-full",
9034
9067
  children: [
9035
- isLoading ? /* @__PURE__ */ jsx40(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx40(ActionIcon, { className: "h-4 w-4" }),
9036
- !isLoading && /* @__PURE__ */ jsx40("span", { children: actionCaption })
9068
+ isLoading ? /* @__PURE__ */ jsx39(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx39(ActionIcon, { className: "h-4 w-4" }),
9069
+ !isLoading && /* @__PURE__ */ jsx39("span", { children: actionCaption })
9037
9070
  ]
9038
9071
  }
9039
9072
  ),
9040
- !isEncryptionMethod && /* @__PURE__ */ jsxs31(Highlight, { type: "info", className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-[10px]", children: [
9041
- mode === "backup" && /* @__PURE__ */ jsxs31("div", { className: "flex gap-[var(--l-pass-gap)]", children: [
9042
- /* @__PURE__ */ jsx40(Info, { className: "h-4 w-4 flex-shrink-0" }),
9043
- /* @__PURE__ */ jsxs31("span", { className: "text-[var(--l-pass-fg-muted)] block flex-1", children: [
9044
- /* @__PURE__ */ jsx40("span", { children: "Your Backup must be encrypted with a password or a passkey, so only you can decrypt it-no mater where it's stored." }),
9045
- /* @__PURE__ */ jsx40("br", {}),
9046
- /* @__PURE__ */ jsxs31("span", { children: [
9047
- " Your Backup must be encrypted with a password or a passkey, so only you can decrypt it-no mater where it's stored. ",
9048
- /* @__PURE__ */ jsx40(
9049
- "a",
9050
- {
9051
- target: "_blank",
9052
- rel: "noopener noreferrer",
9053
- href: "https://safety.google/safety/authentication/passkey/",
9054
- className: "inline font-bold underline underline-offset-2",
9055
- children: "Learn more about Google Passkey"
9056
- }
9057
- )
9058
- ] })
9059
- ] })
9060
- ] }),
9061
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9062
- /* @__PURE__ */ jsx40(
9063
- Checkbox,
9064
- {
9065
- id: "use-backup-password-or-passkey",
9066
- name: "use-backup-password-checkbox",
9067
- checked: usePasskey,
9068
- disabled: isLoading || disabled || !!error,
9069
- onCheckedChange: (checked) => {
9070
- if (!!checked) setRestorePassword("");
9071
- setUsePasskey(!!checked);
9073
+ !isEncryptionMethod && !!usePasskey && /* @__PURE__ */ jsx39(Highlight, { type: "info", className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-[10px]", children: mode === "backup" && /* @__PURE__ */ jsxs31("div", { className: "flex gap-[var(--l-pass-gap)]", children: [
9074
+ /* @__PURE__ */ jsx39(Info, { className: "h-4 w-4 flex-shrink-0" }),
9075
+ /* @__PURE__ */ jsxs31("span", { className: "text-[var(--l-pass-fg-muted)] block flex-1", children: [
9076
+ /* @__PURE__ */ jsx39("span", { className: "block mb-1", children: "Your Backup must be encrypted with a password or a passkey, so only you can decrypt it no matter where backup is stored." }),
9077
+ /* @__PURE__ */ jsxs31("span", { className: "block", children: [
9078
+ " Passkeys are a password-free alternative. ",
9079
+ /* @__PURE__ */ jsx39(
9080
+ "a",
9081
+ {
9082
+ target: "_blank",
9083
+ rel: "noopener noreferrer",
9084
+ href: "https://safety.google/safety/authentication/passkey/",
9085
+ className: "inline font-bold underline underline-offset-2 text-[var(--l-pass-fg)] hover:text-[var(--l-pass-fg-h)] active:text-[var(--l-pass-fg-a)]",
9086
+ children: "(Learn more about Google Passkey)"
9072
9087
  }
9073
- }
9074
- ),
9075
- /* @__PURE__ */ jsx40("label", { htmlFor: "use-backup-password-or-passkey", className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Use Passkey to encrypt your keyshare backup" })
9088
+ )
9089
+ ] })
9076
9090
  ] })
9077
- ] })
9091
+ ] }) })
9078
9092
  ] });
9079
9093
  }
9080
9094
 
9081
9095
  // src/internal/components/KeyshareRestoreMenu/components/NoBackupFound.tsx
9082
- import { Fragment as Fragment9, jsx as jsx41, jsxs as jsxs32 } from "react/jsx-runtime";
9096
+ import { Fragment as Fragment9, jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
9083
9097
  function NoBackupFound(props) {
9084
9098
  const { isLoading, restoreFromFile } = props;
9085
9099
  const restoreFile = useRestoreStore((st) => st.restoreFile);
@@ -9089,37 +9103,32 @@ function NoBackupFound(props) {
9089
9103
  const setError = useRestoreStore((st) => st.setError);
9090
9104
  useValidateFileBackup();
9091
9105
  return /* @__PURE__ */ jsxs32(Fragment9, { children: [
9106
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
9107
+ /* @__PURE__ */ jsx40(User2, { className: "w-6 h-6" }),
9108
+ /* @__PURE__ */ jsx40("span", { className: "font-bold text-xl leading-6", children: "Account Recovery" })
9109
+ ] }),
9092
9110
  !restoreFile && /* @__PURE__ */ jsxs32(Highlight, { type: "warning", className: "animate-glow-warning flex gap-[var(--l-pass-gap)]", children: [
9093
- /* @__PURE__ */ jsx41(AlertCircle, { className: "h-4 w-4 flex-0" }),
9111
+ /* @__PURE__ */ jsx40(AlertCircle, { className: "h-4 w-4 flex-0" }),
9094
9112
  /* @__PURE__ */ jsxs32("div", { className: "w-full flex-1 flex flex-col gap-2", children: [
9095
- /* @__PURE__ */ jsx41("span", { className: "block w-full text-xl leading-5 font-semibold", children: "No Keyshare Found! Account Recovery Needed" }),
9113
+ /* @__PURE__ */ jsx40("span", { className: "block w-full text-sm leading-4 font-bold", children: "No Backup Found" }),
9096
9114
  /* @__PURE__ */ jsxs32("span", { className: "block w-full text-xs", children: [
9097
- "Current device doesn't have access to your wallet keyshare and no backup entry exists in our Keyshare Vault.",
9098
- /* @__PURE__ */ jsx41("br", {}),
9099
- "If you are using any other device but the one where you created your account, try using the original device to create a backup, then restore account access on current device with created backup."
9115
+ /* @__PURE__ */ jsx40("span", { className: "block mb-1", children: "This device doesn't have access to your wallet keyshare, and no backup was found." }),
9116
+ /* @__PURE__ */ jsx40("span", { className: "block w-full", children: "If you're using a different device, please return to the one where you created your account to create a backup, then restore access on this device." })
9100
9117
  ] })
9101
9118
  ] })
9102
9119
  ] }),
9103
- restoreFile ? /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] py-[var(--l-pass-gap)]", children: [
9104
- /* @__PURE__ */ jsx41(RefreshCcw, { className: "w-6 h-6" }),
9105
- /* @__PURE__ */ jsx41("span", { className: "font-bold text-xl leading-6", children: "Account Recovery" })
9106
- ] }) : /* @__PURE__ */ jsxs32("div", { className: "w-full flex items-center", children: [
9107
- /* @__PURE__ */ jsx41("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
9108
- /* @__PURE__ */ jsx41("div", { className: "flex-none font-bold px-2 text-xs leading-4", children: "Account Recovery" }),
9109
- /* @__PURE__ */ jsx41("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
9110
- ] }),
9111
- !restoreFile && /* @__PURE__ */ jsxs32(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
9112
- /* @__PURE__ */ jsx41(Upload, { className: "h-4 w-4 flex-0" }),
9113
- /* @__PURE__ */ jsx41("span", { className: "block w-full text-xs", children: "Upload a backup file if you have one" })
9120
+ !restoreFile && /* @__PURE__ */ jsxs32(Highlight, { type: "info", className: "flex gap-[var(--l-pass-gap)]", children: [
9121
+ /* @__PURE__ */ jsx40(Upload, { className: "h-4 w-4 flex-0" }),
9122
+ /* @__PURE__ */ jsx40("span", { className: "block w-full text-xs", children: "Upload a backup file if you have one" })
9114
9123
  ] }),
9115
- /* @__PURE__ */ jsx41(
9124
+ /* @__PURE__ */ jsx40(
9116
9125
  "label",
9117
9126
  {
9118
9127
  className: cn(
9119
- "block w-full h-16 flex items-center justify-center cursor-pointer",
9120
- "p-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]"
9128
+ "block w-full flex items-center justify-center cursor-pointer",
9129
+ "p-[var(--l-pass-gap)] bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]"
9121
9130
  ),
9122
- children: /* @__PURE__ */ jsx41(
9131
+ children: /* @__PURE__ */ jsx40(
9123
9132
  "input",
9124
9133
  {
9125
9134
  type: "file",
@@ -9131,16 +9140,16 @@ function NoBackupFound(props) {
9131
9140
  className: cn(
9132
9141
  "file:cursor-pointer",
9133
9142
  "transition-colors duration-200 ease-in-out",
9134
- "block w-fit text-[10px] font-medium font-mono",
9135
- "file:font-mono file:h-8 file:text-[10px] file:bg-[var(--l-pass-primary)] file:text-[var(--l-pass-fg-inverted)]",
9143
+ "block w-full font-medium font-mono",
9144
+ "file:h-12 file:text-[16px] file:bg-[var(--l-pass-primary)] file:text-[var(--l-pass-fg-inverted)]",
9136
9145
  "file:hover:opacity-90 file:active:opacity-80",
9137
- "file:mr-[var(--l-pass-pd)] file:px-[var(--l-pass-pd)] file:rounded-[var(--l-pass-el-bdrs)] file:border-0"
9146
+ "file:mr-[var(--l-pass-gap)] file:px-[var(--l-pass-pd)] file:rounded-[var(--l-pass-el-bdrs)] file:border-0"
9138
9147
  )
9139
9148
  }
9140
9149
  )
9141
9150
  }
9142
9151
  ),
9143
- restoreFile && /* @__PURE__ */ jsx41(
9152
+ restoreFile && /* @__PURE__ */ jsx40(
9144
9153
  PasswordPasskey,
9145
9154
  {
9146
9155
  mode: "restore",
@@ -9156,39 +9165,130 @@ function NoBackupFound(props) {
9156
9165
 
9157
9166
  // src/internal/components/KeyshareRestoreMenu/methods/File.tsx
9158
9167
  import { ArrowLeft as ArrowLeft6, FileDown as FileDown2, FileUp as FileUp3 } from "lucide-react";
9159
- import { Fragment as Fragment10, jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
9168
+
9169
+ // src/internal/components/ui/switch.tsx
9170
+ import { forwardRef as forwardRef4, useState as useState10 } from "react";
9171
+ import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
9172
+ var Switch = forwardRef4((props, ref) => {
9173
+ const { className, labels, ...inputProps } = props;
9174
+ const colorMode = useLayoutStore((st) => st.colorMode);
9175
+ const [labelW, setLabelW] = useState10(0);
9176
+ return /* @__PURE__ */ jsx41(
9177
+ "div",
9178
+ {
9179
+ role: "switch",
9180
+ "aria-checked": inputProps.checked,
9181
+ className: cn(
9182
+ "block rounded-full w-fit h-7 p-1 outline-none flex-none",
9183
+ inputProps.checked ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-info)]",
9184
+ className
9185
+ ),
9186
+ children: /* @__PURE__ */ jsxs33(
9187
+ "label",
9188
+ {
9189
+ className: "relative inline-block h-5 outline-none",
9190
+ style: {
9191
+ width: `calc(20px + ${labelW}px)`,
9192
+ transition: "width 200ms ease",
9193
+ cursor: inputProps.disabled ? "not-allowed" : "pointer"
9194
+ },
9195
+ children: [
9196
+ /* @__PURE__ */ jsx41("input", { type: "checkbox", className: "hidden sr-only peer outline-none", ref, ...inputProps }),
9197
+ /* @__PURE__ */ jsx41(
9198
+ "span",
9199
+ {
9200
+ ref: (inst) => {
9201
+ if (inst) setLabelW(inst.clientWidth);
9202
+ },
9203
+ style: {
9204
+ left: inputProps.checked ? "0px" : "20px",
9205
+ color: inputProps.checked ? colorMode === "dark" ? "var(--l-pass-fg-inverted)" : "var(--l-pass-fg)" : "var(--l-pass-fg)",
9206
+ transition: "left 200ms ease"
9207
+ },
9208
+ className: "absolute top-0 px-2 text-xs leading-5 font-semibold min-w-5 select-none",
9209
+ children: inputProps.checked ? labels?.checked : labels?.unchecked
9210
+ }
9211
+ ),
9212
+ /* @__PURE__ */ jsx41(
9213
+ "span",
9214
+ {
9215
+ style: {
9216
+ left: inputProps.checked ? `${labelW}px` : "0px",
9217
+ transition: "left 200ms ease"
9218
+ },
9219
+ className: cn("absolute top-0 w-5 h-5 rounded-full bg-[var(--l-pass-fg)]", {
9220
+ // 'bg-[var(--l-pass-fg-inverted)]': inputProps.checked,
9221
+ // 'bg-[var(--l-pass-fg)]': !inputProps.checked
9222
+ })
9223
+ }
9224
+ )
9225
+ ]
9226
+ }
9227
+ )
9228
+ }
9229
+ );
9230
+ });
9231
+ Switch.displayName = "Switch";
9232
+
9233
+ // src/internal/components/KeyshareRestoreMenu/methods/File.tsx
9234
+ import { Fragment as Fragment10, jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
9160
9235
  function File2(props) {
9161
9236
  const { isLoading, mode = "restore", fileHandler } = props;
9162
- const { restoreFile, error, setMethod, setRestoreFile, setUsePasskey, setError, setSuccess } = useRestoreStore();
9237
+ const {
9238
+ restoreFile,
9239
+ error,
9240
+ usePasskey,
9241
+ setRestorePassword,
9242
+ setMethod,
9243
+ setRestoreFile,
9244
+ setUsePasskey,
9245
+ setError,
9246
+ setSuccess
9247
+ } = useRestoreStore();
9163
9248
  useValidateFileBackup();
9164
9249
  const actionText = mode === "backup" ? "Download" : "Restore with";
9165
9250
  const isPasswordPasskey = mode === "restore" && !!restoreFile || mode === "backup";
9166
- return /* @__PURE__ */ jsxs33(Fragment10, { children: [
9167
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9168
- /* @__PURE__ */ jsx42(
9169
- Button,
9251
+ return /* @__PURE__ */ jsxs34(Fragment10, { children: [
9252
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center justify-between", children: [
9253
+ /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9254
+ /* @__PURE__ */ jsx42(
9255
+ Button,
9256
+ {
9257
+ variant: "ghost",
9258
+ size: "icon",
9259
+ title: "Back",
9260
+ onClick: () => {
9261
+ setRestoreFile(null);
9262
+ setError(null);
9263
+ setSuccess(null);
9264
+ setUsePasskey(false);
9265
+ setMethod(null);
9266
+ },
9267
+ children: /* @__PURE__ */ jsx42(ArrowLeft6, { className: "h-4 w-4" })
9268
+ }
9269
+ ),
9270
+ /* @__PURE__ */ jsx42("span", { className: "text-xl font-semibold", children: `${mode === "restore" ? "Restore with" : ""} File ${mode === "restore" ? "by" : "Backup by"}`.trim() })
9271
+ ] }),
9272
+ mode !== "restore" && /* @__PURE__ */ jsx42(
9273
+ Switch,
9170
9274
  {
9171
- variant: "ghost",
9172
- size: "icon",
9173
- title: "Back",
9174
- onClick: () => {
9175
- setRestoreFile(null);
9176
- setError(null);
9177
- setSuccess(null);
9178
- setUsePasskey(false);
9179
- setMethod(null);
9180
- },
9181
- children: /* @__PURE__ */ jsx42(ArrowLeft6, { className: "h-4 w-4" })
9275
+ name: "password-passkey-toggle",
9276
+ labels: { checked: "Password", unchecked: "Passkey" },
9277
+ disabled: isLoading || !!error,
9278
+ checked: !usePasskey,
9279
+ onChange: (e) => {
9280
+ if (!!e.target.checked) setRestorePassword("");
9281
+ setUsePasskey(!e.target.checked);
9282
+ }
9182
9283
  }
9183
- ),
9184
- /* @__PURE__ */ jsx42("span", { className: "text-xl font-semibold", children: `${mode === "restore" ? "Restore with" : "Create"} File ${mode === "restore" ? "" : "Backup"}`.trim() })
9284
+ )
9185
9285
  ] }),
9186
9286
  mode === "restore" && /* @__PURE__ */ jsx42(
9187
9287
  "label",
9188
9288
  {
9189
9289
  className: cn(
9190
- "block w-full h-16 flex items-center justify-center cursor-pointer",
9191
- "p-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]"
9290
+ "block w-full flex items-center justify-center cursor-pointer",
9291
+ "p-[var(--l-pass-gap)] bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]"
9192
9292
  ),
9193
9293
  children: /* @__PURE__ */ jsx42(
9194
9294
  "input",
@@ -9202,9 +9302,9 @@ function File2(props) {
9202
9302
  className: cn(
9203
9303
  "file:cursor-pointer",
9204
9304
  "transition-colors duration-200 ease-in-out",
9205
- "block w-fit file:h-8 text-xs file:bg-[var(--l-pass-primary)] file:text-[var(--l-pass-fg-inverted)]",
9305
+ "block w-full file:h-12 text-xs file:bg-[var(--l-pass-primary)] file:text-[var(--l-pass-fg-inverted)]",
9206
9306
  "file:hover:opacity-90 file:active:opacity-80",
9207
- "file:mr-[var(--l-pass-pd)] file:px-[var(--l-pass-pd)] file:rounded-[var(--l-pass-el-bdrs)] file:border-0 text-xs font-medium"
9307
+ "file:mr-[var(--l-pass-gap)] file:px-[var(--l-pass-pd)] file:rounded-[var(--l-pass-el-bdrs)] file:border-0 text-xs font-medium"
9208
9308
  )
9209
9309
  }
9210
9310
  )
@@ -9229,57 +9329,75 @@ function File2(props) {
9229
9329
  import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
9230
9330
  import dayjs from "dayjs";
9231
9331
  import { ArrowLeft as ArrowLeft7, Download, Key as Key4, Upload as Upload2 } from "lucide-react";
9232
- import { useEffect as useEffect18 } from "react";
9233
- import { Fragment as Fragment11, jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
9332
+ import { useEffect as useEffect19 } from "react";
9333
+ import { Fragment as Fragment11, jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
9234
9334
  function Server(props) {
9235
9335
  const { isLoading, mode = "restore", serverHandler } = props;
9236
9336
  const qc = useQueryClient7();
9237
9337
  const address = useLumiaPassportSession((st) => st.address);
9238
- const { usePasskey, setUsePasskey, setRestorePassword, setShowPassword, setMethod, setError, setSuccess } = useRestoreStore();
9338
+ const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
9339
+ const { usePasskey, error, setUsePasskey, setRestorePassword, setShowPassword, setMethod, setError, setSuccess } = useRestoreStore();
9239
9340
  const serverRecoveryStatus = qc.getQueryData([CHECK_BACKUP_QUERY_KEY, address]);
9240
- useEffect18(() => {
9341
+ useEffect19(() => {
9241
9342
  if (mode === "backup" || !serverRecoveryStatus?.created?.encryptionMethod) return;
9242
9343
  setUsePasskey(serverRecoveryStatus.created.encryptionMethod === "passkey");
9243
9344
  }, [mode, serverRecoveryStatus, setUsePasskey]);
9244
- return /* @__PURE__ */ jsxs34(Fragment11, { children: [
9245
- /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9246
- /* @__PURE__ */ jsx43(
9247
- Button,
9345
+ const isEncryptionMethod = mode === "restore" && !!serverRecoveryStatus?.created?.encryptionMethod;
9346
+ return /* @__PURE__ */ jsxs35(Fragment11, { children: [
9347
+ /* @__PURE__ */ jsxs35("div", { className: cn("flex items-center justify-between", { "px-[var(--l-pass-pd)]": !hasServerVault }), children: [
9348
+ /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9349
+ !!hasServerVault && /* @__PURE__ */ jsx43(
9350
+ Button,
9351
+ {
9352
+ variant: "ghost",
9353
+ size: "icon",
9354
+ title: "Back",
9355
+ onClick: () => {
9356
+ setShowPassword(false);
9357
+ setUsePasskey(false);
9358
+ setRestorePassword("");
9359
+ setUsePasskey(false);
9360
+ setError(null);
9361
+ setSuccess(null);
9362
+ setMethod(null);
9363
+ },
9364
+ children: /* @__PURE__ */ jsx43(ArrowLeft7, { className: "h-4 w-4" })
9365
+ }
9366
+ ),
9367
+ /* @__PURE__ */ jsx43("span", { className: "text-xl font-semibold", children: mode === "restore" ? "Restore with" : usePasskey ? "Passkey" : "Password" })
9368
+ ] }),
9369
+ !isEncryptionMethod && /* @__PURE__ */ jsx43(
9370
+ Switch,
9248
9371
  {
9249
- variant: "ghost",
9250
- size: "icon",
9251
- title: "Back",
9252
- onClick: () => {
9253
- setShowPassword(false);
9254
- setUsePasskey(false);
9255
- setRestorePassword("");
9256
- setUsePasskey(false);
9257
- setError(null);
9258
- setSuccess(null);
9259
- setMethod(null);
9260
- },
9261
- children: /* @__PURE__ */ jsx43(ArrowLeft7, { className: "h-4 w-4" })
9372
+ name: "password-passkey-toggle",
9373
+ labels: { checked: "Password", unchecked: "Passkey" },
9374
+ disabled: isLoading,
9375
+ checked: !usePasskey,
9376
+ onChange: (e) => {
9377
+ if (!!error) setError(null);
9378
+ if (!!e.target.checked) setRestorePassword("");
9379
+ setUsePasskey(!e.target.checked);
9380
+ }
9262
9381
  }
9263
- ),
9264
- /* @__PURE__ */ jsx43("span", { className: "text-xl font-semibold", children: `${mode === "restore" ? "Restore with" : "Create"} ${usePasskey ? "Passkey" : "Password"} ${mode === "restore" ? "" : "Backup"}`.trim() })
9382
+ )
9265
9383
  ] }),
9266
9384
  /* @__PURE__ */ jsx43(
9267
9385
  PasswordPasskey,
9268
9386
  {
9269
9387
  mode,
9270
- isEncryptionMethod: mode === "restore" && !!serverRecoveryStatus?.created?.encryptionMethod,
9388
+ isEncryptionMethod,
9271
9389
  isLoading,
9272
- actionCaption: mode === "backup" ? "Create Backup" : "Restore from Vault",
9390
+ actionCaption: mode === "backup" ? "Create Vault Backup" : "Restore from Vault",
9273
9391
  actionIcon: mode === "backup" ? Upload2 : Download,
9274
9392
  actionHandler: () => serverHandler()
9275
9393
  }
9276
9394
  ),
9277
- !!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs34(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9395
+ !!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs35(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9278
9396
  serverRecoveryStatus.created.encryptionMethod === "password" ? /* @__PURE__ */ jsx43(OtpIcon, { className: "w-4 h-4 inline" }) : /* @__PURE__ */ jsx43(Key4, { className: "w-4 h-4 inline" }),
9279
- /* @__PURE__ */ jsxs34("span", { className: "text-[10px] flex-1 block", children: [
9397
+ /* @__PURE__ */ jsxs35("span", { className: "text-[10px] flex-1 block", children: [
9280
9398
  /* @__PURE__ */ jsx43("span", { children: `We found a ${serverRecoveryStatus.created.encryptionMethod?.toUpperCase()} Backup` }),
9281
9399
  /* @__PURE__ */ jsx43("br", {}),
9282
- /* @__PURE__ */ jsxs34("span", { children: [
9400
+ /* @__PURE__ */ jsxs35("span", { children: [
9283
9401
  "Created: ",
9284
9402
  /* @__PURE__ */ jsx43("span", { className: "font-mono", children: dayjs(serverRecoveryStatus.created.at).format("MMMM DD, YYYY HH:mm") })
9285
9403
  ] })
@@ -9291,12 +9409,12 @@ function Server(props) {
9291
9409
  // src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
9292
9410
  import { useQuery as useQuery6 } from "@tanstack/react-query";
9293
9411
  import { ArrowLeft as ArrowLeft8, CloudDownload, CloudUpload, Loader as Loader7 } from "lucide-react";
9294
- import { useEffect as useEffect19 } from "react";
9412
+ import { useEffect as useEffect20 } from "react";
9295
9413
 
9296
9414
  // src/internal/components/ui/select.tsx
9297
9415
  import * as SelectPrimitive from "@radix-ui/react-select";
9298
- import { CheckIcon as CheckIcon2, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
9299
- import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
9416
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
9417
+ import { jsx as jsx44, jsxs as jsxs36 } from "react/jsx-runtime";
9300
9418
  function Select({ ...props }) {
9301
9419
  return /* @__PURE__ */ jsx44(SelectPrimitive.Root, { "data-slot": "select", ...props });
9302
9420
  }
@@ -9309,7 +9427,7 @@ function SelectTrigger({
9309
9427
  children,
9310
9428
  ...props
9311
9429
  }) {
9312
- return /* @__PURE__ */ jsxs35(
9430
+ return /* @__PURE__ */ jsxs36(
9313
9431
  SelectPrimitive.Trigger,
9314
9432
  {
9315
9433
  "data-slot": "select-trigger",
@@ -9338,7 +9456,7 @@ function SelectContent({
9338
9456
  ...props
9339
9457
  }) {
9340
9458
  const colorMode = useLayoutStore((st) => st.colorMode);
9341
- return /* @__PURE__ */ jsx44(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs35(
9459
+ return /* @__PURE__ */ jsx44(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs36(
9342
9460
  SelectPrimitive.Content,
9343
9461
  {
9344
9462
  "data-slot": "select-content",
@@ -9376,7 +9494,7 @@ function SelectContent({
9376
9494
  ) });
9377
9495
  }
9378
9496
  function SelectItem({ className, children, ...props }) {
9379
- return /* @__PURE__ */ jsxs35(
9497
+ return /* @__PURE__ */ jsxs36(
9380
9498
  SelectPrimitive.Item,
9381
9499
  {
9382
9500
  "data-slot": "select-item",
@@ -9386,7 +9504,7 @@ function SelectItem({ className, children, ...props }) {
9386
9504
  ),
9387
9505
  ...props,
9388
9506
  children: [
9389
- /* @__PURE__ */ jsx44("span", { "data-slot": "select-item-indicator", className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx44(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx44(CheckIcon2, { className: "size-4" }) }) }),
9507
+ /* @__PURE__ */ jsx44("span", { "data-slot": "select-item-indicator", className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx44(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx44(CheckIcon, { className: "size-4" }) }) }),
9390
9508
  /* @__PURE__ */ jsx44(SelectPrimitive.ItemText, { children })
9391
9509
  ]
9392
9510
  }
@@ -9419,7 +9537,7 @@ function SelectScrollDownButton({
9419
9537
  }
9420
9538
 
9421
9539
  // src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
9422
- import { Fragment as Fragment12, jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
9540
+ import { Fragment as Fragment12, jsx as jsx45, jsxs as jsxs37 } from "react/jsx-runtime";
9423
9541
  function Cloud2(props) {
9424
9542
  const { isLoading, mode = "restore", cloudHandler } = props;
9425
9543
  const session = useLumiaPassportSession((st) => st.session);
@@ -9439,7 +9557,7 @@ function Cloud2(props) {
9439
9557
  return availableProviders.map((p) => ({ id: p.id, name: p.name, available: p.isAvailable() }));
9440
9558
  }
9441
9559
  });
9442
- useEffect19(() => {
9560
+ useEffect20(() => {
9443
9561
  if (isCloudProvidersLoading) return;
9444
9562
  if (!!cloudProvidersError) {
9445
9563
  console.error("[KeyshareBackup] Failed to load cloud providers:", cloudProvidersError);
@@ -9447,8 +9565,8 @@ function Cloud2(props) {
9447
9565
  }
9448
9566
  if (cloudProviders.length > 0 && !selectedCloudProvider) setSelectedCloudProvider(cloudProviders[0].id);
9449
9567
  }, [cloudProviders, selectedCloudProvider, cloudProvidersError, isCloudProvidersLoading]);
9450
- return /* @__PURE__ */ jsxs36(Fragment12, { children: [
9451
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9568
+ return /* @__PURE__ */ jsxs37(Fragment12, { children: [
9569
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9452
9570
  /* @__PURE__ */ jsx45(
9453
9571
  Button,
9454
9572
  {
@@ -9468,7 +9586,7 @@ function Cloud2(props) {
9468
9586
  ] }),
9469
9587
  isCloudProvidersLoading && /* @__PURE__ */ jsx45(Loader7, { className: "animate-spin w-4 h-4 mx-auto" }),
9470
9588
  /* @__PURE__ */ jsx45("span", { className: "block text-[10px] text-[var(--l-pass-fg-muted)]", children: "1. Select Cloud Backup Vault" }),
9471
- /* @__PURE__ */ jsxs36(
9589
+ /* @__PURE__ */ jsxs37(
9472
9590
  Select,
9473
9591
  {
9474
9592
  disabled: isCloudProvidersLoading,
@@ -9505,7 +9623,7 @@ function Cloud2(props) {
9505
9623
  }
9506
9624
 
9507
9625
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
9508
- import { Fragment as Fragment13, jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
9626
+ import { Fragment as Fragment13, jsx as jsx46, jsxs as jsxs38 } from "react/jsx-runtime";
9509
9627
  var RESTORE_COMPONENTS = {
9510
9628
  server: Server,
9511
9629
  cloud: Cloud2,
@@ -9523,7 +9641,7 @@ var KeyshareRestoreMenu = () => {
9523
9641
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
9524
9642
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
9525
9643
  const setPage = useLayoutDataStore((st) => st.setPage);
9526
- useEffect20(() => setIsDialogForced(true), []);
9644
+ useEffect21(() => setIsDialogForced(true), []);
9527
9645
  useCheckBackupAvailability();
9528
9646
  const {
9529
9647
  method: currentRestoreMethod,
@@ -9584,8 +9702,8 @@ var KeyshareRestoreMenu = () => {
9584
9702
  {
9585
9703
  style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
9586
9704
  className: "list-scrollbar-y w-full",
9587
- children: /* @__PURE__ */ jsxs37(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9588
- isBackupChecking && /* @__PURE__ */ jsxs37("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
9705
+ children: /* @__PURE__ */ jsxs38(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9706
+ isBackupChecking && /* @__PURE__ */ jsxs38("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
9589
9707
  /* @__PURE__ */ jsx46(Loader8, { className: "w-5 h-5 animate-spin" }),
9590
9708
  /* @__PURE__ */ jsx46("span", { className: "block w-full text-xs leading-4", children: "Checking for backups..." }),
9591
9709
  /* @__PURE__ */ jsx46("span", { className: "block w-full text-xs leading-4", children: "Please wait while we check for available backups..." })
@@ -9597,8 +9715,8 @@ var KeyshareRestoreMenu = () => {
9597
9715
  restoreFromFile
9598
9716
  }
9599
9717
  ),
9600
- !success && !isBackupChecking && !isDisconnecting && hasServerBackup && /* @__PURE__ */ jsxs37(Fragment13, { children: [
9601
- /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] py-[var(--l-pass-gap)]", children: [
9718
+ !success && !isBackupChecking && !isDisconnecting && hasServerBackup && /* @__PURE__ */ jsxs38(Fragment13, { children: [
9719
+ /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] py-[var(--l-pass-gap)]", children: [
9602
9720
  /* @__PURE__ */ jsx46(CloudDownload2, { className: "w-6 h-6" }),
9603
9721
  /* @__PURE__ */ jsx46("span", { className: "font-bold text-xl leading-6", children: "Restore Account" })
9604
9722
  ] }),
@@ -9613,9 +9731,9 @@ var KeyshareRestoreMenu = () => {
9613
9731
  }
9614
9732
  )
9615
9733
  ] }),
9616
- !success && !currentRestoreMethod && !isBackupChecking && /* @__PURE__ */ jsxs37(Fragment13, { children: [
9734
+ !success && !currentRestoreMethod && !isBackupChecking && /* @__PURE__ */ jsxs38(Fragment13, { children: [
9617
9735
  /* @__PURE__ */ jsx46("div", { className: "w-full mt-[var(--l-pass-gap)]", style: { borderTop: "1px solid var(--l-pass-bd)" } }),
9618
- /* @__PURE__ */ jsxs37(
9736
+ /* @__PURE__ */ jsxs38(
9619
9737
  Button,
9620
9738
  {
9621
9739
  size: "large",
@@ -9639,11 +9757,11 @@ var KeyshareRestoreMenu = () => {
9639
9757
  }
9640
9758
  )
9641
9759
  ] }),
9642
- error && /* @__PURE__ */ jsxs37(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
9760
+ error && /* @__PURE__ */ jsxs38(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
9643
9761
  /* @__PURE__ */ jsx46(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
9644
9762
  /* @__PURE__ */ jsx46("span", { className: "w-full flex-1 block", children: error })
9645
9763
  ] }),
9646
- success && /* @__PURE__ */ jsxs37(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9764
+ success && /* @__PURE__ */ jsxs38(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9647
9765
  /* @__PURE__ */ jsx46(CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
9648
9766
  /* @__PURE__ */ jsx46("span", { className: "w-full flex-1 block", children: success })
9649
9767
  ] })
@@ -9654,10 +9772,10 @@ var KeyshareRestoreMenu = () => {
9654
9772
 
9655
9773
  // src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
9656
9774
  import { useQuery as useQuery8 } from "@tanstack/react-query";
9657
- import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft9, CheckCircle2 as CheckCircle22 } from "lucide-react";
9658
- import { useEffect as useEffect21 } from "react";
9775
+ import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft9, CheckCircle2 as CheckCircle22, LockIcon } from "lucide-react";
9776
+ import { useEffect as useEffect22 } from "react";
9659
9777
  init_vaultClient();
9660
- import { Fragment as Fragment14, jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
9778
+ import { Fragment as Fragment14, jsx as jsx47, jsxs as jsxs39 } from "react/jsx-runtime";
9661
9779
  var COMPONENTS = {
9662
9780
  server: Server,
9663
9781
  file: File2,
@@ -9665,10 +9783,10 @@ var COMPONENTS = {
9665
9783
  };
9666
9784
  function KeyshareBackupMenu() {
9667
9785
  const address = useLumiaPassportSession((st) => st.address);
9786
+ const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
9668
9787
  const setPage = useLayoutDataStore((st) => st.setPage);
9669
9788
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
9670
9789
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
9671
- useEffect21(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
9672
9790
  const {
9673
9791
  method: currentBackupMethod,
9674
9792
  error,
@@ -9679,8 +9797,15 @@ function KeyshareBackupMenu() {
9679
9797
  setRestorePassword,
9680
9798
  setRestoreFile,
9681
9799
  setShowPassword,
9682
- setUsePasskey
9800
+ setUsePasskey,
9801
+ setMethod
9683
9802
  } = useRestoreStore();
9803
+ useEffect22(() => {
9804
+ setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT);
9805
+ return () => {
9806
+ setMethod(null);
9807
+ };
9808
+ }, []);
9684
9809
  const { data: serverRecoveryStatus } = useQuery8({
9685
9810
  retry: false,
9686
9811
  queryKey: [CHECK_BACKUP_QUERY_KEY, address],
@@ -9701,8 +9826,12 @@ function KeyshareBackupMenu() {
9701
9826
  {
9702
9827
  style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
9703
9828
  className: "list-scrollbar-y w-full",
9704
- children: /* @__PURE__ */ jsxs38(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9705
- !currentBackupMethod && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9829
+ children: /* @__PURE__ */ jsxs39(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9830
+ !hasServerVault && /* @__PURE__ */ jsxs39("div", { className: "flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
9831
+ /* @__PURE__ */ jsx47(LockIcon, { className: "w-6 h-6" }),
9832
+ /* @__PURE__ */ jsx47("span", { className: "font-bold text-xl leading-6", children: "Secure Account" })
9833
+ ] }),
9834
+ !!hasServerVault && !currentBackupMethod && /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9706
9835
  /* @__PURE__ */ jsx47(
9707
9836
  Button,
9708
9837
  {
@@ -9717,14 +9846,15 @@ function KeyshareBackupMenu() {
9717
9846
  setUsePasskey(false);
9718
9847
  setError(null);
9719
9848
  setSuccess(null);
9849
+ setMethod(null);
9720
9850
  setPage("settings" /* SETTINGS */);
9721
9851
  },
9722
9852
  children: /* @__PURE__ */ jsx47(ArrowLeft9, { className: "h-4 w-4" })
9723
9853
  }
9724
9854
  ),
9725
- /* @__PURE__ */ jsx47("span", { className: "text-xl font-semibold", children: "Create Backup" })
9855
+ /* @__PURE__ */ jsx47("span", { className: "text-xl font-semibold leading-8", children: "Create Backup" })
9726
9856
  ] }),
9727
- !currentBackupMethod && /* @__PURE__ */ jsx47(MethodSelector, { mode: "backup", serverRecoveryStatus }),
9857
+ !!hasServerVault && !currentBackupMethod && /* @__PURE__ */ jsx47(MethodSelector, { mode: "backup", serverRecoveryStatus }),
9728
9858
  !!currentBackupMethod && /* @__PURE__ */ jsx47(Fragment14, { children: /* @__PURE__ */ jsx47(
9729
9859
  BackupComponent,
9730
9860
  {
@@ -9735,21 +9865,21 @@ function KeyshareBackupMenu() {
9735
9865
  cloudHandler: createCloudBackup
9736
9866
  }
9737
9867
  ) }),
9738
- !isRecoveryLoading && !currentBackupMethod && !hasRecoveryData && /* @__PURE__ */ jsxs38(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
9868
+ !isRecoveryLoading && !currentBackupMethod && !hasRecoveryData && /* @__PURE__ */ jsxs39(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
9739
9869
  /* @__PURE__ */ jsx47(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
9740
- /* @__PURE__ */ jsxs38("span", { className: "block flex-1", children: [
9870
+ /* @__PURE__ */ jsxs39("span", { className: "block flex-1", children: [
9741
9871
  /* @__PURE__ */ jsx47("span", { className: "font-semibold", children: "No Backup Found" }),
9742
9872
  /* @__PURE__ */ jsx47("br", {}),
9743
- /* @__PURE__ */ jsx47("span", { children: "Create a backup to restore access if you switch devices or clear your browser." }),
9873
+ /* @__PURE__ */ jsx47("span", { className: "text-[10px]", children: "Create a backup to restore access if you switch devices or clear your browser." }),
9744
9874
  /* @__PURE__ */ jsx47("br", {}),
9745
- /* @__PURE__ */ jsx47("span", { children: "You can ignore this if you already have a backup or don't want to use Keyshare Vault." })
9875
+ /* @__PURE__ */ jsx47("span", { className: "text-[10px]", children: "You can ignore this if you already have a backup or don't want to use Keyshare Vault." })
9746
9876
  ] })
9747
9877
  ] }),
9748
- error && /* @__PURE__ */ jsxs38(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
9878
+ error && /* @__PURE__ */ jsxs39(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
9749
9879
  /* @__PURE__ */ jsx47(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
9750
9880
  /* @__PURE__ */ jsx47("span", { className: "block w-full flex-1", children: error })
9751
9881
  ] }),
9752
- success && /* @__PURE__ */ jsxs38(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9882
+ success && /* @__PURE__ */ jsxs39(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9753
9883
  /* @__PURE__ */ jsx47(CheckCircle22, { className: "h-4 w-4 flex-shrink-0" }),
9754
9884
  /* @__PURE__ */ jsx47("span", { className: "block w-full flex-1", children: success })
9755
9885
  ] })
@@ -9759,8 +9889,8 @@ function KeyshareBackupMenu() {
9759
9889
  }
9760
9890
 
9761
9891
  // src/internal/components/MainMenu/MainMenu.tsx
9762
- import { ChevronLeft, ChevronRight as ChevronRight2, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
9763
- import { useEffect as useEffect22 } from "react";
9892
+ import { ChevronLeft, ChevronRight as ChevronRight3, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
9893
+ import { useEffect as useEffect23 } from "react";
9764
9894
 
9765
9895
  // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9766
9896
  init_common();
@@ -9779,9 +9909,9 @@ function useProvidersList() {
9779
9909
  }
9780
9910
 
9781
9911
  // src/internal/components/MainMenu/MainMenu.tsx
9782
- import { jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
9912
+ import { jsx as jsx48, jsxs as jsxs40 } from "react/jsx-runtime";
9783
9913
  var MAIN_MENU_BUTTONS = [
9784
- { id: "send" /* SEND */, label: "Send", icon: ChevronRight2 },
9914
+ { id: "send" /* SEND */, label: "Send", icon: ChevronRight3 },
9785
9915
  { id: "receive" /* RECEIVE */, label: "Receive", icon: ChevronLeft },
9786
9916
  { id: "buy" /* BUY */, label: "Buy", icon: DollarSign3 },
9787
9917
  { id: "assets" /* ASSETS */, label: "Portfolio", icon: Wallet23 }
@@ -9790,9 +9920,9 @@ function MainMenu() {
9790
9920
  const address = useLumiaPassportSession((st) => st.address);
9791
9921
  const setPage = useLayoutDataStore((st) => st.setPage);
9792
9922
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
9793
- useEffect22(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
9923
+ useEffect23(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
9794
9924
  useProvidersList();
9795
- return /* @__PURE__ */ jsx48("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: /* @__PURE__ */ jsx48("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--l-pass-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon2 }) => /* @__PURE__ */ jsxs39(
9925
+ return /* @__PURE__ */ jsx48("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: /* @__PURE__ */ jsx48("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--l-pass-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon2 }) => /* @__PURE__ */ jsxs40(
9796
9926
  Button,
9797
9927
  {
9798
9928
  size: "large",
@@ -9863,7 +9993,7 @@ init_passkey2();
9863
9993
  init_lumiaPassport();
9864
9994
  init_projectId();
9865
9995
  import { useMutation as useMutation11 } from "@tanstack/react-query";
9866
- import { ChevronRight as ChevronRight3, Loader as Loader9, Mail as Mail4 } from "lucide-react";
9996
+ import { ChevronRight as ChevronRight4, Loader as Loader9, Mail as Mail4 } from "lucide-react";
9867
9997
 
9868
9998
  // src/internal/components/ManageWalletMenu/hooks/useStore.ts
9869
9999
  import { create as create5 } from "zustand";
@@ -9887,7 +10017,7 @@ var useManageWalletStore = create5((set) => ({
9887
10017
  }));
9888
10018
 
9889
10019
  // src/internal/components/ManageWalletMenu/EmailForm.tsx
9890
- import { jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
10020
+ import { jsx as jsx49, jsxs as jsxs41 } from "react/jsx-runtime";
9891
10021
  function EmailForm() {
9892
10022
  const {
9893
10023
  config: { current: config },
@@ -9954,7 +10084,7 @@ function EmailForm() {
9954
10084
  }
9955
10085
  }
9956
10086
  });
9957
- return /* @__PURE__ */ jsxs40("div", { className: "w-full flex gap-[10px] items-center", children: [
10087
+ return /* @__PURE__ */ jsxs41("div", { className: "w-full flex gap-[10px] items-center", children: [
9958
10088
  /* @__PURE__ */ jsx49(
9959
10089
  Input,
9960
10090
  {
@@ -9976,7 +10106,7 @@ function EmailForm() {
9976
10106
  size: "large",
9977
10107
  disabled: !email || isLoading,
9978
10108
  onClick: () => onSendVerificationCode(),
9979
- children: isLoading ? /* @__PURE__ */ jsx49(Loader9, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx49(ChevronRight3, { className: "w-4 h-4" })
10109
+ children: isLoading ? /* @__PURE__ */ jsx49(Loader9, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx49(ChevronRight4, { className: "w-4 h-4" })
9980
10110
  }
9981
10111
  )
9982
10112
  ] });
@@ -10056,7 +10186,7 @@ function useVerifyCode() {
10056
10186
  }
10057
10187
 
10058
10188
  // src/internal/components/ManageWalletMenu/AddProvider.tsx
10059
- import { Fragment as Fragment15, jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
10189
+ import { Fragment as Fragment15, jsx as jsx50, jsxs as jsxs42 } from "react/jsx-runtime";
10060
10190
  function normalizePasskeyLinkError(msg) {
10061
10191
  const lower = msg.toLowerCase();
10062
10192
  if (lower.includes("already registered") || lower.includes("credential") && lower.includes("exists")) {
@@ -10086,13 +10216,13 @@ function AddProvider() {
10086
10216
  const { mutate: onVerifyCode, isPending: isCodeVerifying } = useVerifyCode();
10087
10217
  const isLoading = linkIsLoading || isCodeSending || isCodeVerifying;
10088
10218
  if (!providerType) return null;
10089
- return /* @__PURE__ */ jsxs41(Fragment15, { children: [
10090
- providerType === "email" && emailStep === "input" && /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10219
+ return /* @__PURE__ */ jsxs42(Fragment15, { children: [
10220
+ providerType === "email" && emailStep === "input" && /* @__PURE__ */ jsxs42("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10091
10221
  /* @__PURE__ */ jsx50("div", { className: "w-full flex flex-col gap-1 text-center", children: /* @__PURE__ */ jsx50("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Provide Email to connect" }) }),
10092
10222
  /* @__PURE__ */ jsx50(EmailForm, {})
10093
10223
  ] }),
10094
- providerType === "email" && emailStep === "verify" && /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10095
- /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-1 text-center", children: [
10224
+ providerType === "email" && emailStep === "verify" && /* @__PURE__ */ jsxs42("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10225
+ /* @__PURE__ */ jsxs42("div", { className: "w-full flex flex-col gap-1 text-center", children: [
10096
10226
  /* @__PURE__ */ jsx50("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "We sent a verification code to:" }),
10097
10227
  /* @__PURE__ */ jsx50("strong", { className: "text-xs", children: email })
10098
10228
  ] }),
@@ -10106,12 +10236,12 @@ function AddProvider() {
10106
10236
  }
10107
10237
  )
10108
10238
  ] }),
10109
- providerType === "passkey" && /* @__PURE__ */ jsxs41("div", { className: "flex flex-col gap-[var(--l-pass-gap)]", children: [
10110
- /* @__PURE__ */ jsxs41(Highlight, { children: [
10239
+ providerType === "passkey" && /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-[var(--l-pass-gap)]", children: [
10240
+ /* @__PURE__ */ jsxs42(Highlight, { children: [
10111
10241
  /* @__PURE__ */ jsx50("span", { className: "block mb-1", children: "Link a passkey to your account using WebAuth. Your device may let you choose an existing passkey" }),
10112
10242
  /* @__PURE__ */ jsx50("span", { className: "block", children: "Otherwise a new one will be created" })
10113
10243
  ] }),
10114
- /* @__PURE__ */ jsxs41(
10244
+ /* @__PURE__ */ jsxs42(
10115
10245
  Button,
10116
10246
  {
10117
10247
  className: "w-full",
@@ -10151,7 +10281,7 @@ function AddProvider() {
10151
10281
  ]
10152
10282
  }
10153
10283
  ),
10154
- /* @__PURE__ */ jsxs41(
10284
+ /* @__PURE__ */ jsxs42(
10155
10285
  Button,
10156
10286
  {
10157
10287
  className: "w-full",
@@ -10201,7 +10331,7 @@ function AddProvider() {
10201
10331
  init_auth();
10202
10332
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
10203
10333
  import { Mail as Mail5 } from "lucide-react";
10204
- import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
10334
+ import { jsx as jsx51, jsxs as jsxs43 } from "react/jsx-runtime";
10205
10335
  function EmailNotConnectedWarning() {
10206
10336
  const providers = jwtTokenManager2.getProviders();
10207
10337
  const hasEmail = providers.includes("email");
@@ -10216,8 +10346,8 @@ function EmailNotConnectedWarning() {
10216
10346
  animate: { opacity: 1, height: "auto" },
10217
10347
  exit: { opacity: 0, height: 0 },
10218
10348
  transition: Y_ANIMATION_SETUP,
10219
- children: /* @__PURE__ */ jsxs42(Highlight, { type: "warning", className: "flex flex-col gap-[var(--l-pass-gap)] items-center text-center", children: [
10220
- /* @__PURE__ */ jsxs42("span", { className: "flex items-center gap-[var(--l-pass-gap)] text-lg font-bold", children: [
10349
+ children: /* @__PURE__ */ jsxs43(Highlight, { type: "warning", className: "flex flex-col gap-[var(--l-pass-gap)] items-center text-center", children: [
10350
+ /* @__PURE__ */ jsxs43("span", { className: "flex items-center gap-[var(--l-pass-gap)] text-lg font-bold", children: [
10221
10351
  /* @__PURE__ */ jsx51(Mail5, { className: "w-5 h-5" }),
10222
10352
  "CONNECT EMAIL"
10223
10353
  ] }),
@@ -10229,7 +10359,7 @@ function EmailNotConnectedWarning() {
10229
10359
 
10230
10360
  // src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
10231
10361
  import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
10232
- import React6, { useEffect as useEffect23 } from "react";
10362
+ import React6, { useEffect as useEffect24 } from "react";
10233
10363
  init_auth();
10234
10364
  function useLinkSocial() {
10235
10365
  const qc = useQueryClient12();
@@ -10294,7 +10424,7 @@ function useLinkSocial() {
10294
10424
  [config.social?.providers, callbacks]
10295
10425
  );
10296
10426
  const [socialLinkStarted, setSocialLinkStarted] = React6.useState(false);
10297
- useEffect23(() => {
10427
+ useEffect24(() => {
10298
10428
  const key = providerType?.toLowerCase();
10299
10429
  console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
10300
10430
  if (isWalletLinking) {
@@ -10316,7 +10446,7 @@ function useLinkSocial() {
10316
10446
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
10317
10447
  init_telegram2();
10318
10448
  import { useQueryClient as useQueryClient13 } from "@tanstack/react-query";
10319
- import { useCallback as useCallback11, useEffect as useEffect24, useState as useState10 } from "react";
10449
+ import { useCallback as useCallback11, useEffect as useEffect25, useState as useState11 } from "react";
10320
10450
  function useLinkTelegram() {
10321
10451
  const {
10322
10452
  config: { current: config },
@@ -10369,8 +10499,8 @@ function useLinkTelegram() {
10369
10499
  setLinkIsLoading(false);
10370
10500
  }
10371
10501
  }, [config.social?.providers, callbacks]);
10372
- const [telegramLinkStarted, setTelegramLinkStarted] = useState10(false);
10373
- useEffect24(() => {
10502
+ const [telegramLinkStarted, setTelegramLinkStarted] = useState11(false);
10503
+ useEffect25(() => {
10374
10504
  console.log("[useLinkTelegram] Effect triggered:", {
10375
10505
  providerType,
10376
10506
  linkIsLoading,
@@ -10387,7 +10517,7 @@ function useLinkTelegram() {
10387
10517
  handleLinkTelegram();
10388
10518
  }
10389
10519
  }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
10390
- useEffect24(() => {
10520
+ useEffect25(() => {
10391
10521
  if (providerType !== "telegram") {
10392
10522
  setTelegramLinkStarted(false);
10393
10523
  }
@@ -10397,7 +10527,7 @@ function useLinkTelegram() {
10397
10527
  // src/internal/components/ManageWalletMenu/ProviderCard.tsx
10398
10528
  init_types();
10399
10529
  import { CheckCircle, Clock, Trash2 } from "lucide-react";
10400
- import { jsx as jsx52, jsxs as jsxs43 } from "react/jsx-runtime";
10530
+ import { jsx as jsx52, jsxs as jsxs44 } from "react/jsx-runtime";
10401
10531
  function ProviderCard(props) {
10402
10532
  const setPage = useLayoutDataStore((st) => st.setPage);
10403
10533
  const setConfirmUnlink = useManageWalletStore((st) => st.setConfirmUnlink);
@@ -10414,20 +10544,20 @@ function ProviderCard(props) {
10414
10544
  const info = getProviderDisplayInfo(props.provider);
10415
10545
  const allowUnlink = canUnlink(props);
10416
10546
  const IconComponent = info.icon;
10417
- return /* @__PURE__ */ jsxs43("div", { className: "w-full flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
10547
+ return /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
10418
10548
  /* @__PURE__ */ jsx52("div", { className: "w-12 h-12 flex items-center justify-center flex-none border border-[var(--l-pass-bd)] rounded-full", children: /* @__PURE__ */ jsx52(IconComponent, { className: "w-5 h-5" }) }),
10419
- /* @__PURE__ */ jsxs43("div", { className: "flex flex-col gap-1 flex-1", children: [
10549
+ /* @__PURE__ */ jsxs44("div", { className: "flex flex-col gap-1 flex-1", children: [
10420
10550
  /* @__PURE__ */ jsx52("span", { className: "block w-full text-[10px] font-medium", children: info.name }),
10421
10551
  props.externalId && /* @__PURE__ */ jsx52(
10422
10552
  "span",
10423
10553
  {
10424
- style: { maxWidth: 144 },
10425
- className: "block w-full font-bold text-sm whitespace-nowrap text-ellipsis overflow-hidden",
10554
+ style: { maxWidth: 184 },
10555
+ className: "block w-full font-bold text-xs whitespace-nowrap text-ellipsis overflow-hidden",
10426
10556
  children: props.externalId
10427
10557
  }
10428
10558
  )
10429
10559
  ] }),
10430
- /* @__PURE__ */ jsxs43("div", { className: "w-fit flex items-center gap-[var(--l-pass-gap)] flex-none", children: [
10560
+ /* @__PURE__ */ jsxs44("div", { className: "w-fit flex items-center gap-[var(--l-pass-gap)] flex-none", children: [
10431
10561
  props.verified ? /* @__PURE__ */ jsx52(CheckCircle, { className: `w-4 h-4 text-[var(--l-pass-bg-success)]` }) : /* @__PURE__ */ jsx52(Clock, { className: "w-4 h-4 text-[var(--l-pass-bg-warning)]" }),
10432
10562
  allowUnlink && /* @__PURE__ */ jsx52(
10433
10563
  Button,
@@ -10448,7 +10578,7 @@ function ProviderCard(props) {
10448
10578
  }
10449
10579
 
10450
10580
  // src/internal/components/ManageWalletMenu/ManageWallet.tsx
10451
- import { Fragment as Fragment16, jsx as jsx53, jsxs as jsxs44 } from "react/jsx-runtime";
10581
+ import { Fragment as Fragment16, jsx as jsx53, jsxs as jsxs45 } from "react/jsx-runtime";
10452
10582
  var POSSIBLE_PROVIDERS = [
10453
10583
  "email",
10454
10584
  // 'google',
@@ -10515,7 +10645,7 @@ function ManageWalletMenu() {
10515
10645
  }
10516
10646
  } else {
10517
10647
  unused.push(
10518
- /* @__PURE__ */ jsxs44(
10648
+ /* @__PURE__ */ jsxs45(
10519
10649
  Button,
10520
10650
  {
10521
10651
  variant: "default",
@@ -10562,7 +10692,7 @@ function ManageWalletMenu() {
10562
10692
  const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
10563
10693
  const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
10564
10694
  const combinedAlertMessage = alert2?.message || providersError?.message || null;
10565
- return /* @__PURE__ */ jsxs44(
10695
+ return /* @__PURE__ */ jsxs45(
10566
10696
  "div",
10567
10697
  {
10568
10698
  style: {
@@ -10571,7 +10701,7 @@ function ManageWalletMenu() {
10571
10701
  },
10572
10702
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10573
10703
  children: [
10574
- /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10704
+ /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10575
10705
  /* @__PURE__ */ jsx53(
10576
10706
  Button,
10577
10707
  {
@@ -10598,10 +10728,10 @@ function ManageWalletMenu() {
10598
10728
  /* @__PURE__ */ jsx53(EmailNotConnectedWarning, {}),
10599
10729
  showCurrentProviders && renderProviders.map((node) => node),
10600
10730
  showExtraProvidersUi && /* @__PURE__ */ jsx53(AddProvider, {}),
10601
- combinedAlertMessage && /* @__PURE__ */ jsxs44(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
10731
+ combinedAlertMessage && /* @__PURE__ */ jsxs45(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
10602
10732
  /* @__PURE__ */ jsx53(AlertTriangle3, { className: "w-4 h-4 shrink-0" }),
10603
- /* @__PURE__ */ jsxs44("span", { className: "break-words whitespace-pre-wrap", children: [
10604
- alert2?.title && /* @__PURE__ */ jsxs44(Fragment16, { children: [
10733
+ /* @__PURE__ */ jsxs45("span", { className: "break-words whitespace-pre-wrap", children: [
10734
+ alert2?.title && /* @__PURE__ */ jsxs45(Fragment16, { children: [
10605
10735
  /* @__PURE__ */ jsx53("strong", { children: alert2.title }),
10606
10736
  /* @__PURE__ */ jsx53("br", {})
10607
10737
  ] }),
@@ -10616,16 +10746,16 @@ function ManageWalletMenu() {
10616
10746
  // src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
10617
10747
  import { useMutation as useMutation14, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
10618
10748
  import { Key as Key5, Loader as Loader11 } from "lucide-react";
10619
- import { useState as useState11 } from "react";
10749
+ import { useState as useState12 } from "react";
10620
10750
  init_auth();
10621
- import { jsx as jsx54, jsxs as jsxs45 } from "react/jsx-runtime";
10751
+ import { jsx as jsx54, jsxs as jsxs46 } from "react/jsx-runtime";
10622
10752
  function UnlinkProviderMenu() {
10623
10753
  const qc = useQueryClient14();
10624
10754
  const address = useLumiaPassportSession((st) => st.address);
10625
10755
  const { callbacks } = useLumiaPassportConfig();
10626
10756
  const setPage = useLayoutDataStore((st) => st.setPage);
10627
10757
  const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
10628
- const [confirmInput, setConfirmInput] = useState11("");
10758
+ const [confirmInput, setConfirmInput] = useState12("");
10629
10759
  const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation14({
10630
10760
  mutationFn: async () => {
10631
10761
  if (!confirmUnlink) {
@@ -10650,9 +10780,9 @@ function UnlinkProviderMenu() {
10650
10780
  setPage("manage-wallet" /* MANAGE_WALLET */);
10651
10781
  }
10652
10782
  });
10653
- return /* @__PURE__ */ jsxs45("div", { className: "w-full p-5 flex flex-col gap-4", children: [
10783
+ return /* @__PURE__ */ jsxs46("div", { className: "w-full p-5 flex flex-col gap-4", children: [
10654
10784
  /* @__PURE__ */ jsx54("div", { className: "text-xl font-semibold text-[var(--l-pass-error)]", children: "This action cannot be undone." }),
10655
- confirmUnlink && /* @__PURE__ */ jsxs45("div", { className: "w-full flex flex-col gap-2", children: [
10785
+ confirmUnlink && /* @__PURE__ */ jsxs46("div", { className: "w-full flex flex-col gap-2", children: [
10656
10786
  /* @__PURE__ */ jsx54("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Type the provider ID to confirm removal:" }),
10657
10787
  /* @__PURE__ */ jsx54("div", { className: "text-sm font-mono break-all", children: confirmUnlink.externalId }),
10658
10788
  /* @__PURE__ */ jsx54(
@@ -10665,7 +10795,7 @@ function UnlinkProviderMenu() {
10665
10795
  }
10666
10796
  )
10667
10797
  ] }),
10668
- /* @__PURE__ */ jsxs45("div", { className: "w-full flex justify-between gap-2", children: [
10798
+ /* @__PURE__ */ jsxs46("div", { className: "w-full flex justify-between gap-2", children: [
10669
10799
  /* @__PURE__ */ jsx54(
10670
10800
  Button,
10671
10801
  {
@@ -10681,7 +10811,7 @@ function UnlinkProviderMenu() {
10681
10811
  children: "Cancel"
10682
10812
  }
10683
10813
  ),
10684
- /* @__PURE__ */ jsxs45(
10814
+ /* @__PURE__ */ jsxs46(
10685
10815
  Button,
10686
10816
  {
10687
10817
  size: "large",
@@ -10706,7 +10836,7 @@ import { useCallback as useCallback13 } from "react";
10706
10836
  // src/internal/hooks/useBlockscoutAssets.ts
10707
10837
  init_lumiaPassport();
10708
10838
  init_base();
10709
- import { useCallback as useCallback12, useMemo as useMemo4, useRef as useRef12 } from "react";
10839
+ import { useCallback as useCallback12, useMemo as useMemo4, useRef as useRef13 } from "react";
10710
10840
  import { useQuery as useQuery11 } from "@tanstack/react-query";
10711
10841
  import { useBalance as useBalance2, usePublicClient } from "wagmi";
10712
10842
  import { formatUnits as formatUnits2 } from "viem";
@@ -10854,7 +10984,7 @@ function useBlockscoutAssets(options) {
10854
10984
  [blockscoutApiUrl]
10855
10985
  );
10856
10986
  const publicClient2 = usePublicClient({ chainId: lumiaBeam.id });
10857
- const lastRefreshRef = useRef12(0);
10987
+ const lastRefreshRef = useRef13(0);
10858
10988
  const {
10859
10989
  data: nativeBalanceData,
10860
10990
  isLoading: nativeLoading,
@@ -11017,9 +11147,9 @@ function useBlockscoutAssets(options) {
11017
11147
  init_base();
11018
11148
  import { useQuery as useQuery12, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
11019
11149
  import { Image as ImageIcon, Loader as Loader12, Shield, Sparkles } from "lucide-react";
11020
- import { useState as useState12 } from "react";
11150
+ import { useState as useState13 } from "react";
11021
11151
  import { formatUnits as formatUnits3 } from "viem";
11022
- import { Fragment as Fragment17, jsx as jsx55, jsxs as jsxs46 } from "react/jsx-runtime";
11152
+ import { Fragment as Fragment17, jsx as jsx55, jsxs as jsxs47 } from "react/jsx-runtime";
11023
11153
  function openInExplorer(address) {
11024
11154
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
11025
11155
  }
@@ -11054,8 +11184,8 @@ async function getAssetRate2(symbol) {
11054
11184
  var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
11055
11185
  function PortfolioItem(props) {
11056
11186
  const { address, asset, isProjectAsset } = props;
11057
- const [nftImageError, setNftImageError] = useState12(false);
11058
- const [logoError, setLogoError] = useState12(false);
11187
+ const [nftImageError, setNftImageError] = useState13(false);
11188
+ const [logoError, setLogoError] = useState13(false);
11059
11189
  const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
11060
11190
  const qc = useQueryClient15();
11061
11191
  const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
@@ -11073,7 +11203,7 @@ function PortfolioItem(props) {
11073
11203
  const showProjectFiatBalance = isProjectAsset && !!projectAssetBalance?.fiatFormatted;
11074
11204
  const renderBalance = showProjectFiatBalance ? projectAssetBalance?.fiatFormatted || 0 : Number(formatUnits3(BigInt(asset?.balance || "0"), asset?.decimals || 18));
11075
11205
  const usdRenderBalance = !!assetRate?.price ? renderBalance * Number(assetRate.price) : 0;
11076
- return /* @__PURE__ */ jsxs46(
11206
+ return /* @__PURE__ */ jsxs47(
11077
11207
  "div",
11078
11208
  {
11079
11209
  className: cn(
@@ -11084,7 +11214,7 @@ function PortfolioItem(props) {
11084
11214
  ),
11085
11215
  onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
11086
11216
  children: [
11087
- /* @__PURE__ */ jsxs46(
11217
+ /* @__PURE__ */ jsxs47(
11088
11218
  "div",
11089
11219
  {
11090
11220
  className: cn(
@@ -11127,8 +11257,8 @@ function PortfolioItem(props) {
11127
11257
  ]
11128
11258
  }
11129
11259
  ),
11130
- /* @__PURE__ */ jsxs46("div", { className: "w-full flex-1", children: [
11131
- /* @__PURE__ */ jsxs46("div", { className: "w-full flex items-center justify-between text-xs", children: [
11260
+ /* @__PURE__ */ jsxs47("div", { className: "w-full flex-1", children: [
11261
+ /* @__PURE__ */ jsxs47("div", { className: "w-full flex items-center justify-between text-xs", children: [
11132
11262
  /* @__PURE__ */ jsx55(
11133
11263
  "span",
11134
11264
  {
@@ -11141,19 +11271,19 @@ function PortfolioItem(props) {
11141
11271
  !isSecurity && isNft && "type" in asset && /* @__PURE__ */ jsx55("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-info)] rounded-full", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
11142
11272
  isSecurity && /* @__PURE__ */ jsx55("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-warning)] rounded-full", children: "Security Token" })
11143
11273
  ] }),
11144
- /* @__PURE__ */ jsx55("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs46(Fragment17, { children: [
11274
+ /* @__PURE__ */ jsx55("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs47(Fragment17, { children: [
11145
11275
  /* @__PURE__ */ jsx55("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
11146
- "tokenId" in asset && asset.tokenId && /* @__PURE__ */ jsxs46("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11276
+ "tokenId" in asset && asset.tokenId && /* @__PURE__ */ jsxs47("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11147
11277
  "#",
11148
11278
  asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
11149
11279
  ] })
11150
- ] }) : /* @__PURE__ */ jsxs46(Fragment17, { children: [
11151
- /* @__PURE__ */ jsxs46("span", { children: [
11280
+ ] }) : /* @__PURE__ */ jsxs47(Fragment17, { children: [
11281
+ /* @__PURE__ */ jsxs47("span", { children: [
11152
11282
  /* @__PURE__ */ jsx55("span", { children: formatPrice(Number(renderBalance)) }),
11153
11283
  /* @__PURE__ */ jsx55("span", { children: " " + asset.symbol })
11154
11284
  ] }),
11155
11285
  isRateLoading && /* @__PURE__ */ jsx55(Loader12, { className: "h-4 w-4 animate-spin" }),
11156
- !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ jsxs46("span", { children: [
11286
+ !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ jsxs47("span", { children: [
11157
11287
  /* @__PURE__ */ jsx55("span", { children: "$" }),
11158
11288
  /* @__PURE__ */ jsx55("span", { children: formatPrice(usdRenderBalance) })
11159
11289
  ] })
@@ -11165,7 +11295,7 @@ function PortfolioItem(props) {
11165
11295
  }
11166
11296
 
11167
11297
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
11168
- import { jsx as jsx56, jsxs as jsxs47 } from "react/jsx-runtime";
11298
+ import { jsx as jsx56, jsxs as jsxs48 } from "react/jsx-runtime";
11169
11299
  function PortfolioMenu() {
11170
11300
  const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
11171
11301
  const qc = useQueryClient16();
@@ -11193,8 +11323,8 @@ function PortfolioMenu() {
11193
11323
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
11194
11324
  },
11195
11325
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11196
- children: /* @__PURE__ */ jsxs47(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11197
- /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11326
+ children: /* @__PURE__ */ jsxs48(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11327
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11198
11328
  /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx56(ArrowLeft11, { className: "h-4 w-4" }) }),
11199
11329
  /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11200
11330
  /* @__PURE__ */ jsx56(
@@ -11210,7 +11340,7 @@ function PortfolioMenu() {
11210
11340
  )
11211
11341
  ] }),
11212
11342
  isBlockscoutLoading && /* @__PURE__ */ jsx56("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsx56(Loader13, { className: "h-5 w-5 animate-spin" }) }),
11213
- !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs47(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11343
+ !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs48(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11214
11344
  /* @__PURE__ */ jsx56(Gem, { className: "w-8 h-8" }),
11215
11345
  /* @__PURE__ */ jsx56("span", { className: "block", children: "No assets found" })
11216
11346
  ] }),
@@ -11223,7 +11353,7 @@ function PortfolioMenu() {
11223
11353
  },
11224
11354
  `${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
11225
11355
  )),
11226
- blockscoutError && !isBlockscoutAvailable && /* @__PURE__ */ jsxs47(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11356
+ blockscoutError && !isBlockscoutAvailable && /* @__PURE__ */ jsxs48(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11227
11357
  /* @__PURE__ */ jsx56(AlertCircle4, { className: "h-4 w-4 flex-shrink-0" }),
11228
11358
  /* @__PURE__ */ jsx56("span", { className: "text-xs", children: blockscoutError.message })
11229
11359
  ] })
@@ -11236,8 +11366,9 @@ function PortfolioMenu() {
11236
11366
  init_auth();
11237
11367
  init_keyshare();
11238
11368
  import { useQuery as useQuery13, useQueryClient as useQueryClient17 } from "@tanstack/react-query";
11369
+ import dayjs3 from "dayjs";
11239
11370
  import { ArrowLeft as ArrowLeft12, Loader as Loader16, Trash2 as Trash22 } from "lucide-react";
11240
- import { useState as useState13 } from "react";
11371
+ import { useState as useState14 } from "react";
11241
11372
  init_iframe_manager();
11242
11373
  init_vaultClient();
11243
11374
 
@@ -11248,10 +11379,10 @@ var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
11248
11379
  import { Cloud as Cloud4, Laptop, Loader as Loader15, RefreshCw as RefreshCw2, Server as Server3 } from "lucide-react";
11249
11380
 
11250
11381
  // src/internal/assets/NegativeIcon.tsx
11251
- import { jsx as jsx57, jsxs as jsxs48 } from "react/jsx-runtime";
11382
+ import { jsx as jsx57, jsxs as jsxs49 } from "react/jsx-runtime";
11252
11383
  function NegativeIcon(props) {
11253
11384
  const { width = "16", height = "16", ...rest } = props;
11254
- return /* @__PURE__ */ jsxs48("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
11385
+ return /* @__PURE__ */ jsxs49("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
11255
11386
  /* @__PURE__ */ jsx57("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
11256
11387
  /* @__PURE__ */ jsx57("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
11257
11388
  /* @__PURE__ */ jsx57("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
@@ -11263,11 +11394,11 @@ init_vaultClient();
11263
11394
 
11264
11395
  // src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
11265
11396
  import { Loader as Loader14 } from "lucide-react";
11266
- import { jsx as jsx58, jsxs as jsxs49 } from "react/jsx-runtime";
11397
+ import { jsx as jsx58, jsxs as jsxs50 } from "react/jsx-runtime";
11267
11398
  function KeyshareStatus(props) {
11268
11399
  const { isLoading, content, icon: Icon2, children } = props;
11269
11400
  if (isLoading) return /* @__PURE__ */ jsx58(Loader14, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11270
- return /* @__PURE__ */ jsxs49("div", { className: "group relative w-full h-full", children: [
11401
+ return /* @__PURE__ */ jsxs50("div", { className: "group relative w-full h-full", children: [
11271
11402
  children,
11272
11403
  /* @__PURE__ */ jsx58(
11273
11404
  "div",
@@ -11298,8 +11429,9 @@ function KeyshareStatus(props) {
11298
11429
  }
11299
11430
 
11300
11431
  // src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx
11432
+ import dayjs2 from "dayjs";
11301
11433
  import { Cloud as Cloud3, HardDrive, Server as Server2 } from "lucide-react";
11302
- import { Fragment as Fragment18, jsx as jsx59, jsxs as jsxs50 } from "react/jsx-runtime";
11434
+ import { Fragment as Fragment18, jsx as jsx59, jsxs as jsxs51 } from "react/jsx-runtime";
11303
11435
  function parseOS(ua) {
11304
11436
  if (!ua) return null;
11305
11437
  if (ua.includes("Mac OS X")) return "macOS";
@@ -11321,49 +11453,49 @@ function LastBackup(props) {
11321
11453
  } = createdRecoveryStats || {};
11322
11454
  const hasBackupData = backup?.server?.enabled && backup.server.lastBackup || !backup.server.lastBackup && recoveryCreatedAt || backup.cloud.enabled && backup.cloud?.lastBackup || backup.local.enabled && backup.local.lastBackup;
11323
11455
  if (!hasBackupData) return null;
11324
- return /* @__PURE__ */ jsxs50(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
11325
- /* @__PURE__ */ jsxs50("span", { className: "block font-bold text-xs", children: [
11456
+ return /* @__PURE__ */ jsxs51(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
11457
+ /* @__PURE__ */ jsxs51("span", { className: "flex items-center gap-[var(--l-pass-gap)] font-bold text-xs leading-4", children: [
11326
11458
  /* @__PURE__ */ jsx59(Server2, { className: "w-4 h-4 inline" }),
11327
- " Last Keyshare Vault Backup"
11459
+ /* @__PURE__ */ jsx59("span", { children: "Last Keyshare Vault Backup" })
11328
11460
  ] }),
11329
- recoveryCreatedAt && /* @__PURE__ */ jsxs50(Fragment18, { children: [
11330
- /* @__PURE__ */ jsx59("span", { children: new Date(recoveryCreatedAt).toLocaleString() }),
11461
+ recoveryCreatedAt && /* @__PURE__ */ jsxs51(Fragment18, { children: [
11462
+ /* @__PURE__ */ jsx59("span", { children: dayjs2(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") }),
11331
11463
  /* @__PURE__ */ jsx59("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
11332
11464
  ] }),
11333
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-1", children: [
11465
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-1", children: [
11334
11466
  /* @__PURE__ */ jsx59(Cloud3, { className: "h-3 w-3" }),
11335
- /* @__PURE__ */ jsxs50("span", { children: [
11467
+ /* @__PURE__ */ jsxs51("span", { children: [
11336
11468
  "Cloud: ",
11337
- new Date(backup.cloud.lastBackup).toLocaleString()
11469
+ dayjs2(backup.cloud.lastBackup).format("MMMM DD, YYYY HH:mm")
11338
11470
  ] })
11339
11471
  ] }),
11340
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-1", children: [
11472
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-1", children: [
11341
11473
  /* @__PURE__ */ jsx59(HardDrive, { className: "h-3 w-3" }),
11342
- /* @__PURE__ */ jsxs50("span", { children: [
11474
+ /* @__PURE__ */ jsxs51("span", { children: [
11343
11475
  "Local: ",
11344
- new Date(backup.local.lastBackup).toLocaleString()
11476
+ dayjs2(backup.local.lastBackup).format("MMMM DD, YYYY HH:mm")
11345
11477
  ] })
11346
11478
  ] })
11347
11479
  ] });
11348
11480
  }
11349
11481
 
11350
11482
  // src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
11351
- import { Fragment as Fragment19, jsx as jsx60, jsxs as jsxs51 } from "react/jsx-runtime";
11483
+ import { Fragment as Fragment19, jsx as jsx60, jsxs as jsxs52 } from "react/jsx-runtime";
11352
11484
  function Keyshare(props) {
11353
11485
  const { userId, serverHasKeyshare, localInfo, hasServerBackup, createdRecoveryStats, isLoading, refresh } = props;
11354
11486
  const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
11355
- return /* @__PURE__ */ jsxs51(Fragment19, { children: [
11356
- /* @__PURE__ */ jsxs51("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11487
+ return /* @__PURE__ */ jsxs52(Fragment19, { children: [
11488
+ /* @__PURE__ */ jsxs52("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11357
11489
  /* @__PURE__ */ jsx60("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
11358
11490
  /* @__PURE__ */ jsx60(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ jsx60(Loader15, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx60(RefreshCw2, { className: "h-4 w-4" }) })
11359
11491
  ] }),
11360
- /* @__PURE__ */ jsxs51("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11492
+ /* @__PURE__ */ jsxs52("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11361
11493
  /* @__PURE__ */ jsx60(
11362
11494
  KeyshareStatus,
11363
11495
  {
11364
11496
  content: serverHasKeyshare ? "Your Server Security Key Share is safe and ready" : "Server Security Key Share is missing",
11365
11497
  icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
11366
- children: /* @__PURE__ */ jsxs51(
11498
+ children: /* @__PURE__ */ jsxs52(
11367
11499
  Highlight,
11368
11500
  {
11369
11501
  type: serverHasKeyshare ? "success" : "warning",
@@ -11381,7 +11513,7 @@ function Keyshare(props) {
11381
11513
  {
11382
11514
  content: localInfo?.hasKeyshare ? "Your Private Local Security Key Share is safe and ready" : "Private Local Security Key Share is missing",
11383
11515
  icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
11384
- children: /* @__PURE__ */ jsxs51(
11516
+ children: /* @__PURE__ */ jsxs52(
11385
11517
  Highlight,
11386
11518
  {
11387
11519
  type: localInfo?.hasKeyshare ? "success" : "warning",
@@ -11399,7 +11531,7 @@ function Keyshare(props) {
11399
11531
  {
11400
11532
  content: hasServerBackup ? "Security Key Share Vault Backup exists and ready" : "Security Key Share Vault Backup Missing. Create one to ensure your data is safe.",
11401
11533
  icon: hasServerBackup ? PositiveIcon : NegativeIcon,
11402
- children: /* @__PURE__ */ jsxs51(
11534
+ children: /* @__PURE__ */ jsxs52(
11403
11535
  Highlight,
11404
11536
  {
11405
11537
  type: hasServerBackup ? "success" : "warning",
@@ -11419,15 +11551,15 @@ function Keyshare(props) {
11419
11551
  }
11420
11552
 
11421
11553
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
11422
- import { Fragment as Fragment20, jsx as jsx61, jsxs as jsxs52 } from "react/jsx-runtime";
11554
+ import { Fragment as Fragment20, jsx as jsx61, jsxs as jsxs53 } from "react/jsx-runtime";
11423
11555
  function SecurityMenu() {
11424
11556
  const qc = useQueryClient17();
11425
11557
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11426
11558
  const setPage = useLayoutDataStore((st) => st.setPage);
11427
11559
  const userId = jwtTokenManager2.getUserId();
11428
11560
  const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
11429
- const [isRemoving, setIsRemoving] = useState13(false);
11430
- const [appToRemove, setAppToRemove] = useState13(null);
11561
+ const [isRemoving, setIsRemoving] = useState14(false);
11562
+ const [appToRemove, setAppToRemove] = useState14(null);
11431
11563
  const { data: recoveryData, isFetching: isRecoveryLoading } = useQuery13({
11432
11564
  enabled: !!userId,
11433
11565
  queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
@@ -11475,8 +11607,8 @@ function SecurityMenu() {
11475
11607
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
11476
11608
  },
11477
11609
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11478
- children: /* @__PURE__ */ jsxs52(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11479
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11610
+ children: /* @__PURE__ */ jsxs53(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11611
+ /* @__PURE__ */ jsxs53("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11480
11612
  /* @__PURE__ */ jsx61(
11481
11613
  Button,
11482
11614
  {
@@ -11492,7 +11624,7 @@ function SecurityMenu() {
11492
11624
  ),
11493
11625
  /* @__PURE__ */ jsx61("span", { className: "text-xl font-semibold", children: "Security" })
11494
11626
  ] }),
11495
- !appToRemove && /* @__PURE__ */ jsxs52(Fragment20, { children: [
11627
+ !appToRemove && /* @__PURE__ */ jsxs53(Fragment20, { children: [
11496
11628
  /* @__PURE__ */ jsx61(
11497
11629
  Keyshare,
11498
11630
  {
@@ -11505,21 +11637,28 @@ function SecurityMenu() {
11505
11637
  refresh: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] })
11506
11638
  }
11507
11639
  ),
11508
- trustedApps.length > 0 && /* @__PURE__ */ jsxs52(Fragment20, { children: [
11509
- /* @__PURE__ */ jsxs52("div", { className: "w-full space-y-2", children: [
11640
+ trustedApps.length > 0 && /* @__PURE__ */ jsxs53(Fragment20, { children: [
11641
+ /* @__PURE__ */ jsxs53("div", { className: "w-full space-y-2", children: [
11510
11642
  /* @__PURE__ */ jsx61("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
11511
- /* @__PURE__ */ jsx61("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs52(
11643
+ /* @__PURE__ */ jsx61("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs53(
11512
11644
  "div",
11513
11645
  {
11514
- className: "text-[10px] leading-tight p-2 rounded flex items-center gap-2 bg-[var(--l-pass-secondary)]",
11646
+ 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)]",
11515
11647
  children: [
11516
- app.appLogo ? /* @__PURE__ */ jsx61("img", { src: app.appLogo, alt: "", className: "w-8 h-8 rounded-md object-cover flex-shrink-0" }) : /* @__PURE__ */ jsx61("div", { className: "w-8 h-8 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx61("span", { className: "text-sm", children: "\u{1F517}" }) }),
11517
- /* @__PURE__ */ jsxs52("div", { className: "flex-1 min-w-0", children: [
11518
- /* @__PURE__ */ jsx61("div", { className: "font-medium truncate", children: app.appName || new URL(app.origin).hostname }),
11648
+ app.appLogo ? /* @__PURE__ */ jsx61(
11649
+ "img",
11650
+ {
11651
+ src: app.appLogo,
11652
+ alt: app.appName,
11653
+ className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] object-cover flex-shrink-0"
11654
+ }
11655
+ ) : /* @__PURE__ */ jsx61("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__ */ jsx61("span", { className: "text-sm", children: "\u{1F517}" }) }),
11656
+ /* @__PURE__ */ jsxs53("div", { className: "flex-1 min-w-0", children: [
11657
+ /* @__PURE__ */ jsx61("div", { className: "font-semibold truncate", children: app.appName || new URL(app.origin).hostname }),
11519
11658
  /* @__PURE__ */ jsx61("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
11520
- /* @__PURE__ */ jsxs52("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
11659
+ /* @__PURE__ */ jsxs53("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: [
11521
11660
  "Trusted: ",
11522
- new Date(app.trustedAt).toLocaleDateString()
11661
+ dayjs3(app.trustedAt).format("MMM D, YYYY HH:mm")
11523
11662
  ] })
11524
11663
  ] }),
11525
11664
  /* @__PURE__ */ jsx61(
@@ -11528,7 +11667,7 @@ function SecurityMenu() {
11528
11667
  variant: "ghost",
11529
11668
  size: "icon",
11530
11669
  title: "Remove from trusted",
11531
- className: "text-[var(--l-pass-error)] flex-shrink-0",
11670
+ className: "text-[var(--l-pass-bg-error)] flex-shrink-0",
11532
11671
  onClick: () => setAppToRemove({
11533
11672
  projectId: app.projectId,
11534
11673
  origin: app.origin,
@@ -11536,7 +11675,7 @@ function SecurityMenu() {
11536
11675
  appName: app.appName,
11537
11676
  appLogo: app.appLogo
11538
11677
  }),
11539
- children: /* @__PURE__ */ jsx61(Trash22, { className: "h-3 w-3" })
11678
+ children: /* @__PURE__ */ jsx61(Trash22, { className: "h-4 w-4" })
11540
11679
  }
11541
11680
  )
11542
11681
  ]
@@ -11547,25 +11686,25 @@ function SecurityMenu() {
11547
11686
  /* @__PURE__ */ jsx61("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
11548
11687
  ] })
11549
11688
  ] }),
11550
- !!appToRemove && /* @__PURE__ */ jsxs52("div", { className: "w-full", children: [
11551
- /* @__PURE__ */ jsxs52("div", { className: "text-center", children: [
11689
+ !!appToRemove && /* @__PURE__ */ jsxs53("div", { className: "w-full", children: [
11690
+ /* @__PURE__ */ jsxs53("div", { className: "text-center", children: [
11552
11691
  /* @__PURE__ */ jsx61("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
11553
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
11692
+ /* @__PURE__ */ jsxs53("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
11554
11693
  appToRemove.appLogo ? /* @__PURE__ */ jsx61("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ jsx61("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ jsx61("span", { className: "text-lg", children: "\u{1F517}" }) }),
11555
- /* @__PURE__ */ jsxs52("div", { className: "text-left", children: [
11694
+ /* @__PURE__ */ jsxs53("div", { className: "text-left", children: [
11556
11695
  /* @__PURE__ */ jsx61("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
11557
11696
  /* @__PURE__ */ jsx61("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
11558
11697
  ] })
11559
11698
  ] }),
11560
- /* @__PURE__ */ jsxs52("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
11699
+ /* @__PURE__ */ jsxs53("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
11561
11700
  /* @__PURE__ */ jsx61("p", { children: "After removing this application:" }),
11562
- /* @__PURE__ */ jsxs52("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
11701
+ /* @__PURE__ */ jsxs53("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
11563
11702
  /* @__PURE__ */ jsx61("li", { children: "All transactions will require confirmation" }),
11564
11703
  /* @__PURE__ */ jsx61("li", { children: 'You can re-add it anytime by checking "Trust this app"' })
11565
11704
  ] })
11566
11705
  ] })
11567
11706
  ] }),
11568
- /* @__PURE__ */ jsxs52("div", { className: "flex gap-2", children: [
11707
+ /* @__PURE__ */ jsxs53("div", { className: "flex gap-2", children: [
11569
11708
  /* @__PURE__ */ jsx61(Button, { variant: "outline", className: "flex-1", onClick: () => setAppToRemove(null), disabled: isRemoving, children: "Cancel" }),
11570
11709
  /* @__PURE__ */ jsx61(
11571
11710
  Button,
@@ -11586,20 +11725,20 @@ function SecurityMenu() {
11586
11725
 
11587
11726
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
11588
11727
  import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft13, CheckCircle2 as CheckCircle23, Loader as Loader17, Wallet as Wallet3 } from "lucide-react";
11589
- import { useEffect as useEffect25, useState as useState15 } from "react";
11728
+ import { useEffect as useEffect26, useState as useState16 } from "react";
11590
11729
  import { isAddress as isAddress2 } from "viem";
11591
11730
  import { useBalance as useBalance4 } from "wagmi";
11592
11731
 
11593
11732
  // src/hooks/useSendTransaction.ts
11594
- import { useCallback as useCallback14, useState as useState14 } from "react";
11733
+ import { useCallback as useCallback14, useState as useState15 } from "react";
11595
11734
  import { isAddress, parseEther as parseEther2 } from "viem";
11596
11735
  init_account();
11597
11736
  function useSendTransaction() {
11598
11737
  const session = useLumiaPassportSession((st) => st.session);
11599
11738
  const address = useLumiaPassportSession((st) => st.address);
11600
- const [isLoading, setIsLoading] = useState14(false);
11601
- const [error, setError] = useState14(null);
11602
- const [userOpHash, setUserOpHash] = useState14(null);
11739
+ const [isLoading, setIsLoading] = useState15(false);
11740
+ const [error, setError] = useState15(null);
11741
+ const [userOpHash, setUserOpHash] = useState15(null);
11603
11742
  const sendTransaction = useCallback14(
11604
11743
  async (params) => {
11605
11744
  if (!session || !address) {
@@ -11817,7 +11956,7 @@ function useTokenBalance(tokenAddress, userAddress) {
11817
11956
 
11818
11957
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
11819
11958
  init_base();
11820
- import { Fragment as Fragment21, jsx as jsx62, jsxs as jsxs53 } from "react/jsx-runtime";
11959
+ import { Fragment as Fragment21, jsx as jsx62, jsxs as jsxs54 } from "react/jsx-runtime";
11821
11960
  function SendLumiaMenu() {
11822
11961
  const page = useLayoutDataStore((st) => st.page);
11823
11962
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -11829,13 +11968,13 @@ function SendLumiaMenu() {
11829
11968
  address,
11830
11969
  chainId: lumiaBeam.id
11831
11970
  });
11832
- const [recipient, setRecipient] = useState15("");
11833
- const [amount, setAmount] = useState15("");
11834
- const [txStep, setTxStep] = useState15("input");
11835
- const [validationError, setValidationError] = useState15(null);
11971
+ const [recipient, setRecipient] = useState16("");
11972
+ const [amount, setAmount] = useState16("");
11973
+ const [txStep, setTxStep] = useState16("input");
11974
+ const [validationError, setValidationError] = useState16(null);
11836
11975
  const nativeAsset = assets.find((a) => a.type === "native");
11837
11976
  const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
11838
- useEffect25(() => {
11977
+ useEffect26(() => {
11839
11978
  if (open) {
11840
11979
  setTxStep("input");
11841
11980
  setValidationError(null);
@@ -11890,13 +12029,13 @@ function SendLumiaMenu() {
11890
12029
  const maxAmount = Math.max(0, balance - 1e-3);
11891
12030
  setAmount(maxAmount.toFixed(6));
11892
12031
  };
11893
- return /* @__PURE__ */ jsxs53("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
11894
- /* @__PURE__ */ jsxs53("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12032
+ return /* @__PURE__ */ jsxs54("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12033
+ /* @__PURE__ */ jsxs54("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11895
12034
  txStep === "input" && /* @__PURE__ */ jsx62(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx62(ArrowLeft13, { className: "h-4 w-4" }) }),
11896
12035
  /* @__PURE__ */ jsx62("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
11897
12036
  ] }),
11898
- txStep === "input" && /* @__PURE__ */ jsxs53(Fragment21, { children: [
11899
- /* @__PURE__ */ jsxs53("div", { className: "w-full flex flex-col gap-2", children: [
12037
+ txStep === "input" && /* @__PURE__ */ jsxs54(Fragment21, { children: [
12038
+ /* @__PURE__ */ jsxs54("div", { className: "w-full flex flex-col gap-2", children: [
11900
12039
  /* @__PURE__ */ jsx62("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient Address" }),
11901
12040
  /* @__PURE__ */ jsx62(
11902
12041
  Input,
@@ -11909,16 +12048,16 @@ function SendLumiaMenu() {
11909
12048
  }
11910
12049
  )
11911
12050
  ] }),
11912
- /* @__PURE__ */ jsxs53("div", { className: "w-full flex flex-col gap-2", children: [
11913
- /* @__PURE__ */ jsxs53("div", { className: "flex justify-between items-center", children: [
12051
+ /* @__PURE__ */ jsxs54("div", { className: "w-full flex flex-col gap-2", children: [
12052
+ /* @__PURE__ */ jsxs54("div", { className: "flex justify-between items-center", children: [
11914
12053
  /* @__PURE__ */ jsx62("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
11915
- /* @__PURE__ */ jsxs53("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
12054
+ /* @__PURE__ */ jsxs54("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
11916
12055
  "Balance: ",
11917
12056
  balance.toFixed(4),
11918
12057
  " LUMIA"
11919
12058
  ] })
11920
12059
  ] }),
11921
- /* @__PURE__ */ jsxs53("div", { className: "w-full relative", children: [
12060
+ /* @__PURE__ */ jsxs54("div", { className: "w-full relative", children: [
11922
12061
  /* @__PURE__ */ jsx62(
11923
12062
  Input,
11924
12063
  {
@@ -11943,50 +12082,50 @@ function SendLumiaMenu() {
11943
12082
  )
11944
12083
  ] })
11945
12084
  ] }),
11946
- (validationError || error) && /* @__PURE__ */ jsxs53("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: [
12085
+ (validationError || error) && /* @__PURE__ */ jsxs54("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: [
11947
12086
  /* @__PURE__ */ jsx62(AlertCircle5, { className: "h-4 w-4" }),
11948
12087
  /* @__PURE__ */ jsx62("span", { className: "text-sm", children: validationError || error })
11949
12088
  ] }),
11950
12089
  /* @__PURE__ */ jsx62(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
11951
12090
  ] }),
11952
- txStep === "confirm" && /* @__PURE__ */ jsxs53(Fragment21, { children: [
11953
- /* @__PURE__ */ jsxs53("div", { className: "bg-gray-50 rounded-lg p-4", children: [
12091
+ txStep === "confirm" && /* @__PURE__ */ jsxs54(Fragment21, { children: [
12092
+ /* @__PURE__ */ jsxs54("div", { className: "bg-gray-50 rounded-lg p-4", children: [
11954
12093
  /* @__PURE__ */ jsx62("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
11955
- /* @__PURE__ */ jsxs53("div", { className: "space-y-2 text-sm", children: [
11956
- /* @__PURE__ */ jsxs53("div", { className: "flex justify-between", children: [
12094
+ /* @__PURE__ */ jsxs54("div", { className: "space-y-2 text-sm", children: [
12095
+ /* @__PURE__ */ jsxs54("div", { className: "flex justify-between", children: [
11957
12096
  /* @__PURE__ */ jsx62("span", { children: "To:" }),
11958
12097
  /* @__PURE__ */ jsx62("span", { className: `font-mono`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
11959
12098
  ] }),
11960
- /* @__PURE__ */ jsxs53("div", { className: "flex justify-between", children: [
12099
+ /* @__PURE__ */ jsxs54("div", { className: "flex justify-between", children: [
11961
12100
  /* @__PURE__ */ jsx62("span", { children: "Amount:" }),
11962
- /* @__PURE__ */ jsxs53("span", { className: `font-semibold`, children: [
12101
+ /* @__PURE__ */ jsxs54("span", { className: `font-semibold`, children: [
11963
12102
  amount,
11964
12103
  " LUMIA"
11965
12104
  ] })
11966
12105
  ] }),
11967
- /* @__PURE__ */ jsxs53("div", { className: "flex justify-between", children: [
12106
+ /* @__PURE__ */ jsxs54("div", { className: "flex justify-between", children: [
11968
12107
  /* @__PURE__ */ jsx62("span", { children: "Network:" }),
11969
12108
  /* @__PURE__ */ jsx62("span", { children: "Lumia Beam" })
11970
12109
  ] })
11971
12110
  ] })
11972
12111
  ] }),
11973
- /* @__PURE__ */ jsxs53("div", { className: "flex gap-2", children: [
12112
+ /* @__PURE__ */ jsxs54("div", { className: "flex gap-2", children: [
11974
12113
  /* @__PURE__ */ jsx62(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
11975
- /* @__PURE__ */ jsxs53(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
12114
+ /* @__PURE__ */ jsxs54(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
11976
12115
  isLoading && /* @__PURE__ */ jsx62(Loader17, { className: "h-4 w-4 animate-spin" }),
11977
12116
  "Confirm"
11978
12117
  ] })
11979
12118
  ] })
11980
12119
  ] }),
11981
- txStep === "pending" && /* @__PURE__ */ jsxs53("div", { className: "py-8 text-center space-y-4", children: [
12120
+ txStep === "pending" && /* @__PURE__ */ jsxs54("div", { className: "py-8 text-center space-y-4", children: [
11982
12121
  /* @__PURE__ */ jsx62(Loader17, { className: "h-5 w-5 animate-spin mx-auto" }),
11983
- /* @__PURE__ */ jsxs53("div", { children: [
12122
+ /* @__PURE__ */ jsxs54("div", { children: [
11984
12123
  /* @__PURE__ */ jsx62("span", { className: "block font-medium", children: "Transaction Pending" }),
11985
12124
  /* @__PURE__ */ jsx62("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
11986
12125
  ] })
11987
12126
  ] }),
11988
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs53(Fragment21, { children: [
11989
- /* @__PURE__ */ jsxs53("div", { className: "text-center py-4", children: [
12127
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs54(Fragment21, { children: [
12128
+ /* @__PURE__ */ jsxs54("div", { className: "text-center py-4", children: [
11990
12129
  /* @__PURE__ */ jsx62(CheckCircle23, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
11991
12130
  /* @__PURE__ */ jsx62("p", { className: "font-medium", children: "Transaction Sent!" }),
11992
12131
  /* @__PURE__ */ jsx62("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
@@ -12000,17 +12139,17 @@ function SendLumiaMenu() {
12000
12139
  init_clients();
12001
12140
  import { ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle24, Copy as Copy2, Loader as Loader18 } from "lucide-react";
12002
12141
  import QRCode from "qrcode";
12003
- import { useCallback as useCallback15, useEffect as useEffect26, useState as useState16 } from "react";
12004
- import { Fragment as Fragment22, jsx as jsx63, jsxs as jsxs54 } from "react/jsx-runtime";
12142
+ import { useCallback as useCallback15, useEffect as useEffect27, useState as useState17 } from "react";
12143
+ import { Fragment as Fragment22, jsx as jsx63, jsxs as jsxs55 } from "react/jsx-runtime";
12005
12144
  function ReceiveLumiaMenu() {
12006
12145
  const address = useLumiaPassportSession((st) => st.address);
12007
12146
  const page = useLayoutDataStore((st) => st.page);
12008
12147
  const setPage = useLayoutDataStore((st) => st.setPage);
12009
12148
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12010
12149
  const open = page === "receive";
12011
- const [qrCodeUrl, setQrCodeUrl] = useState16("");
12012
- const [copied, setCopied] = useState16(false);
12013
- useEffect26(() => {
12150
+ const [qrCodeUrl, setQrCodeUrl] = useState17("");
12151
+ const [copied, setCopied] = useState17(false);
12152
+ useEffect27(() => {
12014
12153
  if (open && address) {
12015
12154
  QRCode.toDataURL(address, {
12016
12155
  width: 200,
@@ -12033,7 +12172,7 @@ function ReceiveLumiaMenu() {
12033
12172
  console.error("Failed to copy address:", error);
12034
12173
  }
12035
12174
  }, [address]);
12036
- return /* @__PURE__ */ jsxs54(
12175
+ return /* @__PURE__ */ jsxs55(
12037
12176
  "div",
12038
12177
  {
12039
12178
  style: {
@@ -12042,21 +12181,21 @@ function ReceiveLumiaMenu() {
12042
12181
  },
12043
12182
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12044
12183
  children: [
12045
- /* @__PURE__ */ jsxs54("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
12184
+ /* @__PURE__ */ jsxs55("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
12046
12185
  /* @__PURE__ */ jsx63(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx63(ArrowLeft14, { className: "h-4 w-4" }) }),
12047
12186
  /* @__PURE__ */ jsx63("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
12048
12187
  ] }),
12049
- /* @__PURE__ */ jsxs54(Highlight, { className: "text-center", type: "warning", children: [
12188
+ /* @__PURE__ */ jsxs55(Highlight, { className: "text-center", type: "warning", children: [
12050
12189
  /* @__PURE__ */ jsx63("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
12051
12190
  /* @__PURE__ */ jsx63("span", { className: "block w-full", children: "Ensure sender is on the same network" })
12052
12191
  ] }),
12053
12192
  /* @__PURE__ */ jsx63("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx63("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx63(Loader18, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
12054
- /* @__PURE__ */ jsxs54(Highlight, { type: "info", children: [
12193
+ /* @__PURE__ */ jsxs55(Highlight, { type: "info", children: [
12055
12194
  /* @__PURE__ */ jsx63("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
12056
- /* @__PURE__ */ jsx63(Button, { onClick: handleCopy, className: "w-full", size: "medium", children: copied ? /* @__PURE__ */ jsxs54(Fragment22, { children: [
12195
+ /* @__PURE__ */ jsx63(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs55(Fragment22, { children: [
12057
12196
  /* @__PURE__ */ jsx63(CheckCircle24, { className: "h-4 w-4" }),
12058
12197
  /* @__PURE__ */ jsx63("span", { children: "Copied!" })
12059
- ] }) : /* @__PURE__ */ jsxs54(Fragment22, { children: [
12198
+ ] }) : /* @__PURE__ */ jsxs55(Fragment22, { children: [
12060
12199
  /* @__PURE__ */ jsx63(Copy2, { className: "h-4 w-4" }),
12061
12200
  /* @__PURE__ */ jsx63("span", { children: "Copy Address" })
12062
12201
  ] }) })
@@ -12069,7 +12208,7 @@ function ReceiveLumiaMenu() {
12069
12208
 
12070
12209
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12071
12210
  import { ArrowLeft as ArrowLeft15 } from "lucide-react";
12072
- import { useEffect as useEffect27 } from "react";
12211
+ import { useEffect as useEffect28 } from "react";
12073
12212
 
12074
12213
  // src/internal/components/SettingsMenu/constants.ts
12075
12214
  import { ArrowLeftRight, DatabaseBackup, LockKeyhole, UsersRound } from "lucide-react";
@@ -12097,22 +12236,22 @@ var NAV_BUTTONS = [
12097
12236
  ];
12098
12237
 
12099
12238
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12100
- import { jsx as jsx65, jsxs as jsxs55 } from "react/jsx-runtime";
12239
+ import { jsx as jsx65, jsxs as jsxs56 } from "react/jsx-runtime";
12101
12240
  function SettingsMenu() {
12102
12241
  const address = useLumiaPassportSession((st) => st.address);
12103
12242
  const setPage = useLayoutDataStore((st) => st.setPage);
12104
12243
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
12105
12244
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
12106
- useEffect27(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
12245
+ useEffect28(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
12107
12246
  useProvidersList();
12108
12247
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
12109
12248
  const highlightedKeys = settingsNotifications.map((n) => n.target);
12110
- return /* @__PURE__ */ jsxs55("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12111
- /* @__PURE__ */ jsxs55("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12249
+ return /* @__PURE__ */ jsxs56("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12250
+ /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12112
12251
  /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx65(ArrowLeft15, { className: "h-4 w-4" }) }),
12113
12252
  /* @__PURE__ */ jsx65("span", { className: "text-xl font-semibold", children: "Settings" })
12114
12253
  ] }),
12115
- /* @__PURE__ */ jsx65("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs55(
12254
+ /* @__PURE__ */ jsx65("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs56(
12116
12255
  Button,
12117
12256
  {
12118
12257
  variant: "outline",
@@ -12136,12 +12275,12 @@ function SettingsMenu() {
12136
12275
 
12137
12276
  // src/internal/components/TermsOfService.tsx
12138
12277
  import { ArrowLeft as ArrowLeft16 } from "lucide-react";
12139
- import { jsx as jsx66, jsxs as jsxs56 } from "react/jsx-runtime";
12278
+ import { jsx as jsx66, jsxs as jsxs57 } from "react/jsx-runtime";
12140
12279
  function TermsOfService() {
12141
12280
  const address = useLumiaPassportSession((st) => st.address);
12142
12281
  const setPage = useLayoutDataStore((st) => st.setPage);
12143
- return /* @__PURE__ */ jsxs56("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12144
- /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12282
+ return /* @__PURE__ */ jsxs57("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12283
+ /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12145
12284
  /* @__PURE__ */ jsx66(
12146
12285
  Button,
12147
12286
  {
@@ -12154,7 +12293,7 @@ function TermsOfService() {
12154
12293
  ),
12155
12294
  /* @__PURE__ */ jsx66("span", { className: "text-xl font-semibold", children: "Terms of Service" })
12156
12295
  ] }),
12157
- /* @__PURE__ */ jsxs56(Highlight, { type: "warning", className: "text-center", children: [
12296
+ /* @__PURE__ */ jsxs57(Highlight, { type: "warning", className: "text-center", children: [
12158
12297
  /* @__PURE__ */ jsx66("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
12159
12298
  /* @__PURE__ */ jsx66("span", { className: "block text-xs", children: "To be updated..." })
12160
12299
  ] })
@@ -12164,7 +12303,7 @@ function TermsOfService() {
12164
12303
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
12165
12304
  import { useQuery as useQuery14, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
12166
12305
  import { ArrowLeft as ArrowLeft17, Loader as Loader19, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
12167
- import { useCallback as useCallback16, useState as useState17 } from "react";
12306
+ import { useCallback as useCallback16, useState as useState18 } from "react";
12168
12307
 
12169
12308
  // src/internal/components/TransactionsMenu/api.ts
12170
12309
  init_base();
@@ -12455,7 +12594,7 @@ async function getTransactionsListQuery(address) {
12455
12594
  }
12456
12595
 
12457
12596
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
12458
- import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight4, Copy as Copy3 } from "lucide-react";
12597
+ import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight5, Copy as Copy3 } from "lucide-react";
12459
12598
 
12460
12599
  // src/internal/components/TransactionsMenu/utils.ts
12461
12600
  init_base();
@@ -12502,20 +12641,20 @@ var formatTimestamp = (timestampMs) => {
12502
12641
  };
12503
12642
 
12504
12643
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
12505
- import { Fragment as Fragment23, jsx as jsx67, jsxs as jsxs57 } from "react/jsx-runtime";
12644
+ import { Fragment as Fragment23, jsx as jsx67, jsxs as jsxs58 } from "react/jsx-runtime";
12506
12645
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
12507
12646
  const internalSymbol = internal.assetSymbol || assetSymbol;
12508
12647
  const internalDecimals = internal.decimals ?? assetDecimals;
12509
- return /* @__PURE__ */ jsxs57("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
12510
- /* @__PURE__ */ jsxs57("div", { className: "flex gap-2 items-center justify-between", children: [
12648
+ return /* @__PURE__ */ jsxs58("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
12649
+ /* @__PURE__ */ jsxs58("div", { className: "flex gap-2 items-center justify-between", children: [
12511
12650
  /* @__PURE__ */ jsx67("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
12512
- /* @__PURE__ */ jsxs57("span", { children: [
12651
+ /* @__PURE__ */ jsxs58("span", { children: [
12513
12652
  formatValue2(internal.value, internalDecimals),
12514
12653
  " ",
12515
12654
  internalSymbol
12516
12655
  ] })
12517
12656
  ] }),
12518
- /* @__PURE__ */ jsxs57("div", { className: "flex gap-2 items-center justify-between", children: [
12657
+ /* @__PURE__ */ jsxs58("div", { className: "flex gap-2 items-center justify-between", children: [
12519
12658
  /* @__PURE__ */ jsx67("span", { children: internal.direction === "in" ? "From" : "To" }),
12520
12659
  /* @__PURE__ */ jsx67("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
12521
12660
  ] })
@@ -12528,7 +12667,7 @@ function TransactionsGroup(props) {
12528
12667
  const assetSymbol = parent.assetSymbol || "LUMIA";
12529
12668
  const assetDecimals = parent.decimals ?? 18;
12530
12669
  const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
12531
- return /* @__PURE__ */ jsxs57(
12670
+ return /* @__PURE__ */ jsxs58(
12532
12671
  "div",
12533
12672
  {
12534
12673
  onClick: () => openInExplorer2(parent.parentHash),
@@ -12538,21 +12677,21 @@ function TransactionsGroup(props) {
12538
12677
  "bg-transparent hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
12539
12678
  ),
12540
12679
  children: [
12541
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
12542
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
12543
- parent.direction === "in" ? /* @__PURE__ */ jsx67(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx67(ChevronRight4, { className: "w-4 h-4" }),
12680
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
12681
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
12682
+ parent.direction === "in" ? /* @__PURE__ */ jsx67(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx67(ChevronRight5, { className: "w-4 h-4" }),
12544
12683
  /* @__PURE__ */ jsx67("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
12545
12684
  parent.status === "ok" ? /* @__PURE__ */ jsx67(PositiveIcon, {}) : /* @__PURE__ */ jsx67(NegativeIcon, {})
12546
12685
  ] }),
12547
12686
  /* @__PURE__ */ jsx67("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
12548
12687
  ] }),
12549
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
12550
- /* @__PURE__ */ jsxs57("span", { className: "font-bold", children: [
12688
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
12689
+ /* @__PURE__ */ jsxs58("span", { className: "font-bold", children: [
12551
12690
  formatValue2(parent.value, assetDecimals),
12552
12691
  " ",
12553
12692
  assetSymbol
12554
12693
  ] }),
12555
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-0", children: [
12694
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-0", children: [
12556
12695
  /* @__PURE__ */ jsx67(
12557
12696
  Button,
12558
12697
  {
@@ -12579,19 +12718,19 @@ function TransactionsGroup(props) {
12579
12718
  )
12580
12719
  ] })
12581
12720
  ] }),
12582
- internalsToRender.length > 0 && /* @__PURE__ */ jsxs57(Fragment23, { children: [
12583
- /* @__PURE__ */ jsxs57("div", { className: "w-full flex items-center", children: [
12721
+ internalsToRender.length > 0 && /* @__PURE__ */ jsxs58(Fragment23, { children: [
12722
+ /* @__PURE__ */ jsxs58("div", { className: "w-full flex items-center", children: [
12584
12723
  /* @__PURE__ */ jsx67("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
12585
12724
  /* @__PURE__ */ jsx67("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
12586
12725
  /* @__PURE__ */ jsx67("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
12587
12726
  ] }),
12588
- /* @__PURE__ */ jsxs57(
12727
+ /* @__PURE__ */ jsxs58(
12589
12728
  "div",
12590
12729
  {
12591
12730
  className: "w-full rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
12592
12731
  onClick: (event) => event.stopPropagation(),
12593
12732
  children: [
12594
- /* @__PURE__ */ jsxs57(
12733
+ /* @__PURE__ */ jsxs58(
12595
12734
  Button,
12596
12735
  {
12597
12736
  variant: "ghost",
@@ -12599,7 +12738,7 @@ function TransactionsGroup(props) {
12599
12738
  className: "w-full justify-between",
12600
12739
  onClick: () => onToggleExpanded(group.id),
12601
12740
  children: [
12602
- /* @__PURE__ */ jsxs57("span", { children: [
12741
+ /* @__PURE__ */ jsxs58("span", { children: [
12603
12742
  "View internal calls (",
12604
12743
  internalsToRender.length,
12605
12744
  ")"
@@ -12627,14 +12766,14 @@ function TransactionsGroup(props) {
12627
12766
  }
12628
12767
 
12629
12768
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
12630
- import { jsx as jsx68, jsxs as jsxs58 } from "react/jsx-runtime";
12769
+ import { jsx as jsx68, jsxs as jsxs59 } from "react/jsx-runtime";
12631
12770
  function TransactionsMenu() {
12632
12771
  const qc = useQueryClient18();
12633
12772
  const address = useLumiaPassportSession((st) => st.address);
12634
12773
  const page = useLayoutDataStore((st) => st.page);
12635
12774
  const setPage = useLayoutDataStore((st) => st.setPage);
12636
12775
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12637
- const [expandedGroups, setExpandedGroups] = useState17({});
12776
+ const [expandedGroups, setExpandedGroups] = useState18({});
12638
12777
  const {
12639
12778
  data: txHistoryGroups = [],
12640
12779
  isLoading: isTxHistoryLoading,
@@ -12659,8 +12798,8 @@ function TransactionsMenu() {
12659
12798
  "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
12660
12799
  },
12661
12800
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
12662
- children: /* @__PURE__ */ jsxs58(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
12663
- /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12801
+ children: /* @__PURE__ */ jsxs59(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
12802
+ /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12664
12803
  /* @__PURE__ */ jsx68(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx68(ArrowLeft17, { className: "h-4 w-4" }) }),
12665
12804
  /* @__PURE__ */ jsx68("span", { className: "text-xl font-semibold", children: "Transaction History" }),
12666
12805
  /* @__PURE__ */ jsx68(
@@ -12676,11 +12815,11 @@ function TransactionsMenu() {
12676
12815
  )
12677
12816
  ] }),
12678
12817
  isTxHistoryLoading && /* @__PURE__ */ jsx68("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx68(Loader19, { className: "h-5 w-5 animate-spin" }) }),
12679
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs58(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
12818
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs59(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
12680
12819
  /* @__PURE__ */ jsx68(XCircle2, { className: "w-4 h-4 flex-none" }),
12681
12820
  /* @__PURE__ */ jsx68("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
12682
12821
  ] }),
12683
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx68(Highlight, { type: "warning", children: /* @__PURE__ */ jsx68("span", { children: "No transactions found. Smart account transactions will appear here" }) }),
12822
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx68(Highlight, { type: "warning", children: /* @__PURE__ */ jsx68("span", { children: "No transactions found." }) }),
12684
12823
  !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx68("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx68(
12685
12824
  TransactionsGroup,
12686
12825
  {
@@ -12825,7 +12964,7 @@ function usePageMapper() {
12825
12964
  },
12826
12965
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
12827
12966
  );
12828
- useEffect28(() => {
12967
+ useEffect29(() => {
12829
12968
  if (page === null) return closeDialog();
12830
12969
  const pageItem = protectedRoutes[page];
12831
12970
  if (!pageItem) {
@@ -12839,29 +12978,17 @@ function usePageMapper() {
12839
12978
 
12840
12979
  // src/internal/hooks/useSettingsNotifications.ts
12841
12980
  init_auth();
12842
- import { useEffect as useEffect29 } from "react";
12981
+ import { useEffect as useEffect30 } from "react";
12843
12982
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
12844
12983
  id: "email-not-connected",
12845
12984
  target: "manage-wallet" /* MANAGE_WALLET */,
12846
12985
  message: "Email is not connected"
12847
12986
  };
12848
- var BACKUP_IS_NOT_CREATED_NOTIFICATION = {
12849
- id: "backup-is-not-created",
12850
- target: "keysare-backup" /* KEYSARE_BACKUP */,
12851
- message: "Backup is not created"
12852
- };
12853
12987
  function useSettingsNotifications() {
12854
- const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
12855
12988
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
12856
12989
  const providers = jwtTokenManager2.getProviders();
12857
12990
  const hasEmail = providers.includes("email");
12858
- useEffect29(() => {
12859
- setSettingsNotifications({
12860
- ...BACKUP_IS_NOT_CREATED_NOTIFICATION,
12861
- status: hasServerVault ? "resolved" : "active"
12862
- });
12863
- }, [hasServerVault, setSettingsNotifications]);
12864
- useEffect29(() => {
12991
+ useEffect30(() => {
12865
12992
  setSettingsNotifications({
12866
12993
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
12867
12994
  status: hasEmail ? "resolved" : "active"
@@ -12870,7 +12997,7 @@ function useSettingsNotifications() {
12870
12997
  }
12871
12998
 
12872
12999
  // src/internal/hooks/useWalletStatus.ts
12873
- import { useEffect as useEffect30 } from "react";
13000
+ import { useEffect as useEffect31 } from "react";
12874
13001
  init_auth();
12875
13002
  function useWalletStatus() {
12876
13003
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
@@ -12880,7 +13007,7 @@ function useWalletStatus() {
12880
13007
  config: { current: config },
12881
13008
  callbacks
12882
13009
  } = useLumiaPassportConfig();
12883
- useEffect30(() => {
13010
+ useEffect31(() => {
12884
13011
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
12885
13012
  const userId = jwtTokenManager2.getUserId();
12886
13013
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -12900,16 +13027,17 @@ function useWalletStatus() {
12900
13027
  }
12901
13028
 
12902
13029
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
12903
- import { jsx as jsx70, jsxs as jsxs59 } from "react/jsx-runtime";
13030
+ import { jsx as jsx70, jsxs as jsxs60 } from "react/jsx-runtime";
12904
13031
  function LumiaPassportDialog() {
12905
13032
  const config = useLumiaPassportConfig().config;
12906
13033
  const className = config.current?.ui?.dialogClassName;
12907
13034
  const session = useLumiaPassportSession((st) => st.session);
13035
+ const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
12908
13036
  const page = useLayoutDataStore((st) => st.page);
12909
13037
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
12910
13038
  const setPage = useLayoutDataStore((st) => st.setPage);
12911
13039
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
12912
- useEffect31(() => setIsSettings(!!session), [session, setIsSettings]);
13040
+ useEffect32(() => setIsSettings(!!session), [session, setIsSettings]);
12913
13041
  usePageMapper();
12914
13042
  useAutoConnect();
12915
13043
  useCheckVaultStatus();
@@ -12919,6 +13047,7 @@ function LumiaPassportDialog() {
12919
13047
  useListenIframeAuthEvents();
12920
13048
  useBackupWarning();
12921
13049
  useWalletStatus();
13050
+ const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
12922
13051
  return /* @__PURE__ */ jsx70(
12923
13052
  Dialog,
12924
13053
  {
@@ -12927,10 +13056,10 @@ function LumiaPassportDialog() {
12927
13056
  if (isDialogForced) return;
12928
13057
  if (!open) setPage(null);
12929
13058
  },
12930
- children: /* @__PURE__ */ jsxs59(DialogContent, { colorMode, hideClose: isDialogForced, className, children: [
13059
+ children: /* @__PURE__ */ jsxs60(DialogContent, { colorMode, className, children: [
12931
13060
  /* @__PURE__ */ jsx70(VisuallyHidden, { children: /* @__PURE__ */ jsx70(DialogTitle, { children: dialogTitle }) }),
12932
13061
  /* @__PURE__ */ jsx70(DialogDescription, { className: "sr-only", children: dialogDescription }),
12933
- !!session && /* @__PURE__ */ jsx70(Header, {}),
13062
+ !isHeaderHidden && /* @__PURE__ */ jsx70(Header, {}),
12934
13063
  /* @__PURE__ */ jsx70(AnimatePresence3, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx70(
12935
13064
  motion3.div,
12936
13065
  {
@@ -12995,7 +13124,7 @@ var TssManagerWithRef = React9.forwardRef((props, ref) => {
12995
13124
  init_wallet();
12996
13125
  import { useConnectModal } from "@rainbow-me/rainbowkit";
12997
13126
  import { useMutation as useMutation15, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
12998
- import React10, { useCallback as useCallback19, useEffect as useEffect32 } from "react";
13127
+ import React10, { useCallback as useCallback19, useEffect as useEffect33 } from "react";
12999
13128
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
13000
13129
  function WalletConnectHandler() {
13001
13130
  const qc = useQueryClient19();
@@ -13040,7 +13169,7 @@ function WalletConnectHandler() {
13040
13169
  [qc, passportWalletAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
13041
13170
  );
13042
13171
  const [hasStartedLinking, setHasStartedLinking] = React10.useState(false);
13043
- useEffect32(() => {
13172
+ useEffect33(() => {
13044
13173
  if (isWalletLinking && !hasStartedLinking) {
13045
13174
  setHasStartedLinking(true);
13046
13175
  setProviderType(null);
@@ -13060,7 +13189,7 @@ function WalletConnectHandler() {
13060
13189
  if (isConnected) disconnect();
13061
13190
  }
13062
13191
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
13063
- useEffect32(() => {
13192
+ useEffect33(() => {
13064
13193
  if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
13065
13194
  console.log("[WalletConnectHandler] Modal closed without connecting");
13066
13195
  onLinkingComplete(false);
@@ -13136,7 +13265,7 @@ function WalletConnectHandler() {
13136
13265
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
13137
13266
  }
13138
13267
  });
13139
- useEffect32(() => {
13268
+ useEffect33(() => {
13140
13269
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
13141
13270
  console.log("[WalletConnectHandler] handleWalletSign triggered");
13142
13271
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
@@ -13146,7 +13275,7 @@ function WalletConnectHandler() {
13146
13275
  }
13147
13276
 
13148
13277
  // src/context/LumiaPassportSessionContext.tsx
13149
- import { jsx as jsx71, jsxs as jsxs60 } from "react/jsx-runtime";
13278
+ import { jsx as jsx71, jsxs as jsxs61 } from "react/jsx-runtime";
13150
13279
  var useLumiaPassportSession = create6((set) => ({
13151
13280
  isLoading: false,
13152
13281
  usePaymaster: true,
@@ -13172,7 +13301,7 @@ var useLumiaPassportSession = create6((set) => ({
13172
13301
  }));
13173
13302
  function LumiaPassportSessionProvider({ children }) {
13174
13303
  const config = useLumiaPassportConfig().config;
13175
- return /* @__PURE__ */ jsxs60(Fragment24, { children: [
13304
+ return /* @__PURE__ */ jsxs61(Fragment24, { children: [
13176
13305
  children,
13177
13306
  config.current?.wallet?.enabled && /* @__PURE__ */ jsx71(WalletConnectHandler, {}),
13178
13307
  /* @__PURE__ */ jsx71(BalanceFeedProvider, {}),
@@ -13229,8 +13358,8 @@ function LumiaPassportProvider(props) {
13229
13358
  const { children, projectId, initialConfig = {}, callbacks } = props;
13230
13359
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
13231
13360
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
13232
- useEffect33(() => notifyNoProjetctId(projectId), [projectId]);
13233
- const config = useRef13({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
13361
+ useEffect34(() => notifyNoProjetctId(projectId), [projectId]);
13362
+ const config = useRef14({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
13234
13363
  const updateConfig = useCallback20((updates) => {
13235
13364
  const prev = config.current;
13236
13365
  const next = { ...prev };
@@ -13266,7 +13395,7 @@ function LumiaPassportProvider(props) {
13266
13395
  }
13267
13396
  config.current = next;
13268
13397
  }, []);
13269
- useEffect33(() => {
13398
+ useEffect34(() => {
13270
13399
  if (typeof window === "undefined" || !projectId) return;
13271
13400
  const mergedConfig = merge2(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
13272
13401
  updateConfig(mergedConfig);
@@ -13322,9 +13451,9 @@ var useLumiaPassportConfig = () => {
13322
13451
 
13323
13452
  // src/components/ConnectWalletButton.tsx
13324
13453
  import { Cloud as Cloud5, Laptop as Laptop2, Loader as Loader20, Shield as Shield2 } from "lucide-react";
13325
- import { useEffect as useEffect34, useMemo as useMemo6 } from "react";
13454
+ import { useEffect as useEffect35, useMemo as useMemo6 } from "react";
13326
13455
  init_auth();
13327
- import { Fragment as Fragment25, jsx as jsx74, jsxs as jsxs61 } from "react/jsx-runtime";
13456
+ import { Fragment as Fragment25, jsx as jsx74, jsxs as jsxs62 } from "react/jsx-runtime";
13328
13457
  function getFormattedStatus(label, status, showStatus) {
13329
13458
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
13330
13459
  if (!isStatus) return label;
@@ -13343,7 +13472,7 @@ function ConnectWalletButton(props) {
13343
13472
  const colorMode = useLayoutStore((st) => st.colorMode);
13344
13473
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
13345
13474
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
13346
- useEffect34(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
13475
+ useEffect35(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
13347
13476
  const avatar = jwtTokenManager2.getAvatar();
13348
13477
  const displayName = jwtTokenManager2.getDisplayName();
13349
13478
  const indicators = useMemo6(() => {
@@ -13356,7 +13485,7 @@ function ConnectWalletButton(props) {
13356
13485
  const isConnecting = connectButtonLabel !== label || isLoading;
13357
13486
  return /* @__PURE__ */ jsx74("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
13358
13487
  /** external Buttons can be provided */
13359
- /* @__PURE__ */ jsx74(Fragment25, { children: ConnectButton ? /* @__PURE__ */ jsxs61(
13488
+ /* @__PURE__ */ jsx74(Fragment25, { children: ConnectButton ? /* @__PURE__ */ jsxs62(
13360
13489
  ConnectButton,
13361
13490
  {
13362
13491
  type: "button",
@@ -13367,7 +13496,7 @@ function ConnectWalletButton(props) {
13367
13496
  connectButtonLabel
13368
13497
  ]
13369
13498
  }
13370
- ) : /* @__PURE__ */ jsxs61(
13499
+ ) : /* @__PURE__ */ jsxs62(
13371
13500
  Button,
13372
13501
  {
13373
13502
  type: "button",
@@ -13389,7 +13518,7 @@ function ConnectWalletButton(props) {
13389
13518
  ]
13390
13519
  }
13391
13520
  ) })
13392
- ) : /* @__PURE__ */ jsxs61(
13521
+ ) : /* @__PURE__ */ jsxs62(
13393
13522
  "button",
13394
13523
  {
13395
13524
  type: "button",
@@ -13403,22 +13532,22 @@ function ConnectWalletButton(props) {
13403
13532
  ),
13404
13533
  children: [
13405
13534
  /* @__PURE__ */ jsx74("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx74("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx74(LumiaIcon, { width: 48, height: 48 }) }),
13406
- /* @__PURE__ */ jsxs61("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
13407
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13535
+ /* @__PURE__ */ jsxs62("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
13536
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13408
13537
  /* @__PURE__ */ jsx74("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
13409
13538
  /* @__PURE__ */ jsx74(KYCStatus, {})
13410
13539
  ] }),
13411
13540
  /* @__PURE__ */ jsx74(BalanceView, {})
13412
13541
  ] }),
13413
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center space-x-1", children: [
13414
- /* @__PURE__ */ jsxs61("div", { className: "group relative", children: [
13542
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center space-x-1", children: [
13543
+ /* @__PURE__ */ jsxs62("div", { className: "group relative", children: [
13415
13544
  /* @__PURE__ */ jsx74(
13416
13545
  Cloud5,
13417
13546
  {
13418
13547
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
13419
13548
  }
13420
13549
  ),
13421
- /* @__PURE__ */ jsxs61(
13550
+ /* @__PURE__ */ jsxs62(
13422
13551
  "div",
13423
13552
  {
13424
13553
  className: cn(
@@ -13433,14 +13562,14 @@ function ConnectWalletButton(props) {
13433
13562
  }
13434
13563
  )
13435
13564
  ] }),
13436
- /* @__PURE__ */ jsxs61("div", { className: "group relative", children: [
13565
+ /* @__PURE__ */ jsxs62("div", { className: "group relative", children: [
13437
13566
  /* @__PURE__ */ jsx74(
13438
13567
  Laptop2,
13439
13568
  {
13440
13569
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
13441
13570
  }
13442
13571
  ),
13443
- /* @__PURE__ */ jsxs61(
13572
+ /* @__PURE__ */ jsxs62(
13444
13573
  "div",
13445
13574
  {
13446
13575
  className: cn(
@@ -13455,14 +13584,14 @@ function ConnectWalletButton(props) {
13455
13584
  }
13456
13585
  )
13457
13586
  ] }),
13458
- /* @__PURE__ */ jsxs61("div", { className: "group relative", children: [
13587
+ /* @__PURE__ */ jsxs62("div", { className: "group relative", children: [
13459
13588
  /* @__PURE__ */ jsx74(
13460
13589
  Shield2,
13461
13590
  {
13462
13591
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
13463
13592
  }
13464
13593
  ),
13465
- /* @__PURE__ */ jsxs61(
13594
+ /* @__PURE__ */ jsxs62(
13466
13595
  "div",
13467
13596
  {
13468
13597
  className: cn(
@@ -13539,7 +13668,7 @@ function useLumiaPassportOpen() {
13539
13668
  }
13540
13669
 
13541
13670
  // src/hooks/useLumiaPassportColorMode.ts
13542
- import { useCallback as useCallback22, useEffect as useEffect35 } from "react";
13671
+ import { useCallback as useCallback22, useEffect as useEffect36 } from "react";
13543
13672
  function useLumiaPassportColorMode() {
13544
13673
  const {
13545
13674
  config: { current: config }
@@ -13554,7 +13683,7 @@ function useLumiaPassportColorMode() {
13554
13683
  },
13555
13684
  [handleStoreColorMode]
13556
13685
  );
13557
- useEffect35(() => {
13686
+ useEffect36(() => {
13558
13687
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
13559
13688
  if (!targetColorMode && !preferedColorMode) {
13560
13689
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -13863,7 +13992,7 @@ function cn2(...inputs) {
13863
13992
  // src/internal/components/Address.tsx
13864
13993
  import { Copy as Copy4, ExternalLink } from "lucide-react";
13865
13994
  import * as React11 from "react";
13866
- import { jsx as jsx77, jsxs as jsxs62 } from "react/jsx-runtime";
13995
+ import { jsx as jsx77, jsxs as jsxs63 } from "react/jsx-runtime";
13867
13996
  function toExplorerAddressUrl(address, chain) {
13868
13997
  const base2 = chain?.blockExplorers?.default?.url;
13869
13998
  if (!base2) return null;
@@ -13886,7 +14015,7 @@ var Address = ({
13886
14015
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
13887
14016
  const [copied, setCopied] = React11.useState(false);
13888
14017
  if (!addr) return /* @__PURE__ */ jsx77("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
13889
- return /* @__PURE__ */ jsxs62("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
14018
+ return /* @__PURE__ */ jsxs63("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
13890
14019
  label && /* @__PURE__ */ jsx77("span", { className: "text-sm font-medium", children: label }),
13891
14020
  /* @__PURE__ */ jsx77("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
13892
14021
  showCopy && /* @__PURE__ */ jsx77(
@@ -13946,7 +14075,7 @@ function Badge({ className, variant, ...props }) {
13946
14075
  }
13947
14076
 
13948
14077
  // src/internal/components/UserOpStatus.tsx
13949
- import { jsx as jsx79, jsxs as jsxs63 } from "react/jsx-runtime";
14078
+ import { jsx as jsx79, jsxs as jsxs64 } from "react/jsx-runtime";
13950
14079
  var UserOpStatus = ({
13951
14080
  userOpHash,
13952
14081
  chain,
@@ -14079,35 +14208,35 @@ var UserOpStatus = ({
14079
14208
  const stateBadge = () => {
14080
14209
  if (receipt) {
14081
14210
  const ok = !!receipt.success;
14082
- return /* @__PURE__ */ jsxs63(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
14211
+ return /* @__PURE__ */ jsxs64(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
14083
14212
  ok ? /* @__PURE__ */ jsx79(CheckCircle26, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx79(AlertCircle6, { className: "h-3 w-3" }),
14084
14213
  ok ? "Included" : "Failed"
14085
14214
  ] });
14086
14215
  }
14087
14216
  if (rejected) {
14088
- return /* @__PURE__ */ jsxs63(Badge, { variant: "destructive", className: "gap-1", children: [
14217
+ return /* @__PURE__ */ jsxs64(Badge, { variant: "destructive", className: "gap-1", children: [
14089
14218
  /* @__PURE__ */ jsx79(AlertCircle6, { className: "h-3 w-3" }),
14090
14219
  " Rejected by bundler"
14091
14220
  ] });
14092
14221
  }
14093
14222
  if (timedOut) {
14094
- return /* @__PURE__ */ jsxs63(Badge, { variant: "warning", className: "gap-1", children: [
14223
+ return /* @__PURE__ */ jsxs64(Badge, { variant: "warning", className: "gap-1", children: [
14095
14224
  /* @__PURE__ */ jsx79(AlertCircle6, { className: "h-3 w-3" }),
14096
14225
  " Timeout - may be rejected"
14097
14226
  ] });
14098
14227
  }
14099
14228
  if (mempool) {
14100
- return /* @__PURE__ */ jsxs63(Badge, { variant: "outline", className: "gap-1", children: [
14229
+ return /* @__PURE__ */ jsxs64(Badge, { variant: "outline", className: "gap-1", children: [
14101
14230
  /* @__PURE__ */ jsx79(Clock2, { className: "h-3 w-3" }),
14102
14231
  " Pending in bundler"
14103
14232
  ] });
14104
14233
  }
14105
- return /* @__PURE__ */ jsxs63(Badge, { variant: "secondary", className: "gap-1", children: [
14234
+ return /* @__PURE__ */ jsxs64(Badge, { variant: "secondary", className: "gap-1", children: [
14106
14235
  /* @__PURE__ */ jsx79(Clock2, { className: "h-3 w-3" }),
14107
14236
  " Waiting"
14108
14237
  ] });
14109
14238
  };
14110
- return /* @__PURE__ */ jsxs63(
14239
+ return /* @__PURE__ */ jsxs64(
14111
14240
  "div",
14112
14241
  {
14113
14242
  className: cn2(
@@ -14116,17 +14245,17 @@ var UserOpStatus = ({
14116
14245
  ),
14117
14246
  style: { textAlign: "left", listStyle: "none" },
14118
14247
  children: [
14119
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center justify-between mb-3", children: [
14120
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-2", children: [
14248
+ /* @__PURE__ */ jsxs64("div", { className: "flex items-center justify-between mb-3", children: [
14249
+ /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-2", children: [
14121
14250
  stateBadge(),
14122
14251
  /* @__PURE__ */ jsx79("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
14123
14252
  ] }),
14124
- /* @__PURE__ */ jsxs63(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
14253
+ /* @__PURE__ */ jsxs64(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
14125
14254
  /* @__PURE__ */ jsx79(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
14126
14255
  /* @__PURE__ */ jsx79("span", { className: "text-xs", children: "Refresh" })
14127
14256
  ] })
14128
14257
  ] }),
14129
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-2 mb-2", children: [
14258
+ /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-2 mb-2", children: [
14130
14259
  /* @__PURE__ */ jsx79("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
14131
14260
  /* @__PURE__ */ jsx79("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
14132
14261
  /* @__PURE__ */ jsx79(
@@ -14145,7 +14274,7 @@ var UserOpStatus = ({
14145
14274
  }
14146
14275
  )
14147
14276
  ] }),
14148
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-2 mb-3", children: [
14277
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-2 mb-3", children: [
14149
14278
  /* @__PURE__ */ jsx79("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
14150
14279
  /* @__PURE__ */ jsx79("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
14151
14280
  /* @__PURE__ */ jsx79(
@@ -14175,7 +14304,7 @@ var UserOpStatus = ({
14175
14304
  }
14176
14305
  )
14177
14306
  ] }),
14178
- receipt && /* @__PURE__ */ jsxs63("div", { className: "text-xs text-muted-foreground mb-3", children: [
14307
+ receipt && /* @__PURE__ */ jsxs64("div", { className: "text-xs text-muted-foreground mb-3", children: [
14179
14308
  "Block ",
14180
14309
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
14181
14310
  " \u2022 Gas Used",
@@ -14184,31 +14313,31 @@ var UserOpStatus = ({
14184
14313
  " \u2022 Success ",
14185
14314
  String(!!receipt.success)
14186
14315
  ] }),
14187
- /* @__PURE__ */ jsx79("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs63("span", { className: "ml-2", children: [
14316
+ /* @__PURE__ */ jsx79("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs64("span", { className: "ml-2", children: [
14188
14317
  "\u2022 Polling for ",
14189
14318
  Math.round((Date.now() - startTimeRef.current) / 1e3),
14190
14319
  "s"
14191
14320
  ] }) }),
14192
- mempool && /* @__PURE__ */ jsxs63("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
14193
- /* @__PURE__ */ jsxs63("div", { children: [
14321
+ mempool && /* @__PURE__ */ jsxs64("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
14322
+ /* @__PURE__ */ jsxs64("div", { children: [
14194
14323
  "Seen by bundler at ",
14195
14324
  /* @__PURE__ */ jsx79(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
14196
14325
  ] }),
14197
- /* @__PURE__ */ jsxs63("div", { children: [
14326
+ /* @__PURE__ */ jsxs64("div", { children: [
14198
14327
  "sender ",
14199
14328
  /* @__PURE__ */ jsx79(Address, { address: mempool.sender, chain, truncate: false })
14200
14329
  ] })
14201
14330
  ] }),
14202
- error && /* @__PURE__ */ jsxs63("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14331
+ error && /* @__PURE__ */ jsxs64("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14203
14332
  /* @__PURE__ */ jsx79(AlertCircle6, { className: "h-4 w-4" }),
14204
14333
  " ",
14205
14334
  error
14206
14335
  ] }),
14207
- rejected && /* @__PURE__ */ jsxs63("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14336
+ rejected && /* @__PURE__ */ jsxs64("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14208
14337
  /* @__PURE__ */ jsx79(AlertCircle6, { className: "h-4 w-4" }),
14209
14338
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
14210
14339
  ] }),
14211
- timedOut && /* @__PURE__ */ jsxs63("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14340
+ timedOut && /* @__PURE__ */ jsxs64("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14212
14341
  /* @__PURE__ */ jsx79(AlertCircle6, { className: "h-4 w-4" }),
14213
14342
  "Stopped polling after ",
14214
14343
  Math.round(maxPollTimeMs / 1e3),
@@ -14222,7 +14351,7 @@ var UserOpStatus = ({
14222
14351
  // src/internal/components/Hash.tsx
14223
14352
  import { Copy as Copy6, ExternalLink as ExternalLink3 } from "lucide-react";
14224
14353
  import * as React13 from "react";
14225
- import { jsx as jsx80, jsxs as jsxs64 } from "react/jsx-runtime";
14354
+ import { jsx as jsx80, jsxs as jsxs65 } from "react/jsx-runtime";
14226
14355
  function toExplorerUrl(kind, value, chain) {
14227
14356
  const base2 = chain?.blockExplorers?.default?.url;
14228
14357
  if (!base2) return null;
@@ -14247,7 +14376,7 @@ var Hash = ({
14247
14376
  const explorer = toExplorerUrl(kind, value, chain || void 0);
14248
14377
  const [copied, setCopied] = React13.useState(false);
14249
14378
  if (!value) return /* @__PURE__ */ jsx80("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
14250
- return /* @__PURE__ */ jsxs64("div", { className: cn2("flex items-center gap-2", className), children: [
14379
+ return /* @__PURE__ */ jsxs65("div", { className: cn2("flex items-center gap-2", className), children: [
14251
14380
  label && /* @__PURE__ */ jsx80("span", { className: "text-sm font-medium", children: label }),
14252
14381
  /* @__PURE__ */ jsx80("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
14253
14382
  showCopy && /* @__PURE__ */ jsx80(
@@ -14283,13 +14412,13 @@ var Hash = ({
14283
14412
 
14284
14413
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
14285
14414
  init_base();
14286
- import { useEffect as useEffect37, useState as useState21 } from "react";
14287
- import { jsx as jsx81, jsxs as jsxs65 } from "react/jsx-runtime";
14415
+ import { useEffect as useEffect38, useState as useState22 } from "react";
14416
+ import { jsx as jsx81, jsxs as jsxs66 } from "react/jsx-runtime";
14288
14417
  var TransactionsList = ({ address, itemsCount = 10 }) => {
14289
- const [transactions, setTransactions] = useState21([]);
14290
- const [loading, setLoading] = useState21(true);
14291
- const [error, setError] = useState21(null);
14292
- useEffect37(() => {
14418
+ const [transactions, setTransactions] = useState22([]);
14419
+ const [loading, setLoading] = useState22(true);
14420
+ const [error, setError] = useState22(null);
14421
+ useEffect38(() => {
14293
14422
  const fetchTransactions = async () => {
14294
14423
  try {
14295
14424
  setLoading(true);
@@ -14335,13 +14464,13 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
14335
14464
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
14336
14465
  };
14337
14466
  if (loading) {
14338
- return /* @__PURE__ */ jsxs65("div", { className: "p-4 text-center", children: [
14467
+ return /* @__PURE__ */ jsxs66("div", { className: "p-4 text-center", children: [
14339
14468
  /* @__PURE__ */ jsx81("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
14340
14469
  /* @__PURE__ */ jsx81("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
14341
14470
  ] });
14342
14471
  }
14343
14472
  if (error) {
14344
- return /* @__PURE__ */ jsxs65("div", { className: "p-4 text-center", children: [
14473
+ return /* @__PURE__ */ jsxs66("div", { className: "p-4 text-center", children: [
14345
14474
  /* @__PURE__ */ jsx81("p", { className: "text-red-600 text-sm", children: error }),
14346
14475
  /* @__PURE__ */ jsx81("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
14347
14476
  ] });
@@ -14349,15 +14478,15 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
14349
14478
  if (transactions.length === 0) {
14350
14479
  return /* @__PURE__ */ jsx81("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx81("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
14351
14480
  }
14352
- return /* @__PURE__ */ jsx81("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx81("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs65(
14481
+ return /* @__PURE__ */ jsx81("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx81("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs66(
14353
14482
  "div",
14354
14483
  {
14355
14484
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
14356
14485
  onClick: () => openTransaction(tx.hash),
14357
14486
  children: [
14358
- /* @__PURE__ */ jsxs65("div", { className: "flex justify-between items-start mb-2", children: [
14359
- /* @__PURE__ */ jsxs65("div", { className: "flex-1", children: [
14360
- /* @__PURE__ */ jsxs65("div", { className: "flex items-center space-x-2 mb-1", children: [
14487
+ /* @__PURE__ */ jsxs66("div", { className: "flex justify-between items-start mb-2", children: [
14488
+ /* @__PURE__ */ jsxs66("div", { className: "flex-1", children: [
14489
+ /* @__PURE__ */ jsxs66("div", { className: "flex items-center space-x-2 mb-1", children: [
14361
14490
  /* @__PURE__ */ jsx81("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
14362
14491
  /* @__PURE__ */ jsx81(
14363
14492
  "span",
@@ -14367,33 +14496,33 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
14367
14496
  }
14368
14497
  )
14369
14498
  ] }),
14370
- /* @__PURE__ */ jsxs65("div", { className: "text-sm space-y-1", children: [
14371
- /* @__PURE__ */ jsxs65("div", { children: [
14499
+ /* @__PURE__ */ jsxs66("div", { className: "text-sm space-y-1", children: [
14500
+ /* @__PURE__ */ jsxs66("div", { children: [
14372
14501
  /* @__PURE__ */ jsx81("span", { className: "text-gray-600", children: "From:" }),
14373
- /* @__PURE__ */ jsxs65("span", { className: "font-mono ml-1", children: [
14502
+ /* @__PURE__ */ jsxs66("span", { className: "font-mono ml-1", children: [
14374
14503
  formatAddress3(tx.from.hash),
14375
14504
  tx.from.is_contract && /* @__PURE__ */ jsx81("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
14376
14505
  ] })
14377
14506
  ] }),
14378
- /* @__PURE__ */ jsxs65("div", { children: [
14507
+ /* @__PURE__ */ jsxs66("div", { children: [
14379
14508
  /* @__PURE__ */ jsx81("span", { className: "text-gray-600", children: "To:" }),
14380
- /* @__PURE__ */ jsxs65("span", { className: "font-mono ml-1", children: [
14509
+ /* @__PURE__ */ jsxs66("span", { className: "font-mono ml-1", children: [
14381
14510
  formatAddress3(tx.to.hash),
14382
14511
  tx.to.is_contract && /* @__PURE__ */ jsx81("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
14383
14512
  ] })
14384
14513
  ] }),
14385
- /* @__PURE__ */ jsxs65("div", { children: [
14514
+ /* @__PURE__ */ jsxs66("div", { children: [
14386
14515
  /* @__PURE__ */ jsx81("span", { className: "text-gray-600", children: "Value:" }),
14387
- /* @__PURE__ */ jsxs65("span", { className: "font-semibold ml-1", children: [
14516
+ /* @__PURE__ */ jsxs66("span", { className: "font-semibold ml-1", children: [
14388
14517
  formatValue3(tx.value),
14389
14518
  " LUMIA"
14390
14519
  ] })
14391
14520
  ] })
14392
14521
  ] })
14393
14522
  ] }),
14394
- /* @__PURE__ */ jsxs65("div", { className: "text-right text-xs text-gray-500", children: [
14523
+ /* @__PURE__ */ jsxs66("div", { className: "text-right text-xs text-gray-500", children: [
14395
14524
  /* @__PURE__ */ jsx81("div", { children: formatDate3(tx.timestamp) }),
14396
- /* @__PURE__ */ jsxs65("div", { className: "mt-1", children: [
14525
+ /* @__PURE__ */ jsxs66("div", { className: "mt-1", children: [
14397
14526
  "Gas: ",
14398
14527
  parseInt(tx.gas_used).toLocaleString()
14399
14528
  ] }),