@lumiapassport/ui-kit 1.14.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -163,15 +163,10 @@ var init_lumiaPassport = __esm({
163
163
  title: "Sign in",
164
164
  subtitle: void 0,
165
165
  authOrder: ["passkey", "email", "social"],
166
- // fonts: {
167
- // base: 'system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif',
168
- // heading: 'system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif'
169
- // },
170
166
  branding: {
171
167
  tagline: "Lumia Passport MPC",
172
168
  link: { text: "Lumia Passport MPC", url: "/mpc-security" }
173
169
  }
174
- // modal: { width: '400px', borderRadius: '24px' }
175
170
  },
176
171
  network: {
177
172
  name: "Lumia Beam",
@@ -2455,7 +2450,6 @@ var init_iframe_manager = __esm({
2455
2450
  this.iframe = null;
2456
2451
  this.sessionToken = null;
2457
2452
  this.isReady = false;
2458
- // private themeColors?: IframeManagerConfig['themeColors']
2459
2453
  // Message handling
2460
2454
  this.pendingRequests = /* @__PURE__ */ new Map();
2461
2455
  this.usedNonces = /* @__PURE__ */ new Set();
@@ -2481,7 +2475,6 @@ var init_iframe_manager = __esm({
2481
2475
  this.log("[IframeManager] Initialized with:", {
2482
2476
  iframeUrl: this.iframeUrl,
2483
2477
  projectId: this.projectId
2484
- // hasThemeColors: !!this.themeColors
2485
2478
  });
2486
2479
  }
2487
2480
  /**
@@ -4288,17 +4281,17 @@ __export(index_exports, {
4288
4281
  module.exports = __toCommonJS(index_exports);
4289
4282
 
4290
4283
  // src/styles/built.css
4291
- 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-2{top:-.5rem}.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-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-\\[60\\]{z-index:60}.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 .-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-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 .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.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-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.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-\\[32px\\]{height:32px}.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-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.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-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-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.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-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.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-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.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 .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-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-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-blue-900\\/40{border-color:rgba(30,58,138,.4)}.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-800\\/80{border-color:rgba(153,27,27,.8)}.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-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-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-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-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.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-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.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-900\\/30{background-color:rgba(20,83,45,.3)}.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-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.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-2\\.5{padding:.625rem}.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-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-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.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-\\[11px\\]{font-size:11px}.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-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-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-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.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-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-400\\/80{color:rgba(96,165,250,.8)}.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-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.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-600\\/90{color:rgba(220,38,38,.9)}.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-4{text-underline-offset:4px}.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-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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 .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 .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-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,320px);--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,#c9c9c9);--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%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--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,.5));--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}.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;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px 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-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;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 .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\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.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 .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.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\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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 .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-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.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-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/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-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.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-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/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\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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 .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.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-100:disabled{opacity:1}.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\\: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-\\[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)}@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-0{padding-top:0;padding-bottom:0}}@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\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4284
+ 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-2{top:-.5rem}.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-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 .-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-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 .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.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-\\[32px\\]{height:32px}.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-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.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-\\[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 .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.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-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.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-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.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 .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-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-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-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-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-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-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-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-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.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-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-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-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-muted\\)\\]{color:var(--l-pass-muted)}.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-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-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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 .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-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,320px);--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,#c9c9c9);--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%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--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,.5));--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;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px 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;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 .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\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.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\\)\\]:hover{color:var(--l-pass-fg)}.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 .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.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\\: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-\\[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)}@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\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4292
4285
 
4293
4286
  // src/context/LumiaPassportContext.tsx
4294
4287
  var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
4295
4288
  var import_lodash_es4 = require("lodash-es");
4296
- var import_react49 = require("react");
4289
+ var import_react50 = require("react");
4297
4290
  init_lumiaPassport();
4298
4291
  init_iframe_manager();
4299
4292
 
4300
4293
  // src/context/LumiaPassportSessionContext.tsx
4301
- var import_react48 = require("react");
4294
+ var import_react49 = require("react");
4302
4295
  var import_zustand5 = require("zustand");
4303
4296
 
4304
4297
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
@@ -4467,12 +4460,12 @@ function BalanceFeedProvider() {
4467
4460
 
4468
4461
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4469
4462
  var import_framer_motion4 = require("framer-motion");
4470
- var import_react45 = require("react");
4463
+ var import_react46 = require("react");
4471
4464
 
4472
4465
  // package.json
4473
4466
  var package_default = {
4474
4467
  name: "@lumiapassport/ui-kit",
4475
- version: "1.14.0",
4468
+ version: "1.14.1",
4476
4469
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
4477
4470
  type: "module",
4478
4471
  main: "./dist/index.cjs",
@@ -5058,6 +5051,7 @@ var DialogOverlay = (0, import_react4.forwardRef)(
5058
5051
  ref,
5059
5052
  style: { backdropFilter: "blur(var(--l-pass-backdrop-blur))" },
5060
5053
  className: cn(
5054
+ "w-[100dvw] h-[100dvh]",
5061
5055
  "fixed inset-0 z-[9998] bg-[var(--l-pass-overlay)]",
5062
5056
  closing ? "animate-dialog-out" : "animate-dialog-in",
5063
5057
  className
@@ -5070,7 +5064,7 @@ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
5070
5064
  function useDecideContentStyles() {
5071
5065
  const isMobileView = useLayoutStore((st) => st.isMobileView);
5072
5066
  const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogClosing);
5073
- const mobileStyles = isMobileView ? { "--l-pass-maw": "100%", "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
5067
+ const mobileStyles = isMobileView ? { "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
5074
5068
  return {
5075
5069
  isClosing,
5076
5070
  isMobileView,
@@ -5088,15 +5082,17 @@ var DialogContent = (0, import_react4.forwardRef)(
5088
5082
  const setPage = useLayoutDataStore((st) => st.setPage);
5089
5083
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
5090
5084
  const { isMobileView, isClosing, style } = useDecideContentStyles();
5091
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "lumia-scope", "data-lumia-passport-mode": colorMode, style, children: [
5085
+ const animationCnPrefix = isMobileView ? "animate-mobile-dialog" : "animate-dialog";
5086
+ const dialogAnimationCn = isClosing ? `${animationCnPrefix}-out` : `${animationCnPrefix}-in`;
5087
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "lumia-scope", "data-lumia-passport-mode": colorMode, style: { ...style, outline: "none" }, children: [
5092
5088
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogOverlay, { closing: isClosing }),
5093
5089
  /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
5094
5090
  "div",
5095
5091
  {
5096
5092
  className: cn(
5097
- "fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none",
5098
- isClosing ? "animate-dialog-out" : "animate-dialog-in",
5099
- isMobileView ? "items-end" : "items-center"
5093
+ "fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none outline-none",
5094
+ dialogAnimationCn,
5095
+ isMobileView ? "items-end w-[100dvw] h-[100dvh]" : "items-center w-[var(--l-pass-maw)] mx-auto"
5100
5096
  ),
5101
5097
  children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
5102
5098
  DialogPrimitive.Content,
@@ -5104,10 +5100,10 @@ var DialogContent = (0, import_react4.forwardRef)(
5104
5100
  ref,
5105
5101
  style: !!className ? void 0 : CONTENT_BG_SETUP,
5106
5102
  className: cn(
5107
- "relative pointer-events-auto w-full",
5108
- "max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
5109
- "text-[var(--l-pass-fg)]",
5103
+ "relative pointer-events-auto max-h-[95dvh] outline-none",
5104
+ "p-0 gap-0 text-[var(--l-pass-fg)]",
5110
5105
  "rounded-[var(--l-pass-bdrs)] overflow-hidden",
5106
+ isMobileView ? "w-[100dvw]" : "w-[var(--l-pass-maw)]",
5111
5107
  className
5112
5108
  ),
5113
5109
  ...props,
@@ -5227,7 +5223,7 @@ function useAutoConnect() {
5227
5223
  }
5228
5224
  return { session: sess, address: addr };
5229
5225
  } catch (error) {
5230
- if (error?.code !== "KEYSHARE_RECOVERY_NEEDED") {
5226
+ if (error?.code === "KEYSHARE_RECOVERY_NEEDED") {
5231
5227
  setStatus("idle");
5232
5228
  setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
5233
5229
  }
@@ -5342,7 +5338,9 @@ function useAutoConnect() {
5342
5338
  setError(null);
5343
5339
  setStatus("recovery_needed");
5344
5340
  setIsLoading(false);
5345
- setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
5341
+ setTimeout(() => {
5342
+ setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
5343
+ }, 500);
5346
5344
  } else {
5347
5345
  console.warn("[UI-KIT][AutoConnect] Unexpected error during auto-connect:", e);
5348
5346
  setIsLoading(false);
@@ -5356,43 +5354,56 @@ function useAutoConnect() {
5356
5354
  }
5357
5355
 
5358
5356
  // src/internal/hooks/useBackupStatusChanges.ts
5357
+ var import_react_query4 = require("@tanstack/react-query");
5359
5358
  var import_react6 = require("react");
5360
5359
  init_vaultClient();
5360
+ var NO_BACKUP_WARN_DELAY_MS = 5e3;
5361
5361
  function useBackupStatusChanges() {
5362
5362
  const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
5363
- (0, import_react6.useEffect)(() => {
5364
- const handleBackupStatusChanged = async (event) => {
5363
+ const noBackupWarnTimeout = (0, import_react6.useRef)(null);
5364
+ const { mutate: handleBackupStatusChanged } = (0, import_react_query4.useMutation)({
5365
+ mutationFn: async (event) => {
5365
5366
  const customEvent = event;
5366
- const { method, success } = customEvent.detail || {};
5367
- console.log("[ConnectWalletButton] Backup status changed:", {
5368
- method,
5369
- success
5370
- });
5371
- if (method === "server" && success) {
5372
- try {
5373
- const stats = await getShareRecoveryStats();
5374
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
5375
- setHasServerVault(!!hasRecoveryData);
5376
- } catch (e) {
5377
- console.warn("[UI-KIT] Failed to refresh vault status after backup:", e);
5378
- }
5367
+ console.log("[BACKUP STATUS] changed:", customEvent.detail);
5368
+ const stats = await getShareRecoveryStats();
5369
+ return stats && (!!stats.created || !!stats?.devices?.length);
5370
+ },
5371
+ onSuccess: (hasRecoveryData) => {
5372
+ if (!!noBackupWarnTimeout.current) {
5373
+ clearTimeout(noBackupWarnTimeout.current);
5374
+ noBackupWarnTimeout.current = null;
5379
5375
  }
5380
- };
5376
+ if (!!hasRecoveryData) {
5377
+ setHasServerVault(true);
5378
+ } else {
5379
+ noBackupWarnTimeout.current = setTimeout(() => {
5380
+ setHasServerVault(false);
5381
+ console.warn("[BACKUP STATUS] No recovery data found in vault, marking as no-server-vault");
5382
+ noBackupWarnTimeout.current = null;
5383
+ }, NO_BACKUP_WARN_DELAY_MS);
5384
+ }
5385
+ },
5386
+ onError: (error) => {
5387
+ setHasServerVault(false);
5388
+ console.warn("[BACKUP STATUS] Failed to fetch initial vault status:", error);
5389
+ }
5390
+ });
5391
+ (0, import_react6.useEffect)(() => {
5381
5392
  window.addEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
5382
5393
  return () => {
5383
5394
  window.removeEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
5384
5395
  };
5385
- }, [setHasServerVault]);
5396
+ }, []);
5386
5397
  }
5387
5398
 
5388
5399
  // src/internal/hooks/useCheckVaultStatus.ts
5389
- var import_react_query4 = require("@tanstack/react-query");
5400
+ var import_react_query5 = require("@tanstack/react-query");
5390
5401
  var import_react7 = require("react");
5391
5402
  init_vaultClient();
5392
5403
  function useCheckVaultStatus() {
5393
5404
  const address = useLumiaPassportSession((st) => st.address);
5394
5405
  const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
5395
- const { mutate: checkVaultStatus } = (0, import_react_query4.useMutation)({
5406
+ const { mutate: checkVaultStatus } = (0, import_react_query5.useMutation)({
5396
5407
  mutationFn: async () => {
5397
5408
  const stats = await getShareRecoveryStats();
5398
5409
  const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
@@ -5436,12 +5447,12 @@ function useDetectMaxScrollHeight() {
5436
5447
  }
5437
5448
 
5438
5449
  // src/internal/hooks/usePageMapper.tsx
5439
- var import_react42 = require("react");
5450
+ var import_react43 = require("react");
5440
5451
 
5441
5452
  // src/internal/components/AuthMenu/AuthMenu.tsx
5442
5453
  var import_framer_motion = require("framer-motion");
5443
5454
  var import_lucide_react14 = require("lucide-react");
5444
- var import_react18 = require("react");
5455
+ var import_react19 = require("react");
5445
5456
 
5446
5457
  // src/internal/components/AuthMenu/AuthFailedStep.tsx
5447
5458
  var import_lucide_react6 = require("lucide-react");
@@ -6001,12 +6012,13 @@ function PassKeyStep(props) {
6001
6012
 
6002
6013
  // src/internal/components/AuthMenu/SignInStep/SignInStep.tsx
6003
6014
  var import_lucide_react12 = require("lucide-react");
6004
- var import_react14 = require("react");
6015
+ var import_react15 = require("react");
6005
6016
 
6006
6017
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
6007
6018
  init_lumiaPassport();
6008
- var import_react_query5 = require("@tanstack/react-query");
6019
+ var import_react_query6 = require("@tanstack/react-query");
6009
6020
  var import_lucide_react9 = require("lucide-react");
6021
+ var import_react13 = require("react");
6010
6022
  init_projectId();
6011
6023
 
6012
6024
  // src/internal/components/ui/highlight.tsx
@@ -6023,7 +6035,7 @@ function Highlight(props) {
6023
6035
  "div",
6024
6036
  {
6025
6037
  className: cn(
6026
- "w-full text-xs rounded-[var(--l-pass-el-bdrs)] p-[var(--l-pass-pd)]",
6038
+ "w-full text-xs rounded-[var(--l-pass-el-bdrs)] p-[var(--l-pass-pd)] whitespace-pre-wrap break-all",
6027
6039
  CARD_STYLES[type],
6028
6040
  className
6029
6041
  ),
@@ -6035,14 +6047,12 @@ function Highlight(props) {
6035
6047
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
6036
6048
  var import_jsx_runtime19 = require("react/jsx-runtime");
6037
6049
  function Email() {
6038
- const {
6039
- config: { current: config },
6040
- callbacks
6041
- } = useLumiaPassportConfig();
6050
+ const { config, callbacks } = useLumiaPassportConfig();
6051
+ const buttonRef = (0, import_react13.useRef)(null);
6042
6052
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
6043
6053
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6044
6054
  const { email, codeSendError, alert: alert2, setEmail, setCodeSendError, setExpiresIn, setStep, setAlert } = useAuthStore();
6045
- const { mutate: onSendVerificationCode } = (0, import_react_query5.useMutation)({
6055
+ const { mutate: onSendVerificationCode } = (0, import_react_query6.useMutation)({
6046
6056
  mutationFn: async (mail) => {
6047
6057
  const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
6048
6058
  if (!isEmailValid) {
@@ -6082,35 +6092,48 @@ function Email() {
6082
6092
  }
6083
6093
  });
6084
6094
  return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
6085
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "w-full flex gap-[10px] items-center", children: [
6086
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
6087
- Input,
6088
- {
6089
- name: "signin-email",
6090
- Icon: import_lucide_react9.Mail,
6091
- type: "email",
6092
- autoComplete: "off",
6093
- placeholder: config.email.placeholder,
6094
- value: email,
6095
- className: "flex-1 w-full",
6096
- onChange: (e) => {
6097
- if (alert2) setAlert(null);
6098
- setEmail(e.target.value);
6095
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
6096
+ "div",
6097
+ {
6098
+ className: "w-full flex gap-[10px] items-center",
6099
+ onKeyDown: (e) => {
6100
+ if (e.key === "Enter" && !isLoading && email) {
6101
+ buttonRef.current?.click();
6099
6102
  }
6100
- }
6101
- ),
6102
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
6103
- Button,
6104
- {
6105
- className: "w-12 h-12 flex-none",
6106
- variant: "default",
6107
- size: "large",
6108
- disabled: !email || isLoading,
6109
- onClick: () => onSendVerificationCode(email),
6110
- children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react9.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react9.ChevronRight, { className: "w-4 h-4" })
6111
- }
6112
- )
6113
- ] }),
6103
+ },
6104
+ children: [
6105
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
6106
+ Input,
6107
+ {
6108
+ name: "signin-email",
6109
+ Icon: import_lucide_react9.Mail,
6110
+ type: "email",
6111
+ autoComplete: "off",
6112
+ placeholder: config.current?.email?.placeholder || "Enter your email",
6113
+ value: email,
6114
+ disabled: isLoading,
6115
+ className: "flex-1 w-full",
6116
+ onChange: (e) => {
6117
+ if (alert2) setAlert(null);
6118
+ setEmail(e.target.value);
6119
+ }
6120
+ }
6121
+ ),
6122
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
6123
+ Button,
6124
+ {
6125
+ ref: buttonRef,
6126
+ className: "w-12 h-12 flex-none",
6127
+ variant: "default",
6128
+ size: "large",
6129
+ disabled: !email || isLoading,
6130
+ onClick: () => onSendVerificationCode(email),
6131
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react9.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react9.ChevronRight, { className: "w-4 h-4" })
6132
+ }
6133
+ )
6134
+ ]
6135
+ }
6136
+ ),
6114
6137
  !!codeSendError && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
6115
6138
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react9.Mail, { className: "w-4 h-4" }),
6116
6139
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: codeSendError })
@@ -6134,7 +6157,7 @@ function ErrorAlert(props) {
6134
6157
 
6135
6158
  // src/internal/components/AuthMenu/SignInStep/Social.tsx
6136
6159
  var import_lucide_react11 = require("lucide-react");
6137
- var import_react13 = require("react");
6160
+ var import_react14 = require("react");
6138
6161
  init_assets();
6139
6162
  init_lumiaPassport();
6140
6163
  init_auth();
@@ -6225,7 +6248,7 @@ function Social(props) {
6225
6248
  setPasskeyError,
6226
6249
  setPasskeyStatus
6227
6250
  } = useAuthStore();
6228
- const onSocialAuth = (0, import_react13.useCallback)(
6251
+ const onSocialAuth = (0, import_react14.useCallback)(
6229
6252
  async (providerId) => {
6230
6253
  const normalizedProviderId = providerId.toLowerCase();
6231
6254
  const provider = config.current?.social?.providers?.find(
@@ -6636,7 +6659,7 @@ function SignInStep(props) {
6636
6659
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-bold text-xl leading-6", children: "Sign In" })
6637
6660
  ] }),
6638
6661
  /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
6639
- enabledWoPasskey.map((kind, idx) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react14.Fragment, { children: [
6662
+ enabledWoPasskey.map((kind, idx) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react15.Fragment, { children: [
6640
6663
  idx > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center", children: [
6641
6664
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
6642
6665
  /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex-none px-2 text-xs leading-4", children: "Or sign in using" }),
@@ -6663,19 +6686,19 @@ function SignInStep(props) {
6663
6686
  }
6664
6687
 
6665
6688
  // src/internal/components/AuthMenu/useAuthMenuHanders.ts
6666
- var import_react15 = require("react");
6689
+ var import_react16 = require("react");
6667
6690
  init_auth();
6668
6691
  function useAuthMenuHandlers() {
6669
6692
  const {
6670
6693
  config: { current: config },
6671
6694
  callbacks
6672
6695
  } = useLumiaPassportConfig();
6673
- const pendingLoginResponseRef = (0, import_react15.useRef)(null);
6696
+ const pendingLoginResponseRef = (0, import_react16.useRef)(null);
6674
6697
  const setPage = useLayoutDataStore((st) => st.setPage);
6675
- const [telegramCleanup, setTelegramCleanup] = (0, import_react15.useState)(null);
6698
+ const [telegramCleanup, setTelegramCleanup] = (0, import_react16.useState)(null);
6676
6699
  const { usePaymaster, setError, setStatus, setSession, setAddress, setRecoveryUserId, setHasServerVault } = useLumiaPassportSession();
6677
6700
  const { setStep, setVerificationError, setCodeSendError, setFailedMessage } = useAuthStore();
6678
- const createSessionWithKeyshare = (0, import_react15.useCallback)(
6701
+ const createSessionWithKeyshare = (0, import_react16.useCallback)(
6679
6702
  async (userId, hasServerKeyshare, isNewUser) => {
6680
6703
  try {
6681
6704
  try {
@@ -6709,7 +6732,7 @@ function useAuthMenuHandlers() {
6709
6732
  },
6710
6733
  [setStatus, callbacks, usePaymaster]
6711
6734
  );
6712
- const onAuthSuccess = (0, import_react15.useCallback)(async () => {
6735
+ const onAuthSuccess = (0, import_react16.useCallback)(async () => {
6713
6736
  console.log("[ConnectWalletButton] handleAuthModalSuccess called");
6714
6737
  const loginResponse = pendingLoginResponseRef.current;
6715
6738
  console.log("[ConnectWalletButton] loginResponse:", loginResponse);
@@ -6782,7 +6805,9 @@ function useAuthMenuHandlers() {
6782
6805
  setError(null);
6783
6806
  setRecoveryUserId(userId);
6784
6807
  setStatus("recovery_needed");
6785
- setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
6808
+ setTimeout(() => {
6809
+ setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
6810
+ }, 500);
6786
6811
  } else {
6787
6812
  pendingLoginResponseRef.current = null;
6788
6813
  await import_auth3.jwtTokenManager.clearTokens();
@@ -6804,7 +6829,7 @@ function useAuthMenuHandlers() {
6804
6829
  setHasServerVault,
6805
6830
  createSessionWithKeyshare
6806
6831
  ]);
6807
- const checkDisplayNameRequired = (0, import_react15.useCallback)(
6832
+ const checkDisplayNameRequired = (0, import_react16.useCallback)(
6808
6833
  async (loginResponse) => {
6809
6834
  if (!config.features.displayNameNeeded) {
6810
6835
  return false;
@@ -6831,7 +6856,7 @@ function useAuthMenuHandlers() {
6831
6856
  },
6832
6857
  [config.features.displayNameNeeded]
6833
6858
  );
6834
- const goBackToSignIn = (0, import_react15.useCallback)(() => {
6859
+ const goBackToSignIn = (0, import_react16.useCallback)(() => {
6835
6860
  setStep("signin");
6836
6861
  setVerificationError("");
6837
6862
  setCodeSendError("");
@@ -6849,11 +6874,11 @@ function useAuthMenuHandlers() {
6849
6874
  }
6850
6875
 
6851
6876
  // src/internal/components/AuthMenu/useListenIframeAuthEvents.ts
6852
- var import_react16 = require("react");
6877
+ var import_react17 = require("react");
6853
6878
  function useListenIframeAuthEvents() {
6854
6879
  const setPage = useLayoutDataStore((state) => state.setPage);
6855
6880
  const setIsIframeReady = useLumiaPassportSession((state) => state.setIsIframeReady);
6856
- const handleIframeMessage = (0, import_react16.useCallback)(
6881
+ const handleIframeMessage = (0, import_react17.useCallback)(
6857
6882
  (event) => {
6858
6883
  console.log("[AuthMenu] Received iframe message:", event.data);
6859
6884
  if (event.data?.type === "LUMIA_PASSPORT_IFRAME_READY") {
@@ -6871,7 +6896,7 @@ function useListenIframeAuthEvents() {
6871
6896
  },
6872
6897
  [setPage, setIsIframeReady]
6873
6898
  );
6874
- (0, import_react16.useEffect)(() => {
6899
+ (0, import_react17.useEffect)(() => {
6875
6900
  window.addEventListener("message", handleIframeMessage);
6876
6901
  return () => window.removeEventListener("message", handleIframeMessage);
6877
6902
  }, [handleIframeMessage]);
@@ -6879,7 +6904,7 @@ function useListenIframeAuthEvents() {
6879
6904
 
6880
6905
  // src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
6881
6906
  init_lumiaPassport();
6882
- var import_react_query6 = require("@tanstack/react-query");
6907
+ var import_react_query7 = require("@tanstack/react-query");
6883
6908
  var import_lucide_react13 = require("lucide-react");
6884
6909
 
6885
6910
  // src/internal/assets/OtpIcon.tsx
@@ -6900,21 +6925,21 @@ init_auth();
6900
6925
  init_projectId();
6901
6926
 
6902
6927
  // src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
6903
- var import_react17 = require("react");
6928
+ var import_react18 = require("react");
6904
6929
  var import_jsx_runtime24 = require("react/jsx-runtime");
6905
6930
  var VerificationCodeInput = (props) => {
6906
6931
  const { onVerifyCode, onResendCode, isLoading, expiresIn, error } = props;
6907
6932
  const setVerificationError = useAuthStore((st) => st.setVerificationError);
6908
- const [timeLeft, setTimeLeft] = (0, import_react17.useState)(expiresIn);
6909
- (0, import_react17.useEffect)(() => setTimeLeft(expiresIn), [expiresIn]);
6910
- (0, import_react17.useEffect)(() => {
6933
+ const [timeLeft, setTimeLeft] = (0, import_react18.useState)(expiresIn);
6934
+ (0, import_react18.useEffect)(() => setTimeLeft(expiresIn), [expiresIn]);
6935
+ (0, import_react18.useEffect)(() => {
6911
6936
  const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
6912
6937
  return () => clearInterval(t);
6913
6938
  }, []);
6914
- const lastSubmittedRef = (0, import_react17.useRef)(null);
6915
- const inputsRef = (0, import_react17.useRef)([]);
6916
- const [digits, setDigits] = (0, import_react17.useState)(["", "", "", "", "", ""]);
6917
- (0, import_react17.useEffect)(() => {
6939
+ const lastSubmittedRef = (0, import_react18.useRef)(null);
6940
+ const inputsRef = (0, import_react18.useRef)([]);
6941
+ const [digits, setDigits] = (0, import_react18.useState)(["", "", "", "", "", ""]);
6942
+ (0, import_react18.useEffect)(() => {
6918
6943
  const code = digits.join("");
6919
6944
  if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
6920
6945
  if (lastSubmittedRef.current !== code) {
@@ -6923,7 +6948,7 @@ var VerificationCodeInput = (props) => {
6923
6948
  }
6924
6949
  }
6925
6950
  }, [digits, isLoading, onVerifyCode]);
6926
- (0, import_react17.useEffect)(() => {
6951
+ (0, import_react18.useEffect)(() => {
6927
6952
  const t = setTimeout(() => {
6928
6953
  inputsRef.current[0]?.focus();
6929
6954
  }, 0);
@@ -7048,7 +7073,7 @@ function VerifyStep(props) {
7048
7073
  setEmail,
7049
7074
  setExpiresIn
7050
7075
  } = useAuthStore();
7051
- const { mutate: onVerifyCode, isPending: isCodeVerifying } = (0, import_react_query6.useMutation)({
7076
+ const { mutate: onVerifyCode, isPending: isCodeVerifying } = (0, import_react_query7.useMutation)({
7052
7077
  mutationFn: async (code) => {
7053
7078
  setIsLoading(true);
7054
7079
  setVerificationError("");
@@ -7121,7 +7146,7 @@ function VerifyStep(props) {
7121
7146
  setIsLoading(false);
7122
7147
  }
7123
7148
  });
7124
- const { mutate: onResendCode, isPending: isCodeResending } = (0, import_react_query6.useMutation)({
7149
+ const { mutate: onResendCode, isPending: isCodeResending } = (0, import_react_query7.useMutation)({
7125
7150
  mutationFn: async () => {
7126
7151
  setVerificationError("");
7127
7152
  setIsLoading(true);
@@ -7199,7 +7224,7 @@ var AuthMenu = () => {
7199
7224
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
7200
7225
  const page = useLayoutDataStore((st) => st.page);
7201
7226
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
7202
- (0, import_react18.useEffect)(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
7227
+ (0, import_react19.useEffect)(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
7203
7228
  const {
7204
7229
  step,
7205
7230
  setStep,
@@ -7210,7 +7235,7 @@ var AuthMenu = () => {
7210
7235
  setFailedMessage,
7211
7236
  setCodeSendError
7212
7237
  } = useAuthStore();
7213
- (0, import_react18.useEffect)(() => {
7238
+ (0, import_react19.useEffect)(() => {
7214
7239
  if (page !== "auth" /* AUTH */) {
7215
7240
  setStep("signin");
7216
7241
  setEmail("");
@@ -7229,7 +7254,7 @@ var AuthMenu = () => {
7229
7254
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Initializing wallet..." })
7230
7255
  ] });
7231
7256
  }
7232
- const stepContent = (0, import_react18.useMemo)(
7257
+ const stepContent = (0, import_react19.useMemo)(
7233
7258
  () => ({
7234
7259
  "failed": /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(AuthFailedStep, {}),
7235
7260
  "display-name": /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DisplayNameStep, { onAuthSuccess }),
@@ -7375,9 +7400,9 @@ function RampnowIcon() {
7375
7400
  }
7376
7401
 
7377
7402
  // src/internal/components/BuyMenu/binance/Binance.tsx
7378
- var import_react_query7 = require("@tanstack/react-query");
7403
+ var import_react_query8 = require("@tanstack/react-query");
7379
7404
  var import_lucide_react15 = require("lucide-react");
7380
- var import_react20 = require("react");
7405
+ var import_react21 = require("react");
7381
7406
 
7382
7407
  // src/internal/components/BuyMenu/components/PaymentSelector.tsx
7383
7408
  var import_jsx_runtime29 = require("react/jsx-runtime");
@@ -7474,7 +7499,7 @@ async function createPreorderMutation(payload) {
7474
7499
  }
7475
7500
 
7476
7501
  // src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
7477
- var import_react19 = require("react");
7502
+ var import_react20 = require("react");
7478
7503
 
7479
7504
  // src/internal/components/BuyMenu/binance/utils.ts
7480
7505
  function getPayMethodID(pm) {
@@ -7494,7 +7519,7 @@ function handleErrors(errors) {
7494
7519
  // src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
7495
7520
  var useQueriesErrorHandler = (errors, stateUpdater) => {
7496
7521
  const { error: errorTitle, message: errorMessage } = handleErrors(errors);
7497
- (0, import_react19.useEffect)(() => {
7522
+ (0, import_react20.useEffect)(() => {
7498
7523
  if (!errorTitle && !errorMessage) return;
7499
7524
  console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
7500
7525
  stateUpdater(1);
@@ -7519,12 +7544,12 @@ function Binance(props) {
7519
7544
  setMinAmount,
7520
7545
  setSrcInputAmount
7521
7546
  } = control;
7522
- const qc = (0, import_react_query7.useQueryClient)();
7547
+ const qc = (0, import_react_query8.useQueryClient)();
7523
7548
  const {
7524
7549
  data: lumiaNetwork,
7525
7550
  isLoading: isLumiaNetworkLoading,
7526
7551
  error: lumiaNetworkError
7527
- } = (0, import_react_query7.useQuery)({
7552
+ } = (0, import_react_query8.useQuery)({
7528
7553
  retry: false,
7529
7554
  enabled: !!walletAddress,
7530
7555
  queryKey: [QUERY_KEYS2.binanceNetworksQuery, walletAddress],
@@ -7535,27 +7560,27 @@ function Binance(props) {
7535
7560
  data: paymentModes = null,
7536
7561
  isLoading: isPaymentModesLoading,
7537
7562
  error: paymentMethodsError
7538
- } = (0, import_react_query7.useQuery)({
7563
+ } = (0, import_react_query8.useQuery)({
7539
7564
  retry: false,
7540
7565
  enabled: !!isLumiaAvailable && !!walletAddress,
7541
7566
  // && srcQueryAmount > 0,
7542
7567
  queryKey: [QUERY_KEYS2.binancePaymentModes, walletAddress, isLumiaAvailable, srcQueryAmount],
7543
7568
  queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
7544
7569
  });
7545
- const lastLoadedPaymentModes = (0, import_react20.useRef)([]);
7546
- (0, import_react20.useEffect)(() => {
7570
+ const lastLoadedPaymentModes = (0, import_react21.useRef)([]);
7571
+ (0, import_react21.useEffect)(() => {
7547
7572
  if (!paymentModes?.length) return;
7548
7573
  setPaymentMode(getPayMethodID(paymentModes[0]));
7549
7574
  lastLoadedPaymentModes.current = paymentModes;
7550
7575
  }, [paymentModes]);
7551
7576
  const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
7552
7577
  const minimum = Number(selectedPaymentMode?.fiatMinLimit || "0");
7553
- (0, import_react20.useEffect)(() => setMinAmount(minimum), [minimum]);
7578
+ (0, import_react21.useEffect)(() => setMinAmount(minimum), [minimum]);
7554
7579
  const {
7555
7580
  data: quoteData = null,
7556
7581
  isLoading: isQuoteDataLoading,
7557
7582
  error: quoteError
7558
- } = (0, import_react_query7.useQuery)({
7583
+ } = (0, import_react_query8.useQuery)({
7559
7584
  retry: false,
7560
7585
  enabled: !!walletAddress && srcQueryAmount > 0 && minimum > 0 && srcQueryAmount >= minimum,
7561
7586
  queryKey: [QUERY_KEYS2.binanceQuote, walletAddress, selectedPaymentMode, srcQueryAmount],
@@ -7571,7 +7596,7 @@ function Binance(props) {
7571
7596
  [lumiaNetworkError, paymentMethodsError, quoteError],
7572
7597
  setSrcInputAmount
7573
7598
  );
7574
- const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0, import_react_query7.useMutation)({
7599
+ const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0, import_react_query8.useMutation)({
7575
7600
  mutationFn: async () => {
7576
7601
  setRedirecting(true);
7577
7602
  const returnUrl = window.location.href.split("?")[0];
@@ -7595,7 +7620,7 @@ function Binance(props) {
7595
7620
  setRedirecting(false);
7596
7621
  }
7597
7622
  });
7598
- (0, import_react20.useEffect)(() => {
7623
+ (0, import_react21.useEffect)(() => {
7599
7624
  return () => {
7600
7625
  qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceNetworksQuery] });
7601
7626
  qc.resetQueries({ queryKey: [QUERY_KEYS2.binancePaymentModes] });
@@ -7644,7 +7669,7 @@ function Binance(props) {
7644
7669
  {
7645
7670
  size: "large",
7646
7671
  disabled: isContinueDisabled,
7647
- className: cn("w-full h-12", { "cursor-pointer": !isContinueDisabled }),
7672
+ className: cn("w-full h-12 flex-none", { "cursor-pointer": !isContinueDisabled }),
7648
7673
  variant: "default",
7649
7674
  onClick: () => checkoutFundWalletOrder(),
7650
7675
  children: [
@@ -7657,9 +7682,9 @@ function Binance(props) {
7657
7682
  }
7658
7683
 
7659
7684
  // src/internal/components/BuyMenu/rampnow/Rampnow.tsx
7660
- var import_react_query8 = require("@tanstack/react-query");
7685
+ var import_react_query9 = require("@tanstack/react-query");
7661
7686
  var import_lucide_react16 = require("lucide-react");
7662
- var import_react21 = require("react");
7687
+ var import_react22 = require("react");
7663
7688
 
7664
7689
  // src/internal/components/BuyMenu/rampnow/api.ts
7665
7690
  init_iframe_manager();
@@ -7723,8 +7748,8 @@ function Rampnow(props) {
7723
7748
  setSrcInputAmount,
7724
7749
  setMinAmount
7725
7750
  } = control;
7726
- const qc = (0, import_react_query8.useQueryClient)();
7727
- (0, import_react21.useEffect)(() => {
7751
+ const qc = (0, import_react_query9.useQueryClient)();
7752
+ (0, import_react22.useEffect)(() => {
7728
7753
  setMinAmount(MINIMUM_RAMP_AMOUNT);
7729
7754
  setPaymentMode(PAYMENT_MODES[0].id);
7730
7755
  }, []);
@@ -7732,7 +7757,7 @@ function Rampnow(props) {
7732
7757
  data: configData,
7733
7758
  isLoading: isConfigLoading,
7734
7759
  error: configError
7735
- } = (0, import_react_query8.useQuery)({
7760
+ } = (0, import_react_query9.useQuery)({
7736
7761
  retry: false,
7737
7762
  enabled: !!walletAddress,
7738
7763
  queryKey: [QUERY_KEYS2.getRampNowConfig, walletAddress],
@@ -7742,7 +7767,7 @@ function Rampnow(props) {
7742
7767
  data: quoteData,
7743
7768
  isLoading: isQuoteDataLoading,
7744
7769
  error: quoteError
7745
- } = (0, import_react_query8.useQuery)({
7770
+ } = (0, import_react_query9.useQuery)({
7746
7771
  retry: false,
7747
7772
  enabled: !!configData && !!walletAddress && !!paymentMode && srcQueryAmount >= MINIMUM_RAMP_AMOUNT,
7748
7773
  queryKey: [QUERY_KEYS2.getRampNowQuote, walletAddress, srcQueryAmount, paymentMode],
@@ -7752,7 +7777,7 @@ function Rampnow(props) {
7752
7777
  paymentMode
7753
7778
  })
7754
7779
  });
7755
- const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0, import_react_query8.useMutation)({
7780
+ const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0, import_react_query9.useMutation)({
7756
7781
  mutationFn: async () => {
7757
7782
  if (!configData?.apiKey?.length || !configData?.orderUrl?.length) {
7758
7783
  throw new Error("RampNow order service is not available");
@@ -7781,7 +7806,7 @@ function Rampnow(props) {
7781
7806
  console.error("Create CheckoutOrder failed:", err);
7782
7807
  }
7783
7808
  });
7784
- (0, import_react21.useEffect)(() => {
7809
+ (0, import_react22.useEffect)(() => {
7785
7810
  return () => {
7786
7811
  qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowConfig] });
7787
7812
  qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowQuote] });
@@ -7827,7 +7852,7 @@ function Rampnow(props) {
7827
7852
  {
7828
7853
  size: "large",
7829
7854
  disabled: isContinueDisabled,
7830
- className: cn("w-full h-12", { "cursor-pointer": !isContinueDisabled }),
7855
+ className: cn("w-full h-12 flex-none", { "cursor-pointer": !isContinueDisabled }),
7831
7856
  variant: "default",
7832
7857
  onClick: () => checkoutFundWalletOrder(),
7833
7858
  children: [
@@ -7863,7 +7888,7 @@ var RAMP_PROVIDERS = {
7863
7888
  var REDIRECT_TIMEOUT_MS = 1500;
7864
7889
 
7865
7890
  // src/internal/components/BuyMenu/useSelectables.ts
7866
- var import_react22 = require("react");
7891
+ var import_react23 = require("react");
7867
7892
 
7868
7893
  // src/internal/utils/debounce.ts
7869
7894
  function debounce2(func, waitFor) {
@@ -7877,14 +7902,14 @@ function debounce2(func, waitFor) {
7877
7902
  // src/internal/components/BuyMenu/useSelectables.ts
7878
7903
  var ON_INPUT_QUERY_DELAY = 2e3;
7879
7904
  var useSelectables = () => {
7880
- const [redirecting, setRedirecting] = (0, import_react22.useState)(false);
7881
- const [rampProvider, setrRampProvider] = (0, import_react22.useState)("binance");
7882
- const [minAmount, setMinAmount] = (0, import_react22.useState)(0);
7883
- const inputRef = (0, import_react22.useRef)(null);
7884
- const [srcQueryAmount, setSrcQueryAmount] = (0, import_react22.useState)(0);
7885
- const [srcInputAmount, setSrcInputAmount] = (0, import_react22.useState)(0);
7886
- const [paymentMode, setPaymentMode] = (0, import_react22.useState)(null);
7887
- const setQueryAmountDebounced = (0, import_react22.useCallback)(
7905
+ const [redirecting, setRedirecting] = (0, import_react23.useState)(false);
7906
+ const [rampProvider, setrRampProvider] = (0, import_react23.useState)("binance");
7907
+ const [minAmount, setMinAmount] = (0, import_react23.useState)(0);
7908
+ const inputRef = (0, import_react23.useRef)(null);
7909
+ const [srcQueryAmount, setSrcQueryAmount] = (0, import_react23.useState)(0);
7910
+ const [srcInputAmount, setSrcInputAmount] = (0, import_react23.useState)(0);
7911
+ const [paymentMode, setPaymentMode] = (0, import_react23.useState)(null);
7912
+ const setQueryAmountDebounced = (0, import_react23.useCallback)(
7888
7913
  debounce2((inputAmount) => {
7889
7914
  const checkedValue = Math.max(inputAmount, minAmount);
7890
7915
  setSrcInputAmount(checkedValue);
@@ -7892,7 +7917,7 @@ var useSelectables = () => {
7892
7917
  }, ON_INPUT_QUERY_DELAY),
7893
7918
  [minAmount]
7894
7919
  );
7895
- (0, import_react22.useEffect)(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
7920
+ (0, import_react23.useEffect)(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
7896
7921
  return {
7897
7922
  inputRef,
7898
7923
  redirecting,
@@ -7925,14 +7950,17 @@ function BuyMenu() {
7925
7950
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
7926
7951
  "div",
7927
7952
  {
7928
- style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
7953
+ style: {
7954
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
7955
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
7956
+ },
7929
7957
  className: "list-scrollbar-y w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]",
7930
7958
  children: [
7931
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2", children: [
7959
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
7932
7960
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowLeft, { className: "h-4 w-4" }) }),
7933
7961
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-xl font-semibold", children: "Buy LUMIA" })
7934
7962
  ] }),
7935
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-full flex items-center gap-2", children: AVAILABLE_RAMP_PROVIDERS.map(({ id, icon: Icon }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7963
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: AVAILABLE_RAMP_PROVIDERS.map(({ id, icon: Icon }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7936
7964
  Button,
7937
7965
  {
7938
7966
  type: "button",
@@ -7944,7 +7972,7 @@ function BuyMenu() {
7944
7972
  },
7945
7973
  id
7946
7974
  )) }),
7947
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-4", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ProviderComponent, { control, walletAddress }) })
7975
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ProviderComponent, { control, walletAddress })
7948
7976
  ]
7949
7977
  }
7950
7978
  );
@@ -7952,7 +7980,7 @@ function BuyMenu() {
7952
7980
 
7953
7981
  // src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
7954
7982
  var import_lucide_react19 = require("lucide-react");
7955
- var import_react23 = __toESM(require("react"), 1);
7983
+ var import_react24 = __toESM(require("react"), 1);
7956
7984
  init_iframe_manager();
7957
7985
 
7958
7986
  // src/internal/components/ui/checkbox.tsx
@@ -7988,30 +8016,30 @@ function KeyshareBackupMenu() {
7988
8016
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
7989
8017
  const userId = session?.mpcUserId || "";
7990
8018
  const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
7991
- (0, import_react23.useEffect)(() => {
8019
+ (0, import_react24.useEffect)(() => {
7992
8020
  if (!userId) setPage("main-menu" /* MAIN_MENU */);
7993
8021
  }, [userId, setPage]);
7994
- const [backupStatus, setBackupStatus] = import_react23.default.useState({
8022
+ const [backupStatus, setBackupStatus] = import_react24.default.useState({
7995
8023
  server: {},
7996
8024
  cloud: {},
7997
8025
  local: {}
7998
8026
  });
7999
- const [loading, setLoading] = import_react23.default.useState({
8027
+ const [loading, setLoading] = import_react24.default.useState({
8000
8028
  server: false,
8001
8029
  cloud: false,
8002
8030
  local: false
8003
8031
  });
8004
- const [error, setError] = import_react23.default.useState(null);
8005
- const [success, setSuccess] = import_react23.default.useState(null);
8006
- const [showPassword, setShowPassword] = import_react23.default.useState(false);
8007
- const [useCustomPassword, setUseCustomPassword] = import_react23.default.useState(false);
8008
- const [customPassword, setCustomPassword] = import_react23.default.useState("");
8009
- const [cloudProviders, setCloudProviders] = import_react23.default.useState(
8032
+ const [error, setError] = import_react24.default.useState(null);
8033
+ const [success, setSuccess] = import_react24.default.useState(null);
8034
+ const [showPassword, setShowPassword] = import_react24.default.useState(false);
8035
+ const [useCustomPassword, setUseCustomPassword] = import_react24.default.useState(false);
8036
+ const [customPassword, setCustomPassword] = import_react24.default.useState("");
8037
+ const [cloudProviders, setCloudProviders] = import_react24.default.useState(
8010
8038
  []
8011
8039
  );
8012
- const [selectedCloudProvider, setSelectedCloudProvider] = import_react23.default.useState(null);
8013
- const [hasKeyshareData, setHasKeyshareData] = import_react23.default.useState(true);
8014
- const iframeManager = import_react23.default.useMemo(() => {
8040
+ const [selectedCloudProvider, setSelectedCloudProvider] = import_react24.default.useState(null);
8041
+ const [hasKeyshareData, setHasKeyshareData] = import_react24.default.useState(true);
8042
+ const iframeManager = import_react24.default.useMemo(() => {
8015
8043
  try {
8016
8044
  return getIframeManager();
8017
8045
  } catch (e) {
@@ -8019,7 +8047,7 @@ function KeyshareBackupMenu() {
8019
8047
  return null;
8020
8048
  }
8021
8049
  }, []);
8022
- (0, import_react23.useEffect)(() => {
8050
+ (0, import_react24.useEffect)(() => {
8023
8051
  const loadCloudProviders = async () => {
8024
8052
  try {
8025
8053
  const { getAvailableCloudProviders: getAvailableCloudProviders3 } = await Promise.resolve().then(() => (init_cloudStorage(), cloudStorage_exports));
@@ -8039,7 +8067,7 @@ function KeyshareBackupMenu() {
8039
8067
  };
8040
8068
  loadCloudProviders();
8041
8069
  }, [selectedCloudProvider]);
8042
- const refreshStatus = import_react23.default.useCallback(async () => {
8070
+ const refreshStatus = import_react24.default.useCallback(async () => {
8043
8071
  if (!iframeManager) return;
8044
8072
  try {
8045
8073
  const status = await iframeManager.getBackupStatus(userId);
@@ -8048,7 +8076,7 @@ function KeyshareBackupMenu() {
8048
8076
  console.error("[KeyshareBackup] Failed to get backup status:", error2);
8049
8077
  }
8050
8078
  }, [iframeManager, userId]);
8051
- (0, import_react23.useEffect)(() => {
8079
+ (0, import_react24.useEffect)(() => {
8052
8080
  refreshStatus();
8053
8081
  }, [refreshStatus]);
8054
8082
  const handleBackup = async (method) => {
@@ -8277,21 +8305,21 @@ function KeyshareBackupMenu() {
8277
8305
  }
8278
8306
 
8279
8307
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
8280
- var import_react_query9 = require("@tanstack/react-query");
8308
+ var import_react_query10 = require("@tanstack/react-query");
8281
8309
  var import_lucide_react22 = require("lucide-react");
8282
- var import_react26 = __toESM(require("react"), 1);
8310
+ var import_react27 = __toESM(require("react"), 1);
8283
8311
  init_vaultClient();
8284
8312
 
8285
8313
  // src/internal/components/KeyshareRestoreMenu/NoBackupFound.tsx
8286
8314
  var import_lucide_react20 = require("lucide-react");
8287
- var import_react24 = require("react");
8315
+ var import_react25 = require("react");
8288
8316
  var import_jsx_runtime36 = require("react/jsx-runtime");
8289
8317
  var ACCOUNT_RECOVERY_TEXT = `This device doesn't have access to your wallet keyshare, and no backup was found in the Vault. To access your wallet: use the original device where you created the account, create a backup from that device first, then try restoring on this device.`;
8290
8318
  var ACCOUNT_FILE_RECOVERY_TEXT = `Try uploading a backup file if you have one saved locally, or create a different new account`;
8291
8319
  function NoBackupFound(props) {
8292
8320
  const { isLoading, restoreFromFile } = props;
8293
- const [restoreFile, setRestoreFile] = (0, import_react24.useState)(null);
8294
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_react24.Fragment, { children: [
8321
+ const [restoreFile, setRestoreFile] = (0, import_react25.useState)(null);
8322
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_react25.Fragment, { children: [
8295
8323
  /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Highlight, { type: "error", className: "animate-glow-warning flex gap-[var(--l-pass-gap)]", children: [
8296
8324
  /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react20.AlertCircle, { className: "h-4 w-4 flex-0" }),
8297
8325
  /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "w-full flex-1 flex flex-col gap-2", children: [
@@ -8332,7 +8360,7 @@ function NoBackupFound(props) {
8332
8360
 
8333
8361
  // src/internal/components/KeyshareRestoreMenu/ServerBackupFound.tsx
8334
8362
  var import_lucide_react21 = require("lucide-react");
8335
- var import_react25 = require("react");
8363
+ var import_react26 = require("react");
8336
8364
  var import_jsx_runtime37 = require("react/jsx-runtime");
8337
8365
  function ServerBackupFound(props) {
8338
8366
  const {
@@ -8348,7 +8376,7 @@ function ServerBackupFound(props) {
8348
8376
  setRestorePassword,
8349
8377
  setUseCustomPassword
8350
8378
  } = props;
8351
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react25.Fragment, { children: [
8379
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react26.Fragment, { children: [
8352
8380
  /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Highlight, { type: "success", className: "w-full flex gap-[var(--l-pass-gap)]", children: [
8353
8381
  /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react21.AlertCircle, { className: "h-4 w-4 flex-0" }),
8354
8382
  /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "w-full flex-1", children: [
@@ -8464,17 +8492,17 @@ var KeyshareRestoreMenu = () => {
8464
8492
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
8465
8493
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
8466
8494
  const setPage = useLayoutDataStore((st) => st.setPage);
8467
- (0, import_react26.useEffect)(() => setIsDialogForced(true), []);
8495
+ (0, import_react27.useEffect)(() => setIsDialogForced(true), []);
8468
8496
  const { usePaymaster, recoveryUserId, setRecoveryUserId, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
8469
- const [error, setError] = import_react26.default.useState(null);
8470
- const [success, setSuccess] = import_react26.default.useState(null);
8471
- const [showPassword, setShowPassword] = import_react26.default.useState(false);
8472
- const [useCustomPassword, setUseCustomPassword] = import_react26.default.useState(false);
8473
- const [restoreFile, setRestoreFile] = import_react26.default.useState(null);
8474
- const [restorePassword, setRestorePassword] = import_react26.default.useState("");
8475
- const [hasServerBackup, setHasServerBackup] = import_react26.default.useState(null);
8476
- const [checkingBackup, setCheckingBackup] = import_react26.default.useState(true);
8477
- const createSessionWithKeyshare = (0, import_react26.useCallback)(
8497
+ const [error, setError] = import_react27.default.useState(null);
8498
+ const [success, setSuccess] = import_react27.default.useState(null);
8499
+ const [showPassword, setShowPassword] = import_react27.default.useState(false);
8500
+ const [useCustomPassword, setUseCustomPassword] = import_react27.default.useState(false);
8501
+ const [restoreFile, setRestoreFile] = import_react27.default.useState(null);
8502
+ const [restorePassword, setRestorePassword] = import_react27.default.useState("");
8503
+ const [hasServerBackup, setHasServerBackup] = import_react27.default.useState(null);
8504
+ const [checkingBackup, setCheckingBackup] = import_react27.default.useState(true);
8505
+ const createSessionWithKeyshare = (0, import_react27.useCallback)(
8478
8506
  async (userId, hasServerKeyshare, isNewUser) => {
8479
8507
  try {
8480
8508
  try {
@@ -8508,7 +8536,7 @@ var KeyshareRestoreMenu = () => {
8508
8536
  },
8509
8537
  [setStatus, callbacks, usePaymaster]
8510
8538
  );
8511
- const onRestoreSuccess = (0, import_react26.useCallback)(async () => {
8539
+ const onRestoreSuccess = (0, import_react27.useCallback)(async () => {
8512
8540
  const { verifyToken: verifyToken2, jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
8513
8541
  const verify = await verifyToken2();
8514
8542
  const hasServerKeyshare = verify?.hasKeyshare ?? jwtTokenManager4.getHasKeyshare() ?? false;
@@ -8573,7 +8601,7 @@ var KeyshareRestoreMenu = () => {
8573
8601
  callbacks,
8574
8602
  config.projectId
8575
8603
  ]);
8576
- (0, import_react26.useEffect)(() => {
8604
+ (0, import_react27.useEffect)(() => {
8577
8605
  const checkBackupAvailability = async () => {
8578
8606
  try {
8579
8607
  setCheckingBackup(true);
@@ -8591,7 +8619,7 @@ var KeyshareRestoreMenu = () => {
8591
8619
  };
8592
8620
  checkBackupAvailability();
8593
8621
  }, [recoveryUserId]);
8594
- const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = (0, import_react_query9.useMutation)({
8622
+ const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = (0, import_react_query10.useMutation)({
8595
8623
  mutationFn: async () => {
8596
8624
  setError(null);
8597
8625
  setSuccess(null);
@@ -8626,7 +8654,7 @@ var KeyshareRestoreMenu = () => {
8626
8654
  setError(errorMsg);
8627
8655
  }
8628
8656
  });
8629
- const { mutate: restoreFromFile, isPending: isRestoringFromFile } = (0, import_react_query9.useMutation)({
8657
+ const { mutate: restoreFromFile, isPending: isRestoringFromFile } = (0, import_react_query10.useMutation)({
8630
8658
  mutationFn: async () => {
8631
8659
  if (!restoreFile) {
8632
8660
  throw new Error("Please select a backup file");
@@ -8660,7 +8688,7 @@ var KeyshareRestoreMenu = () => {
8660
8688
  setError(errorMsg);
8661
8689
  }
8662
8690
  });
8663
- const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query9.useMutation)({
8691
+ const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query10.useMutation)({
8664
8692
  mutationFn: async () => {
8665
8693
  setError(null);
8666
8694
  setStatus("disconnecting");
@@ -8752,14 +8780,14 @@ var import_lucide_react24 = require("lucide-react");
8752
8780
  var import_lucide_react23 = require("lucide-react");
8753
8781
 
8754
8782
  // src/internal/components/KYC/useSumsubIframe.ts
8755
- var import_react27 = require("react");
8783
+ var import_react28 = require("react");
8756
8784
 
8757
8785
  // src/internal/components/KYC/api/sumsub.ts
8758
8786
  init_httpClient();
8759
8787
 
8760
8788
  // src/config/queryClient.ts
8761
- var import_react_query10 = require("@tanstack/react-query");
8762
- var queryClient = new import_react_query10.QueryClient({
8789
+ var import_react_query11 = require("@tanstack/react-query");
8790
+ var queryClient = new import_react_query11.QueryClient({
8763
8791
  defaultOptions: {
8764
8792
  queries: {
8765
8793
  staleTime: 1e3 * 60 * 6,
@@ -8875,13 +8903,13 @@ function useSumsubIframe({ iframeUrl }) {
8875
8903
  config: { current: config }
8876
8904
  } = useLumiaPassportConfig();
8877
8905
  const { colorMode } = useLumiaPassportColorMode();
8878
- const iframeRef = (0, import_react27.useRef)(null);
8879
- const [isLoading, setIsLoading] = (0, import_react27.useState)(true);
8880
- const [error, setError] = (0, import_react27.useState)(null);
8881
- const [height, setHeight] = (0, import_react27.useState)(0);
8882
- const [status, setStatus] = (0, import_react27.useState)("");
8906
+ const iframeRef = (0, import_react28.useRef)(null);
8907
+ const [isLoading, setIsLoading] = (0, import_react28.useState)(true);
8908
+ const [error, setError] = (0, import_react28.useState)(null);
8909
+ const [height, setHeight] = (0, import_react28.useState)(0);
8910
+ const [status, setStatus] = (0, import_react28.useState)("");
8883
8911
  const levelName = config.kyc?.options?.levelName;
8884
- (0, import_react27.useEffect)(() => {
8912
+ (0, import_react28.useEffect)(() => {
8885
8913
  setError(null);
8886
8914
  setIsLoading(true);
8887
8915
  setStatus("Preparing verification...");
@@ -8989,7 +9017,22 @@ function KycMenu() {
8989
9017
 
8990
9018
  // src/internal/components/MainMenu/MainMenu.tsx
8991
9019
  var import_lucide_react26 = require("lucide-react");
8992
- var import_react28 = require("react");
9020
+ var import_react29 = require("react");
9021
+
9022
+ // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9023
+ var import_react_query12 = require("@tanstack/react-query");
9024
+ init_common();
9025
+ var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
9026
+ function useProvidersList() {
9027
+ const address = useLumiaPassportSession((st) => st.address);
9028
+ const page = useLayoutDataStore((st) => st.page);
9029
+ return (0, import_react_query12.useQuery)({
9030
+ retry: false,
9031
+ enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
9032
+ queryKey: [PROVIDERS_QUERY_KEY, address],
9033
+ queryFn: async () => getLinkedProviders()
9034
+ });
9035
+ }
8993
9036
 
8994
9037
  // src/internal/components/MainMenu/BackupWarning.tsx
8995
9038
  var import_framer_motion2 = require("framer-motion");
@@ -9045,9 +9088,10 @@ function MainMenu() {
9045
9088
  const address = useLumiaPassportSession((st) => st.address);
9046
9089
  const setPage = useLayoutDataStore((st) => st.setPage);
9047
9090
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
9048
- (0, import_react28.useEffect)(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
9091
+ useProvidersList();
9092
+ (0, import_react29.useEffect)(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
9049
9093
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
9050
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--l-pass-gap)] py-[10px] md:py-0 ", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
9094
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("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: Icon }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
9051
9095
  Button,
9052
9096
  {
9053
9097
  size: "large",
@@ -9069,11 +9113,11 @@ function MainMenu() {
9069
9113
  // src/internal/components/ManageWalletMenu/ManageWallet.tsx
9070
9114
  var import_lodash_es3 = require("lodash-es");
9071
9115
  var import_lucide_react30 = require("lucide-react");
9072
- var import_react32 = require("react");
9116
+ var import_react33 = require("react");
9073
9117
 
9074
9118
  // src/modules/linkedProfiles.ts
9075
- var import_react_query11 = require("@tanstack/react-query");
9076
- var import_react29 = require("react");
9119
+ var import_react_query13 = require("@tanstack/react-query");
9120
+ var import_react30 = require("react");
9077
9121
  init_auth();
9078
9122
  init_common();
9079
9123
  init_types();
@@ -9093,32 +9137,32 @@ async function getLinkProfilesData() {
9093
9137
  return { profiles: loadedProfiles, avatar };
9094
9138
  }
9095
9139
  function useLumiaPassportLinkedProfiles() {
9096
- const qc = (0, import_react_query11.useQueryClient)();
9140
+ const qc = (0, import_react_query13.useQueryClient)();
9097
9141
  const address = useLumiaPassportSession((st) => st.address);
9098
9142
  const {
9099
9143
  data,
9100
9144
  isFetching: isLoading,
9101
9145
  error
9102
- } = (0, import_react_query11.useQuery)({
9146
+ } = (0, import_react_query13.useQuery)({
9103
9147
  retry: false,
9104
9148
  enabled: !!address,
9105
9149
  queryKey: [LINKED_PROFILES_QUERY_KEY, address],
9106
9150
  queryFn: getLinkProfilesData
9107
9151
  });
9108
9152
  const { profiles = [], avatar = null } = data || {};
9109
- const refresh = (0, import_react29.useCallback)(async () => {
9153
+ const refresh = (0, import_react30.useCallback)(async () => {
9110
9154
  await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9111
9155
  }, [qc, address]);
9112
9156
  return { profiles, avatar, isLoading, error, refresh };
9113
9157
  }
9114
9158
 
9115
9159
  // src/internal/components/ManageWalletMenu/AddProvider.tsx
9116
- var import_react_query16 = require("@tanstack/react-query");
9160
+ var import_react_query17 = require("@tanstack/react-query");
9117
9161
  init_passkey2();
9118
9162
 
9119
9163
  // src/internal/components/ManageWalletMenu/EmailForm.tsx
9120
9164
  init_lumiaPassport();
9121
- var import_react_query12 = require("@tanstack/react-query");
9165
+ var import_react_query14 = require("@tanstack/react-query");
9122
9166
  var import_lucide_react27 = require("lucide-react");
9123
9167
  init_projectId();
9124
9168
 
@@ -9161,7 +9205,7 @@ function EmailForm() {
9161
9205
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
9162
9206
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
9163
9207
  const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
9164
- const { mutate: onSendVerificationCode } = (0, import_react_query12.useMutation)({
9208
+ const { mutate: onSendVerificationCode } = (0, import_react_query14.useMutation)({
9165
9209
  mutationFn: async () => {
9166
9210
  if (!email) return;
9167
9211
  setIsLoading(true);
@@ -9237,27 +9281,12 @@ function EmailForm() {
9237
9281
  ] });
9238
9282
  }
9239
9283
 
9240
- // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9241
- var import_react_query13 = require("@tanstack/react-query");
9242
- init_common();
9243
- var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
9244
- function useProvidersList() {
9245
- const address = useLumiaPassportSession((st) => st.address);
9246
- const page = useLayoutDataStore((st) => st.page);
9247
- return (0, import_react_query13.useQuery)({
9248
- retry: false,
9249
- enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
9250
- queryKey: [PROVIDERS_QUERY_KEY, address],
9251
- queryFn: async () => getLinkedProviders()
9252
- });
9253
- }
9254
-
9255
9284
  // src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
9256
- var import_react_query14 = require("@tanstack/react-query");
9285
+ var import_react_query15 = require("@tanstack/react-query");
9257
9286
  init_email();
9258
9287
  function useSendVerificationCode() {
9259
9288
  const { setVerificationError, setLinkIsLoading, setEmailCodeSentError, setEmailCodeExpiresIn } = useManageWalletStore();
9260
- return (0, import_react_query14.useMutation)({
9289
+ return (0, import_react_query15.useMutation)({
9261
9290
  mutationFn: async (email) => {
9262
9291
  if (!email) {
9263
9292
  throw new Error("Email is required");
@@ -9280,11 +9309,11 @@ function useSendVerificationCode() {
9280
9309
  }
9281
9310
 
9282
9311
  // src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
9283
- var import_react_query15 = require("@tanstack/react-query");
9312
+ var import_react_query16 = require("@tanstack/react-query");
9284
9313
  init_email();
9285
9314
  function useVerifyCode() {
9286
9315
  const { callbacks } = useLumiaPassportConfig();
9287
- const qc = (0, import_react_query15.useQueryClient)();
9316
+ const qc = (0, import_react_query16.useQueryClient)();
9288
9317
  const address = useLumiaPassportSession((st) => st.address);
9289
9318
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
9290
9319
  const {
@@ -9298,7 +9327,7 @@ function useVerifyCode() {
9298
9327
  setVerificationError,
9299
9328
  setEmailCodeSentError
9300
9329
  } = useManageWalletStore();
9301
- return (0, import_react_query15.useMutation)({
9330
+ return (0, import_react_query16.useMutation)({
9302
9331
  mutationFn: async (codeToVerify) => {
9303
9332
  const code = codeToVerify ?? emailCode;
9304
9333
  if (!code) {
@@ -9348,7 +9377,7 @@ function normalizePasskeyLinkError(msg) {
9348
9377
  return msg;
9349
9378
  }
9350
9379
  function AddProvider() {
9351
- const qc = (0, import_react_query16.useQueryClient)();
9380
+ const qc = (0, import_react_query17.useQueryClient)();
9352
9381
  const { callbacks } = useLumiaPassportConfig();
9353
9382
  const address = useLumiaPassportSession((st) => st.address);
9354
9383
  const {
@@ -9508,11 +9537,11 @@ function EmailNotConnectedWarning() {
9508
9537
  }
9509
9538
 
9510
9539
  // src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
9511
- var import_react_query17 = require("@tanstack/react-query");
9512
- var import_react30 = __toESM(require("react"), 1);
9540
+ var import_react_query18 = require("@tanstack/react-query");
9541
+ var import_react31 = __toESM(require("react"), 1);
9513
9542
  init_auth();
9514
9543
  function useLinkSocial() {
9515
- const qc = (0, import_react_query17.useQueryClient)();
9544
+ const qc = (0, import_react_query18.useQueryClient)();
9516
9545
  const address = useLumiaPassportSession((st) => st.address);
9517
9546
  const {
9518
9547
  config: { current: config },
@@ -9520,7 +9549,7 @@ function useLinkSocial() {
9520
9549
  } = useLumiaPassportConfig();
9521
9550
  const setPage = useLayoutDataStore((st) => st.setPage);
9522
9551
  const { providerType, linkIsLoading, isWalletLinking, setProviderType, setLinkIsLoading, setLinkError } = useManageWalletStore();
9523
- const handleLinkSocialProvider = import_react30.default.useCallback(
9552
+ const handleLinkSocialProvider = import_react31.default.useCallback(
9524
9553
  async (providerIdRaw) => {
9525
9554
  const providerKey = providerIdRaw.toLowerCase();
9526
9555
  const normalizedKey = providerKey === "twitter" ? "x" : providerKey;
@@ -9572,8 +9601,8 @@ function useLinkSocial() {
9572
9601
  },
9573
9602
  [config.social?.providers, callbacks]
9574
9603
  );
9575
- const [socialLinkStarted, setSocialLinkStarted] = import_react30.default.useState(false);
9576
- (0, import_react30.useEffect)(() => {
9604
+ const [socialLinkStarted, setSocialLinkStarted] = import_react31.default.useState(false);
9605
+ (0, import_react31.useEffect)(() => {
9577
9606
  const key = providerType?.toLowerCase();
9578
9607
  console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
9579
9608
  if (isWalletLinking) {
@@ -9593,19 +9622,19 @@ function useLinkSocial() {
9593
9622
  }
9594
9623
 
9595
9624
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
9596
- var import_react_query18 = require("@tanstack/react-query");
9597
- var import_react31 = require("react");
9625
+ var import_react_query19 = require("@tanstack/react-query");
9626
+ var import_react32 = require("react");
9598
9627
  init_telegram2();
9599
9628
  function useLinkTelegram() {
9600
9629
  const {
9601
9630
  config: { current: config },
9602
9631
  callbacks
9603
9632
  } = useLumiaPassportConfig();
9604
- const qc = (0, import_react_query18.useQueryClient)();
9633
+ const qc = (0, import_react_query19.useQueryClient)();
9605
9634
  const address = useLumiaPassportSession((st) => st.address);
9606
9635
  const { providerType, linkIsLoading, isWalletLinking, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
9607
9636
  const setPage = useLayoutDataStore((st) => st.setPage);
9608
- const handleLinkTelegram = (0, import_react31.useCallback)(async () => {
9637
+ const handleLinkTelegram = (0, import_react32.useCallback)(async () => {
9609
9638
  try {
9610
9639
  setLinkIsLoading(true);
9611
9640
  setLinkError("");
@@ -9647,8 +9676,8 @@ function useLinkTelegram() {
9647
9676
  setLinkIsLoading(false);
9648
9677
  }
9649
9678
  }, [config.social?.providers, callbacks]);
9650
- const [telegramLinkStarted, setTelegramLinkStarted] = (0, import_react31.useState)(false);
9651
- (0, import_react31.useEffect)(() => {
9679
+ const [telegramLinkStarted, setTelegramLinkStarted] = (0, import_react32.useState)(false);
9680
+ (0, import_react32.useEffect)(() => {
9652
9681
  console.log("[useLinkTelegram] Effect triggered:", { providerType, linkIsLoading, telegramLinkStarted, isWalletLinking });
9653
9682
  if (isWalletLinking) {
9654
9683
  console.log("[useLinkTelegram] Skipping - wallet linking in progress");
@@ -9660,7 +9689,7 @@ function useLinkTelegram() {
9660
9689
  handleLinkTelegram();
9661
9690
  }
9662
9691
  }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
9663
- (0, import_react31.useEffect)(() => {
9692
+ (0, import_react32.useEffect)(() => {
9664
9693
  if (providerType !== "telegram") {
9665
9694
  setTelegramLinkStarted(false);
9666
9695
  }
@@ -9750,6 +9779,7 @@ function ManageWalletMenu() {
9750
9779
  config: { current: config }
9751
9780
  } = useLumiaPassportConfig();
9752
9781
  const setPage = useLayoutDataStore((st) => st.setPage);
9782
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
9753
9783
  const {
9754
9784
  providerType,
9755
9785
  isWalletLinking,
@@ -9768,7 +9798,7 @@ function ManageWalletMenu() {
9768
9798
  } = useManageWalletStore();
9769
9799
  const configuredProviders = getConfiguredProviders(config);
9770
9800
  const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
9771
- const renderProviders = (0, import_react32.useMemo)(() => {
9801
+ const renderProviders = (0, import_react33.useMemo)(() => {
9772
9802
  const usedProviders = (0, import_lodash_es3.fromPairs)(providers.map((p) => [p.provider, true]));
9773
9803
  const used = [];
9774
9804
  const unused = [];
@@ -9829,60 +9859,70 @@ function ManageWalletMenu() {
9829
9859
  const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
9830
9860
  const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
9831
9861
  const combinedError = emailCodeSentError || linkError || verificationError || null;
9832
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
9833
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9834
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9835
- Button,
9836
- {
9837
- variant: "ghost",
9838
- size: "icon",
9839
- title: "Back",
9840
- onClick: () => {
9841
- if (providerType === "email") {
9842
- setEmail("");
9843
- setEmailCode("");
9844
- setEmailStep("input");
9845
- setEmailCodeSentError("");
9846
- setEmailCodeExpiresIn(0);
9847
- setVerificationError("");
9862
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
9863
+ "div",
9864
+ {
9865
+ style: {
9866
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
9867
+ "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
9868
+ },
9869
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
9870
+ children: [
9871
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9872
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
9873
+ Button,
9874
+ {
9875
+ variant: "ghost",
9876
+ size: "icon",
9877
+ title: "Back",
9878
+ onClick: () => {
9879
+ if (providerType === "email") {
9880
+ setEmail("");
9881
+ setEmailCode("");
9882
+ setEmailStep("input");
9883
+ setEmailCodeSentError("");
9884
+ setEmailCodeExpiresIn(0);
9885
+ setVerificationError("");
9886
+ }
9887
+ setLinkError("");
9888
+ if (!providerType) setPage("settings" /* SETTINGS */);
9889
+ setProviderType(null);
9890
+ },
9891
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react30.ArrowLeft, { className: "h-4 w-4" })
9848
9892
  }
9849
- setLinkError("");
9850
- if (!providerType) setPage("settings" /* SETTINGS */);
9851
- setProviderType(null);
9852
- },
9853
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react30.ArrowLeft, { className: "h-4 w-4" })
9854
- }
9855
- ),
9856
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl font-semibold", children: "Profiles" })
9857
- ] }),
9858
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9859
- providersError && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Highlight, { type: "error", className: "flex items-start gap-[var(--l-pass-gap)] break-words whitespace-pre-wrap", children: [
9860
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react30.AlertTriangle, { className: "w-4 h-4 shrink-0" }),
9861
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "block", children: providersError.message })
9862
- ] }),
9863
- isProvidersLoading && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react30.Loader, { className: "w-5 h-5 animate-spin" }) }),
9864
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(EmailNotConnectedWarning, {}),
9865
- showCurrentProviders && renderProviders.map((node) => node),
9866
- showExtraProvidersUi && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(AddProvider, {}),
9867
- combinedError && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Highlight, { type: "error", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: combinedError }) })
9868
- ] })
9869
- ] });
9893
+ ),
9894
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl font-semibold", children: "Profiles" })
9895
+ ] }),
9896
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9897
+ providersError && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Highlight, { type: "error", className: "flex items-start gap-[var(--l-pass-gap)] break-words whitespace-pre-wrap", children: [
9898
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react30.AlertTriangle, { className: "w-4 h-4 shrink-0" }),
9899
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "block", children: providersError.message })
9900
+ ] }),
9901
+ isProvidersLoading && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react30.Loader, { className: "w-5 h-5 animate-spin" }) }),
9902
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(EmailNotConnectedWarning, {}),
9903
+ showCurrentProviders && renderProviders.map((node) => node),
9904
+ showExtraProvidersUi && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(AddProvider, {}),
9905
+ combinedError && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Highlight, { type: "error", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { children: combinedError }) })
9906
+ ] })
9907
+ ]
9908
+ }
9909
+ );
9870
9910
  }
9871
9911
 
9872
9912
  // src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
9873
- var import_react_query19 = require("@tanstack/react-query");
9913
+ var import_react_query20 = require("@tanstack/react-query");
9874
9914
  var import_lucide_react31 = require("lucide-react");
9875
- var import_react33 = require("react");
9915
+ var import_react34 = require("react");
9876
9916
  init_auth();
9877
9917
  var import_jsx_runtime48 = require("react/jsx-runtime");
9878
9918
  function UnlinkProviderMenu() {
9879
- const qc = (0, import_react_query19.useQueryClient)();
9919
+ const qc = (0, import_react_query20.useQueryClient)();
9880
9920
  const address = useLumiaPassportSession((st) => st.address);
9881
9921
  const { callbacks } = useLumiaPassportConfig();
9882
9922
  const setPage = useLayoutDataStore((st) => st.setPage);
9883
9923
  const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
9884
- const [confirmInput, setConfirmInput] = (0, import_react33.useState)("");
9885
- const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0, import_react_query19.useMutation)({
9924
+ const [confirmInput, setConfirmInput] = (0, import_react34.useState)("");
9925
+ const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0, import_react_query20.useMutation)({
9886
9926
  mutationFn: async () => {
9887
9927
  if (!confirmUnlink) {
9888
9928
  throw new Error("No provider to unlink");
@@ -9955,12 +9995,12 @@ function UnlinkProviderMenu() {
9955
9995
  }
9956
9996
 
9957
9997
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
9958
- var import_react_query21 = require("@tanstack/react-query");
9998
+ var import_react_query22 = require("@tanstack/react-query");
9959
9999
  var import_lucide_react33 = require("lucide-react");
9960
- var import_react35 = require("react");
10000
+ var import_react36 = require("react");
9961
10001
 
9962
10002
  // src/modules/assets.ts
9963
- var import_react34 = __toESM(require("react"), 1);
10003
+ var import_react35 = __toESM(require("react"), 1);
9964
10004
  var import_wagmi2 = require("wagmi");
9965
10005
  var import_viem4 = require("viem");
9966
10006
  init_base();
@@ -10107,7 +10147,7 @@ function useTokenBalance(tokenAddress, userAddress) {
10107
10147
  }
10108
10148
  });
10109
10149
  const { tokenInfo } = useTokenInfo(tokenAddress);
10110
- const formattedBalance = import_react34.default.useMemo(() => {
10150
+ const formattedBalance = import_react35.default.useMemo(() => {
10111
10151
  if (!balance || !tokenInfo) return "0";
10112
10152
  return (0, import_viem4.formatUnits)(balance, tokenInfo.decimals);
10113
10153
  }, [balance, tokenInfo]);
@@ -10121,7 +10161,7 @@ function useTokenBalance(tokenAddress, userAddress) {
10121
10161
  }
10122
10162
 
10123
10163
  // src/internal/components/PortfolioMenu/PortfolioItem.tsx
10124
- var import_react_query20 = require("@tanstack/react-query");
10164
+ var import_react_query21 = require("@tanstack/react-query");
10125
10165
  var import_lucide_react32 = require("lucide-react");
10126
10166
  init_base();
10127
10167
  var import_jsx_runtime49 = require("react/jsx-runtime");
@@ -10152,10 +10192,10 @@ var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
10152
10192
  function PortfolioItem(props) {
10153
10193
  const { address, asset, isProjectAsset } = props;
10154
10194
  const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
10155
- const qc = (0, import_react_query20.useQueryClient)();
10195
+ const qc = (0, import_react_query21.useQueryClient)();
10156
10196
  const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
10157
10197
  const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
10158
- const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query20.useQuery)({
10198
+ const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query21.useQuery)({
10159
10199
  retry: false,
10160
10200
  staleTime: 4 * 60 * 1e3,
10161
10201
  enabled: !!address && !!asset.symbol && !isProjectAsset,
@@ -10214,73 +10254,50 @@ function PortfolioItem(props) {
10214
10254
  var import_jsx_runtime50 = require("react/jsx-runtime");
10215
10255
  function PortfolioMenu() {
10216
10256
  const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
10217
- const qc = (0, import_react_query21.useQueryClient)();
10257
+ const qc = (0, import_react_query22.useQueryClient)();
10218
10258
  const setPage = useLayoutDataStore((st) => st.setPage);
10219
10259
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10220
- const assetsContainerListRef = (0, import_react35.useRef)(null);
10221
- const assetsListRef = (0, import_react35.useRef)(null);
10222
10260
  const address = useLumiaPassportSession((st) => st.address);
10223
10261
  const { assets, refreshBalances, isLoading } = useAssets(address);
10224
- const refreshAllAssetsBalances = (0, import_react35.useCallback)(() => {
10262
+ const refreshAllAssetsBalances = (0, import_react36.useCallback)(() => {
10225
10263
  Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
10226
10264
  refreshBalances();
10227
10265
  }, [qc, projectAssets, refreshBalances]);
10228
- (0, import_react35.useEffect)(() => {
10229
- if (!assetsContainerListRef.current || !assetsListRef.current) return;
10230
- const listTargetHeight = maxScrollHeight - 128;
10231
- assetsContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
10232
- assetsContainerListRef.current.style.setProperty(
10233
- "--l-pass-list-bd",
10234
- assetsListRef.current.clientHeight >= listTargetHeight ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
10235
- // hide border if no scrollbar
10236
- );
10237
- assetsContainerListRef.current.style.setProperty(
10238
- "--l-pass-list-scrollbar-pd-r",
10239
- assetsListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
10240
- // remove padding if no scrollbar
10241
- );
10242
- }, [maxScrollHeight]);
10243
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10244
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10245
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.ArrowLeft, { className: "h-4 w-4" }) }),
10246
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-xl font-semibold", children: "Your Assets" }),
10247
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10248
- Button,
10249
- {
10250
- title: "Refresh balances",
10251
- variant: "ghost",
10252
- size: "icon",
10253
- onClick: refreshAllAssetsBalances,
10254
- disabled: isLoading,
10255
- children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.RefreshCw, { className: "h-4 w-4" })
10256
- }
10257
- )
10258
- ] }),
10259
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10260
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10261
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.Loader, { className: "h-5 w-5 animate-spin" }),
10262
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
10263
- ] }),
10264
- !isLoading && assets.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
10265
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.Gem, { className: "w-12 h-12 mb-2" }),
10266
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { children: "No assets found" })
10267
- ] }),
10268
- !isLoading && assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10269
- "div",
10270
- {
10271
- ref: assetsContainerListRef,
10272
- style: { borderTop: "1px solid var(--l-pass-list-bd)", borderBottom: "1px solid var(--l-pass-list-bd)" },
10273
- className: "list-scrollbar-y relative",
10274
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { ref: assetsListRef, className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: [
10275
- projectAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10276
- PortfolioItem,
10277
- {
10278
- isProjectAsset: true,
10279
- address,
10280
- asset
10281
- },
10282
- `project-${asset.symbol}-${index}`
10283
- )),
10266
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
10267
+ "div",
10268
+ {
10269
+ style: {
10270
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
10271
+ "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
10272
+ },
10273
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10274
+ children: [
10275
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10276
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.ArrowLeft, { className: "h-4 w-4" }) }),
10277
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-xl font-semibold", children: "Your Assets" }),
10278
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10279
+ Button,
10280
+ {
10281
+ title: "Refresh balances",
10282
+ variant: "ghost",
10283
+ size: "icon",
10284
+ onClick: refreshAllAssetsBalances,
10285
+ disabled: isLoading,
10286
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.RefreshCw, { className: "h-4 w-4" })
10287
+ }
10288
+ )
10289
+ ] }),
10290
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10291
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10292
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.Loader, { className: "h-5 w-5 animate-spin" }),
10293
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
10294
+ ] }),
10295
+ !isLoading && assets.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
10296
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.Gem, { className: "w-12 h-12 mb-2" }),
10297
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { children: "No assets found" })
10298
+ ] }),
10299
+ !isLoading && assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: [
10300
+ projectAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
10284
10301
  assets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
10285
10302
  PortfolioItem,
10286
10303
  {
@@ -10290,277 +10307,298 @@ function PortfolioMenu() {
10290
10307
  `${asset.type}-${asset.address || "native"}-${index}`
10291
10308
  ))
10292
10309
  ] })
10293
- }
10294
- )
10295
- ] })
10296
- ] });
10310
+ ] })
10311
+ ]
10312
+ }
10313
+ );
10297
10314
  }
10298
10315
 
10299
10316
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
10317
+ var import_react_query23 = require("@tanstack/react-query");
10300
10318
  var import_lucide_react34 = require("lucide-react");
10301
- var import_react36 = require("react");
10319
+ var import_react37 = require("react");
10302
10320
  init_auth();
10303
10321
  init_keyshare();
10322
+ init_iframe_manager();
10304
10323
  init_vaultClient();
10305
10324
  var import_jsx_runtime51 = require("react/jsx-runtime");
10325
+ var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
10326
+ function parseOS(ua) {
10327
+ if (!ua) return null;
10328
+ if (ua.includes("Mac OS X")) return "macOS";
10329
+ if (ua.includes("Windows")) return "Windows";
10330
+ if (ua.includes("Android")) return "Android";
10331
+ if (ua.includes("Linux")) return "Linux";
10332
+ if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
10333
+ return null;
10334
+ }
10306
10335
  function SecurityMenu() {
10307
- const page = useLayoutDataStore((st) => st.page);
10336
+ const qc = (0, import_react_query23.useQueryClient)();
10337
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10308
10338
  const setPage = useLayoutDataStore((st) => st.setPage);
10309
- const open = page === "security";
10310
10339
  const userId = import_auth3.jwtTokenManager.getUserId();
10340
+ (0, import_react37.useEffect)(() => {
10341
+ if (!userId) setPage("main-menu" /* MAIN_MENU */);
10342
+ }, [userId, setPage]);
10343
+ const [localInfo, setLocalInfo] = (0, import_react37.useState)(null);
10344
+ const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react37.useState)(null);
10345
+ const [recoveryBrowser, setRecoveryBrowser] = (0, import_react37.useState)(null);
10346
+ const [recoveryUa, setRecoveryUa] = (0, import_react37.useState)(null);
10347
+ const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react37.useState)(null);
10348
+ const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react37.useState)(null);
10349
+ const [recoveryCountry, setRecoveryCountry] = (0, import_react37.useState)(null);
10350
+ const [hasServerBackup, setHasServerBackup] = (0, import_react37.useState)(false);
10351
+ const [trustedApps, setTrustedApps] = (0, import_react37.useState)([]);
10352
+ const [appToRemove, setAppToRemove] = (0, import_react37.useState)(null);
10353
+ const {
10354
+ data: recoveryData,
10355
+ isFetching: isRecoveryRefreshing
10356
+ // error: recoveryError
10357
+ } = (0, import_react_query23.useQuery)({
10358
+ enabled: !!userId,
10359
+ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
10360
+ queryFn: async () => {
10361
+ const iframeManager = getIframeManager();
10362
+ if (!iframeManager) {
10363
+ throw new Error("Iframe manager not available");
10364
+ }
10365
+ const trustedApps2 = await iframeManager.getTrustedApps(userId);
10366
+ const keyshareInfo = await getKeyshareInfo(userId);
10367
+ const shareRecoveryStats = await getShareRecoveryStats();
10368
+ return { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats };
10369
+ }
10370
+ });
10371
+ (0, import_react37.useEffect)(() => {
10372
+ if (!recoveryData) return;
10373
+ const { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats } = recoveryData;
10374
+ setLocalInfo(keyshareInfo);
10375
+ setTrustedApps(trustedApps2);
10376
+ const hasRecoveryData = shareRecoveryStats && (shareRecoveryStats.created || shareRecoveryStats.devices && shareRecoveryStats.devices.length > 0);
10377
+ const created = shareRecoveryStats?.created;
10378
+ setHasServerBackup(!!hasRecoveryData);
10379
+ setRecoveryCreatedAt(created?.at || null);
10380
+ setRecoveryBrowser(created?.browser || null);
10381
+ setRecoveryUa(created?.ua || null);
10382
+ setRecoveryDeviceId(created?.deviceId || null);
10383
+ setRecoveryDeviceName(created?.deviceName || null);
10384
+ setRecoveryCountry(created?.country || null);
10385
+ }, [recoveryData]);
10311
10386
  const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
10312
10387
  const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
10313
- const [isRefreshing, setIsRefreshing] = (0, import_react36.useState)(false);
10314
- const [localInfo, setLocalInfo] = (0, import_react36.useState)(null);
10315
- const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react36.useState)(null);
10316
- const [recoveryBrowser, setRecoveryBrowser] = (0, import_react36.useState)(null);
10317
- const [recoveryUa, setRecoveryUa] = (0, import_react36.useState)(null);
10318
- const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react36.useState)(null);
10319
- const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react36.useState)(null);
10320
- const [recoveryCountry, setRecoveryCountry] = (0, import_react36.useState)(null);
10321
- const [hasServerBackup, setHasServerBackup] = (0, import_react36.useState)(false);
10322
- const [trustedApps, setTrustedApps] = (0, import_react36.useState)([]);
10323
- const [appToRemove, setAppToRemove] = (0, import_react36.useState)(null);
10324
- const fetchRecovery = (0, import_react36.useCallback)(async () => {
10325
- if (!userId) return;
10326
- try {
10327
- setIsRefreshing(true);
10328
- const keyshareInfo = await getKeyshareInfo(userId);
10329
- setLocalInfo(keyshareInfo);
10330
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
10331
- try {
10332
- console.log("[SecurityModal] Loading trusted apps for user:", userId);
10333
- const iframeManager = getIframeManager2();
10334
- const apps = await iframeManager.getTrustedApps(userId);
10335
- console.log("[SecurityModal] Received trusted apps:", apps);
10336
- console.log("[SecurityModal] Trusted apps count:", apps?.length);
10337
- console.log("[SecurityModal] Setting trusted apps state with:", apps);
10338
- setTrustedApps(apps);
10339
- } catch (error) {
10340
- console.error("[SecurityModal] Failed to load trusted apps:", error);
10341
- setTrustedApps([]);
10342
- }
10343
- const stats = await getShareRecoveryStats();
10344
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
10345
- setHasServerBackup(!!hasRecoveryData);
10346
- const created = stats?.created;
10347
- setRecoveryCreatedAt(created?.at || null);
10348
- setRecoveryBrowser(created?.browser || null);
10349
- setRecoveryUa(created?.ua || null);
10350
- setRecoveryDeviceId(created?.deviceId || null);
10351
- setRecoveryDeviceName(created?.deviceName || null);
10352
- setRecoveryCountry(created?.country || null);
10353
- } finally {
10354
- setIsRefreshing(false);
10355
- }
10356
- }, [userId]);
10357
- (0, import_react36.useEffect)(() => {
10358
- if (open) fetchRecovery();
10359
- }, [open, fetchRecovery]);
10360
- const parseOS = (ua) => {
10361
- if (!ua) return null;
10362
- if (ua.includes("Mac OS X")) return "macOS";
10363
- if (ua.includes("Windows")) return "Windows";
10364
- if (ua.includes("Android")) return "Android";
10365
- if (ua.includes("Linux")) return "Linux";
10366
- if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
10367
- return null;
10368
- };
10369
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10370
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2", children: [
10371
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.ArrowLeft, { className: "h-4 w-4" }) }),
10372
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2 font-semibold", children: [
10373
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
10374
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, { variant: "ghost", size: "icon", title: "Refresh", onClick: fetchRecovery, children: isRefreshing ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.RefreshCw, { className: "h-4 w-4" }) })
10375
- ] })
10376
- ] }) }),
10377
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "grid grid-cols-3 gap-4", children: [
10378
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-2 text-center", children: [
10379
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
10380
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Cloud, { className: "h-4 w-4" }),
10381
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm font-medium", children: "Server" })
10382
- ] }),
10383
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10384
- "span",
10385
- {
10386
- className: cn(
10387
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10388
- serverHasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10389
- ),
10390
- children: [
10391
- serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.AlertTriangle, { className: "h-4 w-4 mr-1" }),
10392
- serverHasKeyshare ? "Ready" : "Missing"
10393
- ]
10394
- }
10395
- )
10396
- ] }),
10397
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-2 text-center", children: [
10398
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
10399
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Laptop, { className: "h-4 w-4" }),
10400
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm font-medium", children: "Local" })
10401
- ] }),
10402
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10403
- "span",
10404
- {
10405
- className: cn(
10406
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10407
- localInfo?.hasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10408
- ),
10409
- children: [
10410
- localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.AlertTriangle, { className: "h-4 w-4 mr-1" }),
10411
- localInfo?.hasKeyshare ? "Ready" : "Missing"
10412
- ]
10413
- }
10414
- )
10415
- ] }),
10416
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-2 text-center", children: [
10417
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
10418
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Shield, { className: "h-4 w-4" }),
10419
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-sm font-medium", children: "Vault" })
10420
- ] }),
10421
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10422
- "span",
10423
- {
10424
- className: cn(
10425
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10426
- hasServerBackup ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10427
- ),
10428
- children: [
10429
- hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.AlertTriangle, { className: "h-4 w-4 mr-1" }),
10430
- hasServerBackup ? "Ready" : "None"
10431
- ]
10432
- }
10433
- )
10434
- ] })
10435
- ] }),
10436
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
10437
- localInfo?.hasKeyshare && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10438
- localInfo.ownerAddress && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10439
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Owner: " }),
10440
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
10441
- ] }),
10442
- typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10443
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Size: " }),
10444
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
10445
- ] }),
10446
- localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10447
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Session: " }),
10448
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono break-all", children: localInfo.sessionId })
10449
- ] })
10450
- ] }),
10451
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10452
- backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10453
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Server, { className: "h-2.5 w-2.5" }),
10454
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10455
- "Server: ",
10456
- new Date(backup.server.lastBackup).toLocaleString()
10457
- ] })
10458
- ] }),
10459
- !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10460
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Server, { className: "h-2.5 w-2.5" }),
10461
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10462
- "Server: ",
10463
- new Date(recoveryCreatedAt).toLocaleString()
10388
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10389
+ "div",
10390
+ {
10391
+ style: {
10392
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
10393
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
10394
+ },
10395
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10396
+ children: [
10397
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10398
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.ArrowLeft, { className: "h-4 w-4" }) }),
10399
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)] font-semibold", children: [
10400
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
10401
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
10402
+ Button,
10403
+ {
10404
+ variant: "ghost",
10405
+ size: "icon",
10406
+ title: "Refresh",
10407
+ onClick: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] }),
10408
+ children: isRecoveryRefreshing ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.RefreshCw, { className: "h-4 w-4" })
10409
+ }
10410
+ )
10464
10411
  ] })
10465
10412
  ] }),
10466
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10467
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Cloud, { className: "h-2.5 w-2.5" }),
10468
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10469
- "Cloud: ",
10470
- new Date(backup.cloud.lastBackup).toLocaleString()
10413
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)]", children: [
10414
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-2 text-center", children: [
10415
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
10416
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Cloud, { className: "h-4 w-4" }),
10417
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-xs font-medium", children: "Server" })
10418
+ ] }),
10419
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10420
+ "span",
10421
+ {
10422
+ className: cn(
10423
+ "inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
10424
+ serverHasKeyshare ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
10425
+ ),
10426
+ children: [
10427
+ serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.CheckCircle2, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.AlertTriangle, { className: "h-4 w-4" }),
10428
+ serverHasKeyshare ? "Ready" : "Missing"
10429
+ ]
10430
+ }
10431
+ )
10432
+ ] }),
10433
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-2 text-center", children: [
10434
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
10435
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Laptop, { className: "h-4 w-4" }),
10436
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-xs font-medium", children: "Local" })
10437
+ ] }),
10438
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10439
+ "span",
10440
+ {
10441
+ className: cn(
10442
+ "inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
10443
+ localInfo?.hasKeyshare ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
10444
+ ),
10445
+ children: [
10446
+ localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.CheckCircle2, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.AlertTriangle, { className: "h-4 w-4" }),
10447
+ localInfo?.hasKeyshare ? "Ready" : "Missing"
10448
+ ]
10449
+ }
10450
+ )
10451
+ ] }),
10452
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-2 text-center", children: [
10453
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
10454
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Shield, { className: "h-4 w-4" }),
10455
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-xs font-medium", children: "Vault" })
10456
+ ] }),
10457
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10458
+ "span",
10459
+ {
10460
+ className: cn(
10461
+ "inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
10462
+ hasServerBackup ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
10463
+ ),
10464
+ children: [
10465
+ hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.CheckCircle2, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.AlertTriangle, { className: "h-4 w-4" }),
10466
+ hasServerBackup ? "Ready" : "None"
10467
+ ]
10468
+ }
10469
+ )
10471
10470
  ] })
10472
10471
  ] }),
10473
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10474
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.HardDrive, { className: "h-2.5 w-2.5" }),
10475
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10476
- "Local: ",
10477
- new Date(backup.local.lastBackup).toLocaleString()
10472
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
10473
+ localInfo?.hasKeyshare && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10474
+ localInfo.ownerAddress && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "text-[var(--l-pass-fg)] py-1", children: [
10475
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Owner: " }),
10476
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
10477
+ ] }),
10478
+ typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10479
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Size: " }),
10480
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
10481
+ ] }),
10482
+ localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10483
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { children: "Session: " }),
10484
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono break-all", children: localInfo.sessionId })
10485
+ ] })
10486
+ ] }),
10487
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10488
+ backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10489
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Server, { className: "h-2.5 w-2.5" }),
10490
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10491
+ "Server: ",
10492
+ new Date(backup.server.lastBackup).toLocaleString()
10493
+ ] })
10494
+ ] }),
10495
+ !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10496
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Server, { className: "h-2.5 w-2.5" }),
10497
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10498
+ "Server: ",
10499
+ new Date(recoveryCreatedAt).toLocaleString()
10500
+ ] })
10501
+ ] }),
10502
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10503
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Cloud, { className: "h-2.5 w-2.5" }),
10504
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10505
+ "Cloud: ",
10506
+ new Date(backup.cloud.lastBackup).toLocaleString()
10507
+ ] })
10508
+ ] }),
10509
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-1", children: [
10510
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.HardDrive, { className: "h-2.5 w-2.5" }),
10511
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { children: [
10512
+ "Local: ",
10513
+ new Date(backup.local.lastBackup).toLocaleString()
10514
+ ] })
10515
+ ] })
10516
+ ] }),
10517
+ (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Highlight, { type: "info", className: "space-y-0.5 text-[10px] leading-tight", children: [
10518
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-bold text-sm", children: "Device Information:" }),
10519
+ recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10520
+ "Created: ",
10521
+ new Date(recoveryCreatedAt).toLocaleString(),
10522
+ " "
10523
+ ] }),
10524
+ recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10525
+ "Country: ",
10526
+ recoveryCountry
10527
+ ] }),
10528
+ recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10529
+ "Browser: ",
10530
+ recoveryBrowser
10531
+ ] }),
10532
+ parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10533
+ "OS: ",
10534
+ parseOS(recoveryUa)
10535
+ ] }),
10536
+ recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10537
+ "Device: ",
10538
+ recoveryDeviceName
10539
+ ] }),
10540
+ recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10541
+ "Device ID: ",
10542
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "break-all", children: recoveryDeviceId })
10543
+ ] })
10544
+ ] }),
10545
+ trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "w-full space-y-2", children: [
10546
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
10547
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10548
+ "div",
10549
+ {
10550
+ className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
10551
+ children: [
10552
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex-1 min-w-0", children: [
10553
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-medium", children: new URL(app.origin).hostname }),
10554
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
10555
+ "Trusted: ",
10556
+ new Date(app.trustedAt).toLocaleDateString()
10557
+ ] })
10558
+ ] }),
10559
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
10560
+ Button,
10561
+ {
10562
+ variant: "ghost",
10563
+ size: "icon",
10564
+ title: "Remove from trusted",
10565
+ className: "text-[var(--l-pass-error)]",
10566
+ onClick: () => setAppToRemove({
10567
+ projectId: app.projectId,
10568
+ origin: app.origin,
10569
+ hostname: new URL(app.origin).hostname
10570
+ }),
10571
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Trash2, { className: "h-3 w-3" })
10572
+ }
10573
+ )
10574
+ ]
10575
+ },
10576
+ index
10577
+ )) })
10478
10578
  ] })
10479
10579
  ] })
10480
- ] }),
10481
- (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10482
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: "Device Information:" }),
10483
- recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10484
- "Created: ",
10485
- new Date(recoveryCreatedAt).toLocaleString(),
10486
- " "
10487
- ] }),
10488
- recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10489
- "Country: ",
10490
- recoveryCountry
10491
- ] }),
10492
- recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10493
- "Browser: ",
10494
- recoveryBrowser
10495
- ] }),
10496
- parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10497
- "OS: ",
10498
- parseOS(recoveryUa)
10499
- ] }),
10500
- recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10501
- "Device: ",
10502
- recoveryDeviceName
10503
- ] }),
10504
- recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
10505
- "Device ID: ",
10506
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "font-mono break-all", children: recoveryDeviceId })
10507
- ] })
10508
- ] }),
10509
- trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "w-full space-y-2", children: [
10510
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: `Trusted Applications (${trustedApps.length}):` }),
10511
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
10512
- "div",
10513
- {
10514
- className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
10515
- children: [
10516
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex-1 min-w-0", children: [
10517
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-medium", children: new URL(app.origin).hostname }),
10518
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
10519
- "Trusted: ",
10520
- new Date(app.trustedAt).toLocaleDateString()
10521
- ] })
10522
- ] }),
10523
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
10524
- Button,
10525
- {
10526
- variant: "ghost",
10527
- size: "icon",
10528
- title: "Remove from trusted",
10529
- className: "text-[var(--l-pass-error)]",
10530
- onClick: () => setAppToRemove({
10531
- projectId: app.projectId,
10532
- origin: app.origin,
10533
- hostname: new URL(app.origin).hostname
10534
- }),
10535
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_lucide_react34.Trash2, { className: "h-3 w-3" })
10536
- }
10537
- )
10538
- ]
10539
- },
10540
- index
10541
- )) })
10542
- ] })
10543
- ] })
10544
- ] });
10580
+ ]
10581
+ }
10582
+ );
10545
10583
  }
10546
10584
 
10547
10585
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10548
10586
  var import_lucide_react35 = require("lucide-react");
10549
- var import_react38 = require("react");
10587
+ var import_react39 = require("react");
10550
10588
  var import_viem6 = require("viem");
10551
10589
  var import_wagmi3 = require("wagmi");
10552
10590
 
10553
10591
  // src/hooks/useSendTransaction.ts
10554
- var import_react37 = require("react");
10592
+ var import_react38 = require("react");
10555
10593
  var import_viem5 = require("viem");
10556
10594
  init_account();
10557
10595
  function useSendTransaction() {
10558
10596
  const session = useLumiaPassportSession((st) => st.session);
10559
10597
  const address = useLumiaPassportSession((st) => st.address);
10560
- const [isLoading, setIsLoading] = (0, import_react37.useState)(false);
10561
- const [error, setError] = (0, import_react37.useState)(null);
10562
- const [userOpHash, setUserOpHash] = (0, import_react37.useState)(null);
10563
- const sendTransaction = (0, import_react37.useCallback)(
10598
+ const [isLoading, setIsLoading] = (0, import_react38.useState)(false);
10599
+ const [error, setError] = (0, import_react38.useState)(null);
10600
+ const [userOpHash, setUserOpHash] = (0, import_react38.useState)(null);
10601
+ const sendTransaction = (0, import_react38.useCallback)(
10564
10602
  async (params) => {
10565
10603
  if (!session || !address) {
10566
10604
  setError("No active session");
@@ -10600,7 +10638,7 @@ function useSendTransaction() {
10600
10638
  },
10601
10639
  [session, address]
10602
10640
  );
10603
- const reset = (0, import_react37.useCallback)(() => {
10641
+ const reset = (0, import_react38.useCallback)(() => {
10604
10642
  setError(null);
10605
10643
  setUserOpHash(null);
10606
10644
  setIsLoading(false);
@@ -10628,13 +10666,13 @@ function SendLumiaMenu() {
10628
10666
  address,
10629
10667
  chainId: lumiaBeam.id
10630
10668
  });
10631
- const [recipient, setRecipient] = (0, import_react38.useState)("");
10632
- const [amount, setAmount] = (0, import_react38.useState)("");
10633
- const [txStep, setTxStep] = (0, import_react38.useState)("input");
10634
- const [validationError, setValidationError] = (0, import_react38.useState)(null);
10669
+ const [recipient, setRecipient] = (0, import_react39.useState)("");
10670
+ const [amount, setAmount] = (0, import_react39.useState)("");
10671
+ const [txStep, setTxStep] = (0, import_react39.useState)("input");
10672
+ const [validationError, setValidationError] = (0, import_react39.useState)(null);
10635
10673
  const nativeAsset = assets.find((a) => a.type === "native");
10636
10674
  const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
10637
- (0, import_react38.useEffect)(() => {
10675
+ (0, import_react39.useEffect)(() => {
10638
10676
  if (open) {
10639
10677
  setTxStep("input");
10640
10678
  setValidationError(null);
@@ -10798,7 +10836,7 @@ function SendLumiaMenu() {
10798
10836
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
10799
10837
  var import_lucide_react36 = require("lucide-react");
10800
10838
  var import_qrcode = __toESM(require("qrcode"), 1);
10801
- var import_react39 = require("react");
10839
+ var import_react40 = require("react");
10802
10840
  init_clients();
10803
10841
  var import_jsx_runtime53 = require("react/jsx-runtime");
10804
10842
  function ReceiveLumiaMenu() {
@@ -10807,9 +10845,9 @@ function ReceiveLumiaMenu() {
10807
10845
  const setPage = useLayoutDataStore((st) => st.setPage);
10808
10846
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10809
10847
  const open = page === "receive";
10810
- const [qrCodeUrl, setQrCodeUrl] = (0, import_react39.useState)("");
10811
- const [copied, setCopied] = (0, import_react39.useState)(false);
10812
- (0, import_react39.useEffect)(() => {
10848
+ const [qrCodeUrl, setQrCodeUrl] = (0, import_react40.useState)("");
10849
+ const [copied, setCopied] = (0, import_react40.useState)(false);
10850
+ (0, import_react40.useEffect)(() => {
10813
10851
  if (open && address) {
10814
10852
  import_qrcode.default.toDataURL(address, {
10815
10853
  width: 200,
@@ -10822,7 +10860,7 @@ function ReceiveLumiaMenu() {
10822
10860
  });
10823
10861
  }
10824
10862
  }, [open, address]);
10825
- const handleCopy = (0, import_react39.useCallback)(async () => {
10863
+ const handleCopy = (0, import_react40.useCallback)(async () => {
10826
10864
  if (!address) return;
10827
10865
  try {
10828
10866
  await navigator.clipboard.writeText(address);
@@ -10837,7 +10875,7 @@ function ReceiveLumiaMenu() {
10837
10875
  {
10838
10876
  style: {
10839
10877
  "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
10840
- "--l-pass-list-scrollbar-pd-r": "8px"
10878
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
10841
10879
  },
10842
10880
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10843
10881
  children: [
@@ -10868,7 +10906,7 @@ function ReceiveLumiaMenu() {
10868
10906
 
10869
10907
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10870
10908
  var import_lucide_react38 = require("lucide-react");
10871
- var import_react40 = require("react");
10909
+ var import_react41 = require("react");
10872
10910
 
10873
10911
  // src/internal/components/SettingsMenu/constants.ts
10874
10912
  var import_lucide_react37 = require("lucide-react");
@@ -10902,13 +10940,13 @@ function SettingsMenu() {
10902
10940
  const setPage = useLayoutDataStore((st) => st.setPage);
10903
10941
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
10904
10942
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
10905
- (0, import_react40.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
10943
+ (0, import_react41.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
10906
10944
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
10907
10945
  const highlightedKeys = settingsNotifications.map((n) => n.target);
10908
10946
  return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10909
10947
  /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10910
10948
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react38.ArrowLeft, { className: "h-4 w-4" }) }),
10911
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "text-xl font-semibold", children: "Wallet Details" })
10949
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "text-xl font-semibold", children: "Settings" })
10912
10950
  ] }),
10913
10951
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
10914
10952
  Button,
@@ -10960,9 +10998,9 @@ function TermsOfService() {
10960
10998
  }
10961
10999
 
10962
11000
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10963
- var import_react_query22 = require("@tanstack/react-query");
11001
+ var import_react_query24 = require("@tanstack/react-query");
10964
11002
  var import_lucide_react41 = require("lucide-react");
10965
- var import_react41 = require("react");
11003
+ var import_react42 = require("react");
10966
11004
 
10967
11005
  // src/internal/components/TransactionsMenu/api.ts
10968
11006
  init_base();
@@ -11438,78 +11476,60 @@ function TransactionsGroup(props) {
11438
11476
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
11439
11477
  var import_jsx_runtime59 = require("react/jsx-runtime");
11440
11478
  function TransactionsMenu() {
11441
- const qc = (0, import_react_query22.useQueryClient)();
11479
+ const qc = (0, import_react_query24.useQueryClient)();
11442
11480
  const address = useLumiaPassportSession((st) => st.address);
11443
11481
  const page = useLayoutDataStore((st) => st.page);
11444
11482
  const setPage = useLayoutDataStore((st) => st.setPage);
11445
11483
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11446
- const txContainerListRef = (0, import_react41.useRef)(null);
11447
- const txListRef = (0, import_react41.useRef)(null);
11448
- const [expandedGroups, setExpandedGroups] = (0, import_react41.useState)({});
11484
+ const [expandedGroups, setExpandedGroups] = (0, import_react42.useState)({});
11449
11485
  const {
11450
11486
  data: txHistoryGroups = [],
11451
11487
  isLoading: isTxHistoryLoading,
11452
11488
  isFetching: isTxHistoryFetching,
11453
11489
  error: txHistoryError
11454
- } = (0, import_react_query22.useQuery)({
11490
+ } = (0, import_react_query24.useQuery)({
11455
11491
  retry: false,
11456
11492
  enabled: !!address && page === "transactions",
11457
11493
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
11458
11494
  queryFn: () => getTransactionsListQuery(address)
11459
11495
  });
11460
- const refreshTxHistory = (0, import_react41.useCallback)(
11496
+ const refreshTxHistory = (0, import_react42.useCallback)(
11461
11497
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
11462
11498
  [qc, address]
11463
11499
  );
11464
11500
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
11465
- (0, import_react41.useEffect)(() => {
11466
- if (!txContainerListRef.current || !txListRef.current) return;
11467
- const listTargetHeight = maxScrollHeight - 128;
11468
- txContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
11469
- txContainerListRef.current.style.setProperty(
11470
- "--l-pass-list-bd",
11471
- txListRef.current.clientHeight >= listTargetHeight ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
11472
- // hide border if no scrollbar
11473
- );
11474
- txContainerListRef.current.style.setProperty(
11475
- "--l-pass-list-scrollbar-pd-r",
11476
- txListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
11477
- // remove padding if no scrollbar
11478
- );
11479
- }, [maxScrollHeight]);
11480
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
11481
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2", children: [
11482
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.ArrowLeft, { className: "h-4 w-4" }) }),
11483
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
11484
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11485
- Button,
11486
- {
11487
- variant: "ghost",
11488
- size: "icon",
11489
- onClick: refreshTxHistory,
11490
- disabled: isTxHistoryFetching,
11491
- title: "Refresh transactions",
11492
- children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.RefreshCw, { className: "h-4 w-4" })
11493
- }
11494
- )
11495
- ] }),
11496
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11497
- isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.Loader, { className: "h-5 w-5 animate-spin" }) }),
11498
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11499
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.XCircle, { className: "w-4 h-4 flex-none" }),
11500
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
11501
- ] }),
11502
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "No transactions found. Smart account transactions will appear here" }) }),
11503
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11504
- "div",
11505
- {
11506
- ref: txContainerListRef,
11507
- style: {
11508
- borderTop: "1px solid var(--l-pass-list-bd)",
11509
- borderBottom: "1px solid var(--l-pass-list-bd)"
11510
- },
11511
- className: "list-scrollbar-y relative",
11512
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { ref: txListRef, className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11501
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
11502
+ "div",
11503
+ {
11504
+ style: {
11505
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
11506
+ "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
11507
+ },
11508
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
11509
+ children: [
11510
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2", children: [
11511
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.ArrowLeft, { className: "h-4 w-4" }) }),
11512
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
11513
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11514
+ Button,
11515
+ {
11516
+ variant: "ghost",
11517
+ size: "icon",
11518
+ onClick: refreshTxHistory,
11519
+ disabled: isTxHistoryFetching,
11520
+ title: "Refresh transactions",
11521
+ children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.RefreshCw, { className: "h-4 w-4" })
11522
+ }
11523
+ )
11524
+ ] }),
11525
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11526
+ isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.Loader, { className: "h-5 w-5 animate-spin" }) }),
11527
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11528
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.XCircle, { className: "w-4 h-4 flex-none" }),
11529
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
11530
+ ] }),
11531
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "No transactions found. Smart account transactions will appear here" }) }),
11532
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11513
11533
  TransactionsGroup,
11514
11534
  {
11515
11535
  group,
@@ -11518,10 +11538,10 @@ function TransactionsMenu() {
11518
11538
  },
11519
11539
  group.id
11520
11540
  )) })
11521
- }
11522
- )
11523
- ] })
11524
- ] });
11541
+ ] })
11542
+ ]
11543
+ }
11544
+ );
11525
11545
  }
11526
11546
 
11527
11547
  // src/internal/components/PageMap.tsx
@@ -11633,7 +11653,7 @@ function usePageMapper() {
11633
11653
  setIsDialogOpen,
11634
11654
  setIsDialogClosing
11635
11655
  } = useLayoutStore();
11636
- const closeDialog = (0, import_react42.useCallback)(() => {
11656
+ const closeDialog = (0, import_react43.useCallback)(() => {
11637
11657
  setIsDialogClosing(true);
11638
11658
  setTimeout(() => {
11639
11659
  setDialogContent(null);
@@ -11644,7 +11664,7 @@ function usePageMapper() {
11644
11664
  setIsDialogOpen(false);
11645
11665
  }, CLEAR_DIALOG_TIMEOUT);
11646
11666
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
11647
- const openDialog = (0, import_react42.useCallback)(
11667
+ const openDialog = (0, import_react43.useCallback)(
11648
11668
  (pageItem) => {
11649
11669
  const PageContentComponent = pageItem.component;
11650
11670
  setDialogTitle(pageItem.title);
@@ -11654,7 +11674,7 @@ function usePageMapper() {
11654
11674
  },
11655
11675
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
11656
11676
  );
11657
- (0, import_react42.useEffect)(() => {
11677
+ (0, import_react43.useEffect)(() => {
11658
11678
  if (page === null) return closeDialog();
11659
11679
  const pageItem = protectedRoutes[page];
11660
11680
  if (!pageItem) {
@@ -11667,7 +11687,7 @@ function usePageMapper() {
11667
11687
  }
11668
11688
 
11669
11689
  // src/internal/hooks/useSettingsNotifications.ts
11670
- var import_react43 = require("react");
11690
+ var import_react44 = require("react");
11671
11691
  init_auth();
11672
11692
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
11673
11693
  id: "email-not-connected",
@@ -11684,13 +11704,13 @@ function useSettingsNotifications() {
11684
11704
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
11685
11705
  const providers = import_auth3.jwtTokenManager.getProviders();
11686
11706
  const hasEmail = providers.includes("email");
11687
- (0, import_react43.useEffect)(() => {
11707
+ (0, import_react44.useEffect)(() => {
11688
11708
  setSettingsNotifications({
11689
11709
  ...BACKUP_IS_NOT_CREATED_NOTIFICATION,
11690
11710
  status: hasServerVault ? "resolved" : "active"
11691
11711
  });
11692
11712
  }, [hasServerVault, setSettingsNotifications]);
11693
- (0, import_react43.useEffect)(() => {
11713
+ (0, import_react44.useEffect)(() => {
11694
11714
  setSettingsNotifications({
11695
11715
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
11696
11716
  status: hasEmail ? "resolved" : "active"
@@ -11699,7 +11719,7 @@ function useSettingsNotifications() {
11699
11719
  }
11700
11720
 
11701
11721
  // src/internal/hooks/useWalletStatus.ts
11702
- var import_react44 = require("react");
11722
+ var import_react45 = require("react");
11703
11723
  init_auth();
11704
11724
  function useWalletStatus() {
11705
11725
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
@@ -11709,7 +11729,7 @@ function useWalletStatus() {
11709
11729
  config: { current: config },
11710
11730
  callbacks
11711
11731
  } = useLumiaPassportConfig();
11712
- (0, import_react44.useEffect)(() => {
11732
+ (0, import_react45.useEffect)(() => {
11713
11733
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
11714
11734
  const userId = import_auth3.jwtTokenManager.getUserId();
11715
11735
  const hasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare();
@@ -11738,7 +11758,7 @@ function LumiaPassportDialog() {
11738
11758
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
11739
11759
  const setPage = useLayoutDataStore((st) => st.setPage);
11740
11760
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
11741
- (0, import_react45.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
11761
+ (0, import_react46.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
11742
11762
  usePageMapper();
11743
11763
  useAutoConnect();
11744
11764
  useCheckVaultStatus();
@@ -11777,23 +11797,23 @@ function LumiaPassportDialog() {
11777
11797
  }
11778
11798
 
11779
11799
  // src/internal/components/TssManager.tsx
11780
- var import_react46 = __toESM(require("react"), 1);
11800
+ var import_react47 = __toESM(require("react"), 1);
11781
11801
  init_auth();
11782
11802
  init_clients();
11783
- var TssManagerWithRef = import_react46.default.forwardRef((props, ref) => {
11803
+ var TssManagerWithRef = import_react47.default.forwardRef((props, ref) => {
11784
11804
  const { mpcPin } = props;
11785
11805
  const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
11786
11806
  const setStatus = useLumiaPassportSession((st) => st.setStatus);
11787
11807
  const setSession = useLumiaPassportSession((st) => st.setSession);
11788
11808
  const setAddress = useLumiaPassportSession((st) => st.setAddress);
11789
- const onSessionCreated = (0, import_react46.useCallback)(
11809
+ const onSessionCreated = (0, import_react47.useCallback)(
11790
11810
  (session, address) => {
11791
11811
  setSession(session);
11792
11812
  setAddress(address);
11793
11813
  },
11794
11814
  [setSession, setAddress]
11795
11815
  );
11796
- const createSessionWithKeyshare = import_react46.default.useCallback(
11816
+ const createSessionWithKeyshare = import_react47.default.useCallback(
11797
11817
  async (userId, hasServerKeyshare, isNewUser) => {
11798
11818
  setStatus("checking key management setup...");
11799
11819
  await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
@@ -11814,18 +11834,18 @@ var TssManagerWithRef = import_react46.default.forwardRef((props, ref) => {
11814
11834
  },
11815
11835
  [setStatus, usePaymaster, mpcPin]
11816
11836
  );
11817
- import_react46.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
11837
+ import_react47.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
11818
11838
  return null;
11819
11839
  });
11820
11840
 
11821
11841
  // src/internal/components/WalletConnectHandler.tsx
11822
11842
  var import_rainbowkit = require("@rainbow-me/rainbowkit");
11823
- var import_react_query23 = require("@tanstack/react-query");
11824
- var import_react47 = __toESM(require("react"), 1);
11843
+ var import_react_query25 = require("@tanstack/react-query");
11844
+ var import_react48 = __toESM(require("react"), 1);
11825
11845
  var import_wagmi4 = require("wagmi");
11826
11846
  init_wallet();
11827
11847
  function WalletConnectHandler() {
11828
- const qc = (0, import_react_query23.useQueryClient)();
11848
+ const qc = (0, import_react_query25.useQueryClient)();
11829
11849
  const { callbacks } = useLumiaPassportConfig();
11830
11850
  const userAddress = useLumiaPassportSession((st) => st.address);
11831
11851
  const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi4.useAccount)();
@@ -11833,12 +11853,12 @@ function WalletConnectHandler() {
11833
11853
  const { signMessageAsync } = (0, import_wagmi4.useSignMessage)();
11834
11854
  const setPage = useLayoutDataStore((st) => st.setPage);
11835
11855
  const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
11836
- const onError = (0, import_react47.useCallback)((error) => {
11856
+ const onError = (0, import_react48.useCallback)((error) => {
11837
11857
  setLinkError(error);
11838
11858
  setIsWalletLinking(false);
11839
11859
  setPage("manage-wallet" /* MANAGE_WALLET */);
11840
11860
  }, []);
11841
- const onLinkingComplete = (0, import_react47.useCallback)(
11861
+ const onLinkingComplete = (0, import_react48.useCallback)(
11842
11862
  async (success) => {
11843
11863
  console.log("[WalletConnectHandler] onLinkingComplete called:", { success, userAddress });
11844
11864
  setIsWalletLinking(false);
@@ -11861,9 +11881,9 @@ function WalletConnectHandler() {
11861
11881
  [qc, userAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
11862
11882
  );
11863
11883
  const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
11864
- const [hasStartedLinking, setHasStartedLinking] = import_react47.default.useState(false);
11865
- const timeoutRef = import_react47.default.useRef();
11866
- (0, import_react47.useEffect)(() => {
11884
+ const [hasStartedLinking, setHasStartedLinking] = import_react48.default.useState(false);
11885
+ const timeoutRef = import_react48.default.useRef();
11886
+ (0, import_react48.useEffect)(() => {
11867
11887
  if (isWalletLinking && !hasStartedLinking) {
11868
11888
  setHasStartedLinking(true);
11869
11889
  setProviderType(null);
@@ -11888,7 +11908,7 @@ function WalletConnectHandler() {
11888
11908
  if (isConnected) disconnect();
11889
11909
  }
11890
11910
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
11891
- (0, import_react47.useEffect)(() => {
11911
+ (0, import_react48.useEffect)(() => {
11892
11912
  console.log("[WalletConnectHandler] Modal state check:", {
11893
11913
  hasStartedLinking,
11894
11914
  connectModalOpen,
@@ -11901,7 +11921,7 @@ function WalletConnectHandler() {
11901
11921
  setHasStartedLinking(false);
11902
11922
  }
11903
11923
  }, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
11904
- (0, import_react47.useEffect)(() => {
11924
+ (0, import_react48.useEffect)(() => {
11905
11925
  if (isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
11906
11926
  handleWalletSign();
11907
11927
  }
@@ -11972,7 +11992,8 @@ var useLumiaPassportSession = (0, import_zustand5.create)((set) => ({
11972
11992
  error: null,
11973
11993
  recoveryUserId: null,
11974
11994
  isIframeReady: false,
11975
- hasServerVault: false,
11995
+ hasServerVault: true,
11996
+ // assume true until proven otherwise to not throw red warnings before checking
11976
11997
  walletReadyStatus: null,
11977
11998
  setIsLoading: (isLoading) => set({ isLoading }),
11978
11999
  setUsePaymaster: (usePaymaster) => set({ usePaymaster }),
@@ -11987,7 +12008,7 @@ var useLumiaPassportSession = (0, import_zustand5.create)((set) => ({
11987
12008
  }));
11988
12009
  function LumiaPassportSessionProvider({ children }) {
11989
12010
  const config = useLumiaPassportConfig().config;
11990
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_react48.Fragment, { children: [
12011
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_react49.Fragment, { children: [
11991
12012
  children,
11992
12013
  config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WalletConnectHandler, {}),
11993
12014
  /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BalanceFeedProvider, {}),
@@ -12039,14 +12060,14 @@ var LumiaWagmiProvider = ({ children }) => {
12039
12060
 
12040
12061
  // src/context/LumiaPassportContext.tsx
12041
12062
  var import_jsx_runtime64 = require("react/jsx-runtime");
12042
- var LumiaPassportContext = (0, import_react49.createContext)(void 0);
12063
+ var LumiaPassportContext = (0, import_react50.createContext)(void 0);
12043
12064
  function LumiaPassportProvider(props) {
12044
12065
  const { children, projectId, initialConfig = {}, callbacks } = props;
12045
12066
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
12046
12067
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
12047
- (0, import_react49.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
12048
- const config = (0, import_react49.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
12049
- const updateConfig = (0, import_react49.useCallback)((updates) => {
12068
+ (0, import_react50.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
12069
+ const config = (0, import_react50.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
12070
+ const updateConfig = (0, import_react50.useCallback)((updates) => {
12050
12071
  const prev = config.current;
12051
12072
  const next = { ...prev };
12052
12073
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -12081,7 +12102,7 @@ function LumiaPassportProvider(props) {
12081
12102
  }
12082
12103
  config.current = next;
12083
12104
  }, []);
12084
- (0, import_react49.useEffect)(() => {
12105
+ (0, import_react50.useEffect)(() => {
12085
12106
  if (typeof window === "undefined" || !projectId) return;
12086
12107
  const mergedConfig = (0, import_lodash_es4.merge)(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
12087
12108
  updateConfig(mergedConfig);
@@ -12126,18 +12147,18 @@ function LumiaPassportProvider(props) {
12126
12147
  console.error("[LumiaPassport] Error setting up iframe manager:", error);
12127
12148
  }
12128
12149
  }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
12129
- const contextValue = (0, import_react49.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
12150
+ const contextValue = (0, import_react50.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
12130
12151
  return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
12131
12152
  }
12132
12153
  var useLumiaPassportConfig = () => {
12133
- const ctx = (0, import_react49.useContext)(LumiaPassportContext);
12154
+ const ctx = (0, import_react50.useContext)(LumiaPassportContext);
12134
12155
  if (!ctx) throw new Error("useLumiaPassportConfig must be used within a LumiaPassportProvider");
12135
12156
  return ctx;
12136
12157
  };
12137
12158
 
12138
12159
  // src/components/ConnectWalletButton.tsx
12139
12160
  var import_lucide_react42 = require("lucide-react");
12140
- var import_react50 = require("react");
12161
+ var import_react51 = require("react");
12141
12162
  init_auth();
12142
12163
  var import_jsx_runtime65 = (
12143
12164
  /** external Buttons can be provided */
@@ -12160,10 +12181,10 @@ function ConnectWalletButton(props) {
12160
12181
  const colorMode = useLayoutStore((st) => st.colorMode);
12161
12182
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
12162
12183
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
12163
- (0, import_react50.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12184
+ (0, import_react51.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12164
12185
  const avatar = import_auth3.jwtTokenManager.getAvatar();
12165
12186
  const displayName = import_auth3.jwtTokenManager.getDisplayName();
12166
- const indicators = (0, import_react50.useMemo)(() => {
12187
+ const indicators = (0, import_react51.useMemo)(() => {
12167
12188
  const userId = import_auth3.jwtTokenManager.getUserId();
12168
12189
  if (!userId) return { server: false, local: false, backup: false };
12169
12190
  const server = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
@@ -12318,13 +12339,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
12318
12339
  var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
12319
12340
 
12320
12341
  // src/hooks/useLumiaPassportOpen.ts
12321
- var import_react51 = require("react");
12342
+ var import_react52 = require("react");
12322
12343
  function useLumiaPassportOpen() {
12323
12344
  const page = useLayoutDataStore((st) => st.page);
12324
12345
  const setPage = useLayoutDataStore((st) => st.setPage);
12325
12346
  const setPageParams = useLayoutDataStore((st) => st.setPageParams);
12326
12347
  const address = useLumiaPassportSession((st) => st.address);
12327
- const open = (0, import_react51.useCallback)(
12348
+ const open = (0, import_react52.useCallback)(
12328
12349
  (passportPage, params) => {
12329
12350
  if (!address) return setPage("auth" /* AUTH */);
12330
12351
  if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -12333,12 +12354,12 @@ function useLumiaPassportOpen() {
12333
12354
  },
12334
12355
  [setPage, setPageParams, address]
12335
12356
  );
12336
- const close = (0, import_react51.useCallback)(() => setPage(null), [setPage]);
12357
+ const close = (0, import_react52.useCallback)(() => setPage(null), [setPage]);
12337
12358
  return { open, close, isOpen: page !== null };
12338
12359
  }
12339
12360
 
12340
12361
  // src/hooks/useLumiaPassportColorMode.ts
12341
- var import_react52 = require("react");
12362
+ var import_react53 = require("react");
12342
12363
  function useLumiaPassportColorMode() {
12343
12364
  const {
12344
12365
  config: { current: config }
@@ -12346,14 +12367,14 @@ function useLumiaPassportColorMode() {
12346
12367
  const preferedColorMode = config?.preferedColorMode;
12347
12368
  const colorMode = useLayoutStore((st) => st.colorMode);
12348
12369
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
12349
- const setColorMode = (0, import_react52.useCallback)(
12370
+ const setColorMode = (0, import_react53.useCallback)(
12350
12371
  (mode) => {
12351
12372
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
12352
12373
  handleStoreColorMode(mode);
12353
12374
  },
12354
12375
  [handleStoreColorMode]
12355
12376
  );
12356
- (0, import_react52.useEffect)(() => {
12377
+ (0, import_react53.useEffect)(() => {
12357
12378
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
12358
12379
  if (!targetColorMode && !preferedColorMode) {
12359
12380
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -12395,9 +12416,8 @@ function ThemeToggle(props) {
12395
12416
  }
12396
12417
 
12397
12418
  // src/context/RainbowKitContext.tsx
12398
- var import_react53 = __toESM(require("react"), 1);
12399
- var import_styles = require("@rainbow-me/rainbowkit/styles.css");
12400
12419
  var import_rainbowkit3 = require("@rainbow-me/rainbowkit");
12420
+ var import_react54 = require("react");
12401
12421
  var import_wagmi8 = require("wagmi");
12402
12422
 
12403
12423
  // src/config/rainbowkit.ts
@@ -12437,144 +12457,220 @@ var rainbowConfig = createRainbowConfig();
12437
12457
  var rainbowTheme = {
12438
12458
  lightMode: {
12439
12459
  colors: {
12440
- accentColor: "#6366F1",
12441
- accentColorForeground: "white",
12442
- actionButtonBorder: "rgba(255, 255, 255, 0.04)",
12443
- actionButtonBorderMobile: "rgba(255, 255, 255, 0.08)",
12444
- actionButtonSecondaryBackground: "rgba(255, 255, 255, 0.08)",
12445
- closeButton: "rgba(60, 66, 82, 0.8)",
12446
- closeButtonBackground: "rgba(255, 255, 255, 0.08)",
12447
- connectButtonBackground: "white",
12448
- connectButtonBackgroundError: "#FF494A",
12449
- connectButtonInnerBackground: "linear-gradient(0deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.15))",
12450
- connectButtonText: "#1A1B1F",
12451
- connectButtonTextError: "white",
12452
- connectionIndicator: "#30E000",
12453
- downloadBottomCardBackground: "linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(120, 120, 120, 0.2) 71.04%), #FFFFFF",
12454
- downloadTopCardBackground: "linear-gradient(126deg, rgba(120, 120, 120, 0.2) 9.49%, rgba(0, 0, 0, 0) 71.04%), white",
12455
- error: "#FF494A",
12456
- generalBorder: "rgba(0, 0, 0, 0.06)",
12457
- generalBorderDim: "rgba(0, 0, 0, 0.03)",
12458
- menuItemBackground: "rgba(60, 66, 82, 0.1)",
12459
- modalBackdrop: "rgba(0, 0, 0, 0.3)",
12460
- modalBackground: "white",
12461
- modalBorder: "rgba(0, 0, 0, 0.06)",
12462
- modalText: "#1A1B1F",
12463
- modalTextDim: "rgba(60, 66, 82, 0.3)",
12464
- modalTextSecondary: "rgba(60, 66, 82, 0.6)",
12465
- profileAction: "white",
12466
- profileActionHover: "rgba(255, 255, 255, 0.08)",
12467
- profileForeground: "rgba(60, 66, 82, 0.06)",
12468
- selectedOptionBorder: "rgba(60, 66, 82, 0.1)",
12469
- standby: "#FFD641"
12460
+ // Primary accent - using --l-pass-primary
12461
+ accentColor: "#000000",
12462
+ // --l-pass-primary
12463
+ accentColorForeground: "#ffffff",
12464
+ // --l-pass-fg-inverted
12465
+ // Borders
12466
+ actionButtonBorder: "rgb(201, 201, 201)",
12467
+ // --l-pass-bd
12468
+ actionButtonBorderMobile: "rgb(169, 169, 169)",
12469
+ // --l-pass-bd-intense
12470
+ // Secondary backgrounds
12471
+ actionButtonSecondaryBackground: "#e4e4e4",
12472
+ // --l-pass-secondary
12473
+ // Close button
12474
+ closeButton: "rgba(0, 0, 0, 0.6)",
12475
+ // --l-pass-fg-h
12476
+ closeButtonBackground: "#e4e4e4",
12477
+ // --l-pass-secondary
12478
+ // Connect button
12479
+ connectButtonBackground: "#ffffff",
12480
+ // --l-pass-bg
12481
+ connectButtonBackgroundError: "#d6204e",
12482
+ // --l-pass-bg-error
12483
+ connectButtonInnerBackground: "linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.02))",
12484
+ connectButtonText: "#000000",
12485
+ // --l-pass-fg
12486
+ connectButtonTextError: "#ffffff",
12487
+ // --l-pass-error
12488
+ // Status indicators
12489
+ connectionIndicator: "#21ff51",
12490
+ // --l-pass-bg-success
12491
+ standby: "#e9fa00",
12492
+ // --l-pass-bg-warning
12493
+ error: "#d6204e",
12494
+ // --l-pass-bg-error
12495
+ // Card backgrounds
12496
+ downloadBottomCardBackground: "linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(0, 0, 0, 0.05) 71.04%), #ffffff",
12497
+ downloadTopCardBackground: "linear-gradient(126deg, rgba(0, 0, 0, 0.05) 9.49%, rgba(0, 0, 0, 0) 71.04%), #ffffff",
12498
+ // Borders
12499
+ generalBorder: "rgb(201, 201, 201)",
12500
+ // --l-pass-bd
12501
+ generalBorderDim: "rgba(201, 201, 201, 0.5)",
12502
+ // Menu items
12503
+ menuItemBackground: "#e4e4e4",
12504
+ // --l-pass-secondary
12505
+ // Modal
12506
+ modalBackdrop: "rgba(255, 255, 255, 0.8)",
12507
+ // --l-pass-overlay
12508
+ modalBackground: "#ffffff",
12509
+ // --l-pass-bg
12510
+ modalBorder: "rgb(201, 201, 201)",
12511
+ // --l-pass-bd
12512
+ modalText: "#000000",
12513
+ // --l-pass-fg
12514
+ modalTextDim: "rgba(0, 0, 0, 0.4)",
12515
+ // --l-pass-fg-a
12516
+ modalTextSecondary: "rgba(0, 0, 0, 0.6)",
12517
+ // --l-pass-fg-h
12518
+ // Profile
12519
+ profileAction: "#ffffff",
12520
+ // --l-pass-bg
12521
+ profileActionHover: "#e4e4e4",
12522
+ // --l-pass-secondary
12523
+ profileForeground: "#e4e4e4",
12524
+ // --l-pass-secondary
12525
+ // Selection
12526
+ selectedOptionBorder: "rgb(169, 169, 169)"
12527
+ // --l-pass-bd-intense
12470
12528
  },
12471
12529
  shadows: {
12472
- connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
12473
- dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
12474
- profileDetailsAction: "0px 2px 6px rgba(37, 41, 46, 0.04)",
12475
- selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
12476
- selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
12477
- walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.16)"
12530
+ connectButton: "0px 4px 10px rgba(0, 0, 0, 0.1)",
12531
+ // matches --l-pass-shadow-c
12532
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.1)",
12533
+ profileDetailsAction: "0px 2px 6px rgba(0, 0, 0, 0.1)",
12534
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.1)",
12535
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.1)",
12536
+ walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.1)"
12478
12537
  },
12479
12538
  radii: {
12480
- actionButton: "24px",
12481
- connectButton: "24px",
12482
- menuButton: "12px",
12483
- modal: "24px",
12484
- modalMobile: "24px"
12539
+ actionButton: "10px",
12540
+ // --l-pass-el-bdrs
12541
+ connectButton: "20px",
12542
+ // --l-pass-bdrs
12543
+ menuButton: "10px",
12544
+ // --l-pass-el-bdrs
12545
+ modal: "20px",
12546
+ // --l-pass-bdrs
12547
+ modalMobile: "20px"
12548
+ // --l-pass-bdrs
12485
12549
  }
12486
12550
  },
12487
12551
  darkMode: {
12488
12552
  colors: {
12489
- accentColor: "#6366F1",
12490
- accentColorForeground: "white",
12491
- actionButtonBorder: "rgba(255, 255, 255, 0.04)",
12492
- actionButtonBorderMobile: "rgba(255, 255, 255, 0.08)",
12493
- actionButtonSecondaryBackground: "rgba(255, 255, 255, 0.08)",
12494
- closeButton: "rgba(224, 232, 255, 0.6)",
12495
- closeButtonBackground: "rgba(255, 255, 255, 0.08)",
12496
- connectButtonBackground: "#1A1B1F",
12497
- connectButtonBackgroundError: "#FF494A",
12498
- connectButtonInnerBackground: "linear-gradient(0deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.15))",
12499
- connectButtonText: "white",
12500
- connectButtonTextError: "white",
12501
- connectionIndicator: "#30E000",
12502
- downloadBottomCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(120, 120, 120, 0.1) 71.04%), #1A1B1F",
12503
- downloadTopCardBackground: "linear-gradient(126deg, rgba(120, 120, 120, 0.1) 9.49%, rgba(255, 255, 255, 0) 71.04%), #1A1B1F",
12504
- error: "#FF494A",
12505
- generalBorder: "rgba(255, 255, 255, 0.08)",
12506
- generalBorderDim: "rgba(255, 255, 255, 0.04)",
12507
- menuItemBackground: "rgba(224, 232, 255, 0.1)",
12508
- modalBackdrop: "rgba(0, 0, 0, 0.5)",
12509
- modalBackground: "#1A1B1F",
12510
- modalBorder: "rgba(255, 255, 255, 0.08)",
12511
- modalText: "white",
12512
- modalTextDim: "rgba(224, 232, 255, 0.3)",
12513
- modalTextSecondary: "rgba(224, 232, 255, 0.6)",
12514
- profileAction: "#1A1B1F",
12515
- profileActionHover: "rgba(224, 232, 255, 0.1)",
12516
- profileForeground: "rgba(224, 232, 255, 0.06)",
12517
- selectedOptionBorder: "rgba(224, 232, 255, 0.1)",
12518
- standby: "#FFD641"
12553
+ // Primary accent - using --l-pass-primary
12554
+ accentColor: "#ffffff",
12555
+ // --l-pass-primary
12556
+ accentColorForeground: "#000000",
12557
+ // --l-pass-fg-inverted
12558
+ // Borders
12559
+ actionButtonBorder: "#3a3a3a",
12560
+ // --l-pass-bd
12561
+ actionButtonBorderMobile: "#4a4a4a",
12562
+ // --l-pass-bd-intense
12563
+ // Secondary backgrounds
12564
+ actionButtonSecondaryBackground: "#2a2a2a",
12565
+ // --l-pass-secondary
12566
+ // Close button
12567
+ closeButton: "rgba(255, 255, 255, 0.6)",
12568
+ // --l-pass-fg-h
12569
+ closeButtonBackground: "#2a2a2a",
12570
+ // --l-pass-secondary
12571
+ // Connect button
12572
+ connectButtonBackground: "#1a1a1a",
12573
+ // --l-pass-bg
12574
+ connectButtonBackgroundError: "#d6204e",
12575
+ // --l-pass-bg-error
12576
+ connectButtonInnerBackground: "linear-gradient(0deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02))",
12577
+ connectButtonText: "#ffffff",
12578
+ // --l-pass-fg
12579
+ connectButtonTextError: "#ffffff",
12580
+ // --l-pass-error
12581
+ // Status indicators
12582
+ connectionIndicator: "#21ff51",
12583
+ // --l-pass-bg-success
12584
+ standby: "#e9fa00",
12585
+ // --l-pass-bg-warning
12586
+ error: "#d6204e",
12587
+ // --l-pass-bg-error
12588
+ // Card backgrounds
12589
+ downloadBottomCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(255, 255, 255, 0.05) 71.04%), #1a1a1a",
12590
+ downloadTopCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0.05) 9.49%, rgba(255, 255, 255, 0) 71.04%), #1a1a1a",
12591
+ // Borders
12592
+ generalBorder: "#3a3a3a",
12593
+ // --l-pass-bd
12594
+ generalBorderDim: "rgba(58, 58, 58, 0.5)",
12595
+ // Menu items
12596
+ menuItemBackground: "#2a2a2a",
12597
+ // --l-pass-secondary
12598
+ // Modal
12599
+ modalBackdrop: "rgba(0, 0, 0, 0.8)",
12600
+ // --l-pass-overlay
12601
+ modalBackground: "#1a1a1a",
12602
+ // --l-pass-bg
12603
+ modalBorder: "#3a3a3a",
12604
+ // --l-pass-bd
12605
+ modalText: "#ffffff",
12606
+ // --l-pass-fg
12607
+ modalTextDim: "rgba(255, 255, 255, 0.4)",
12608
+ // --l-pass-fg-a
12609
+ modalTextSecondary: "rgba(255, 255, 255, 0.6)",
12610
+ // --l-pass-fg-h
12611
+ // Profile
12612
+ profileAction: "#1a1a1a",
12613
+ // --l-pass-bg
12614
+ profileActionHover: "#2a2a2a",
12615
+ // --l-pass-secondary
12616
+ profileForeground: "#2a2a2a",
12617
+ // --l-pass-secondary
12618
+ // Selection
12619
+ selectedOptionBorder: "#4a4a4a"
12620
+ // --l-pass-bd-intense
12519
12621
  },
12520
12622
  shadows: {
12521
- connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
12522
- dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
12523
- profileDetailsAction: "0px 2px 6px rgba(37, 41, 46, 0.04)",
12524
- selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
12525
- selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
12526
- walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.16)"
12623
+ connectButton: "0px 4px 10px rgba(0, 0, 0, 0.5)",
12624
+ // matches --l-pass-shadow-c
12625
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.5)",
12626
+ profileDetailsAction: "0px 2px 6px rgba(0, 0, 0, 0.5)",
12627
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.5)",
12628
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.5)",
12629
+ walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.5)"
12527
12630
  },
12528
12631
  radii: {
12529
- actionButton: "24px",
12530
- connectButton: "24px",
12531
- menuButton: "12px",
12532
- modal: "24px",
12533
- modalMobile: "24px"
12632
+ actionButton: "10px",
12633
+ // --l-pass-el-bdrs
12634
+ connectButton: "20px",
12635
+ // --l-pass-bdrs
12636
+ menuButton: "10px",
12637
+ // --l-pass-el-bdrs
12638
+ modal: "20px",
12639
+ // --l-pass-bdrs
12640
+ modalMobile: "20px"
12641
+ // --l-pass-bdrs
12534
12642
  }
12535
12643
  }
12536
12644
  };
12537
12645
 
12538
12646
  // src/context/RainbowKitContext.tsx
12647
+ var import_styles = require("@rainbow-me/rainbowkit/styles.css");
12539
12648
  var import_jsx_runtime67 = require("react/jsx-runtime");
12540
- var LumiaRainbowKitProvider = ({ children }) => {
12541
- const {
12542
- config: { current: config }
12543
- } = useLumiaPassportConfig();
12544
- const isDark = useLayoutStore((st) => st.colorMode === "dark");
12545
- const rainbowConfig2 = import_react53.default.useMemo(() => {
12546
- return createRainbowConfig(config.wallet?.walletConnectProjectId);
12547
- }, [config.wallet?.walletConnectProjectId]);
12548
- const customTheme = import_react53.default.useMemo(
12549
- () => isDark ? {
12649
+ function LumiaRainbowKitProvider({ children }) {
12650
+ const config = useLumiaPassportConfig().config;
12651
+ const colorMode = useLayoutStore((st) => st.colorMode);
12652
+ const rainbowConfig2 = (0, import_react54.useMemo)(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
12653
+ const customTheme = (0, import_react54.useMemo)(
12654
+ () => colorMode === "dark" ? {
12550
12655
  ...(0, import_rainbowkit3.darkTheme)(),
12551
- colors: {
12552
- ...(0, import_rainbowkit3.darkTheme)().colors,
12553
- ...rainbowTheme.darkMode.colors
12554
- },
12656
+ colors: { ...(0, import_rainbowkit3.darkTheme)().colors, ...rainbowTheme.darkMode.colors },
12555
12657
  shadows: rainbowTheme.darkMode.shadows,
12556
12658
  radii: rainbowTheme.darkMode.radii
12557
12659
  } : {
12558
12660
  ...(0, import_rainbowkit3.lightTheme)(),
12559
- colors: {
12560
- ...(0, import_rainbowkit3.lightTheme)().colors,
12561
- ...rainbowTheme.lightMode.colors
12562
- },
12661
+ colors: { ...(0, import_rainbowkit3.lightTheme)().colors, ...rainbowTheme.lightMode.colors },
12563
12662
  shadows: rainbowTheme.lightMode.shadows,
12564
12663
  radii: rainbowTheme.lightMode.radii
12565
12664
  },
12566
- [isDark]
12665
+ [colorMode]
12567
12666
  );
12568
- const isWalletEnabled = config.wallet?.enabled ?? false;
12569
- if (!isWalletEnabled) {
12570
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_jsx_runtime67.Fragment, { children });
12571
- }
12667
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_jsx_runtime67.Fragment, { children });
12572
12668
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_wagmi8.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
12573
- };
12669
+ }
12574
12670
 
12575
12671
  // src/internal/components/UserOpStatus.tsx
12576
12672
  var import_lucide_react45 = require("lucide-react");
12577
- var React16 = __toESM(require("react"), 1);
12673
+ var React15 = __toESM(require("react"), 1);
12578
12674
  init_base();
12579
12675
 
12580
12676
  // src/internal/utils/cn.ts
@@ -12586,7 +12682,7 @@ function cn2(...inputs) {
12586
12682
 
12587
12683
  // src/internal/components/Address.tsx
12588
12684
  var import_lucide_react44 = require("lucide-react");
12589
- var React15 = __toESM(require("react"), 1);
12685
+ var React14 = __toESM(require("react"), 1);
12590
12686
  var import_jsx_runtime68 = require("react/jsx-runtime");
12591
12687
  function toExplorerAddressUrl(address, chain) {
12592
12688
  const base2 = chain?.blockExplorers?.default?.url;
@@ -12608,7 +12704,7 @@ var Address = ({
12608
12704
  }) => {
12609
12705
  const addr = address || "";
12610
12706
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
12611
- const [copied, setCopied] = React15.useState(false);
12707
+ const [copied, setCopied] = React14.useState(false);
12612
12708
  if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12613
12709
  return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
12614
12710
  label && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-sm font-medium", children: label }),
@@ -12681,20 +12777,20 @@ var UserOpStatus = ({
12681
12777
  externalState
12682
12778
  }) => {
12683
12779
  const useExternalState = !!externalState;
12684
- const [internalReceipt, setInternalReceipt] = React16.useState(null);
12685
- const [internalMempool, setInternalMempool] = React16.useState(null);
12686
- const [internalError, setInternalError] = React16.useState(null);
12687
- const [attempt, setAttempt] = React16.useState(0);
12688
- const [internalRefreshing, setInternalRefreshing] = React16.useState(false);
12689
- const [timedOut, setTimedOut] = React16.useState(false);
12690
- const [rejected, setRejected] = React16.useState(false);
12691
- const intervalRef = React16.useRef(null);
12692
- const startTimeRef = React16.useRef(Date.now());
12780
+ const [internalReceipt, setInternalReceipt] = React15.useState(null);
12781
+ const [internalMempool, setInternalMempool] = React15.useState(null);
12782
+ const [internalError, setInternalError] = React15.useState(null);
12783
+ const [attempt, setAttempt] = React15.useState(0);
12784
+ const [internalRefreshing, setInternalRefreshing] = React15.useState(false);
12785
+ const [timedOut, setTimedOut] = React15.useState(false);
12786
+ const [rejected, setRejected] = React15.useState(false);
12787
+ const intervalRef = React15.useRef(null);
12788
+ const startTimeRef = React15.useRef(Date.now());
12693
12789
  const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
12694
12790
  const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
12695
12791
  const error = useExternalState ? externalState.error ?? null : internalError;
12696
12792
  const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
12697
- const rpc = React16.useCallback(async (method, params) => {
12793
+ const rpc = React15.useCallback(async (method, params) => {
12698
12794
  const body = { jsonrpc: "2.0", id: 1, method, params };
12699
12795
  const res = await fetch(getBundlerUrl(), {
12700
12796
  method: "POST",
@@ -12705,14 +12801,14 @@ var UserOpStatus = ({
12705
12801
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
12706
12802
  return json.result;
12707
12803
  }, []);
12708
- const extractMempoolInfo = React16.useCallback((m) => {
12804
+ const extractMempoolInfo = React15.useCallback((m) => {
12709
12805
  if (!m) return null;
12710
12806
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
12711
12807
  const sender = m.sender || m?.userOperation?.sender || null;
12712
12808
  if (!entryPoint && !sender) return null;
12713
12809
  return { entryPoint, sender };
12714
12810
  }, []);
12715
- const tick = React16.useCallback(async () => {
12811
+ const tick = React15.useCallback(async () => {
12716
12812
  if (useExternalState) return;
12717
12813
  const elapsed = Date.now() - startTimeRef.current;
12718
12814
  if (elapsed > maxPollTimeMs) {
@@ -12756,7 +12852,7 @@ var UserOpStatus = ({
12756
12852
  setAttempt((x) => x + 1);
12757
12853
  }
12758
12854
  }, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
12759
- React16.useEffect(() => {
12855
+ React15.useEffect(() => {
12760
12856
  if (useExternalState) return;
12761
12857
  console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
12762
12858
  startTimeRef.current = Date.now();
@@ -12768,7 +12864,7 @@ var UserOpStatus = ({
12768
12864
  setAttempt(0);
12769
12865
  setInternalRefreshing(false);
12770
12866
  }, [userOpHash, useExternalState]);
12771
- React16.useEffect(() => {
12867
+ React15.useEffect(() => {
12772
12868
  if (useExternalState) {
12773
12869
  console.log("[UserOpStatus] Using external state, skipping internal polling");
12774
12870
  return;
@@ -12945,7 +13041,7 @@ var UserOpStatus = ({
12945
13041
 
12946
13042
  // src/internal/components/Hash.tsx
12947
13043
  var import_lucide_react46 = require("lucide-react");
12948
- var React17 = __toESM(require("react"), 1);
13044
+ var React16 = __toESM(require("react"), 1);
12949
13045
  var import_jsx_runtime71 = require("react/jsx-runtime");
12950
13046
  function toExplorerUrl(kind, value, chain) {
12951
13047
  const base2 = chain?.blockExplorers?.default?.url;
@@ -12969,7 +13065,7 @@ var Hash = ({
12969
13065
  }) => {
12970
13066
  const value = hash || "";
12971
13067
  const explorer = toExplorerUrl(kind, value, chain || void 0);
12972
- const [copied, setCopied] = React17.useState(false);
13068
+ const [copied, setCopied] = React16.useState(false);
12973
13069
  if (!value) return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12974
13070
  return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
12975
13071
  label && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-sm font-medium", children: label }),
@@ -13006,14 +13102,14 @@ var Hash = ({
13006
13102
  };
13007
13103
 
13008
13104
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
13009
- var import_react54 = require("react");
13105
+ var import_react55 = require("react");
13010
13106
  init_base();
13011
13107
  var import_jsx_runtime72 = require("react/jsx-runtime");
13012
13108
  var TransactionsList = ({ address, itemsCount = 10 }) => {
13013
- const [transactions, setTransactions] = (0, import_react54.useState)([]);
13014
- const [loading, setLoading] = (0, import_react54.useState)(true);
13015
- const [error, setError] = (0, import_react54.useState)(null);
13016
- (0, import_react54.useEffect)(() => {
13109
+ const [transactions, setTransactions] = (0, import_react55.useState)([]);
13110
+ const [loading, setLoading] = (0, import_react55.useState)(true);
13111
+ const [error, setError] = (0, import_react55.useState)(null);
13112
+ (0, import_react55.useEffect)(() => {
13017
13113
  const fetchTransactions = async () => {
13018
13114
  try {
13019
13115
  setLoading(true);
@@ -13132,7 +13228,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
13132
13228
  };
13133
13229
 
13134
13230
  // src/hooks/useUserOpStatus.ts
13135
- var React19 = __toESM(require("react"), 1);
13231
+ var React18 = __toESM(require("react"), 1);
13136
13232
  init_base();
13137
13233
  function useUserOpStatus(options = {}) {
13138
13234
  const {
@@ -13144,16 +13240,16 @@ function useUserOpStatus(options = {}) {
13144
13240
  onReceipt,
13145
13241
  onTxHash
13146
13242
  } = options;
13147
- const [state, setState] = React19.useState("waiting");
13148
- const [receipt, setReceipt] = React19.useState(null);
13149
- const [mempool, setMempool] = React19.useState(null);
13150
- const [txHash, setTxHash] = React19.useState(null);
13151
- const [error, setError] = React19.useState(null);
13152
- const [isPolling, setIsPolling] = React19.useState(false);
13153
- const intervalRef = React19.useRef(null);
13154
- const startTimeRef = React19.useRef(Date.now());
13155
- const prevStateRef = React19.useRef("waiting");
13156
- const rpc = React19.useCallback(async (method, params) => {
13243
+ const [state, setState] = React18.useState("waiting");
13244
+ const [receipt, setReceipt] = React18.useState(null);
13245
+ const [mempool, setMempool] = React18.useState(null);
13246
+ const [txHash, setTxHash] = React18.useState(null);
13247
+ const [error, setError] = React18.useState(null);
13248
+ const [isPolling, setIsPolling] = React18.useState(false);
13249
+ const intervalRef = React18.useRef(null);
13250
+ const startTimeRef = React18.useRef(Date.now());
13251
+ const prevStateRef = React18.useRef("waiting");
13252
+ const rpc = React18.useCallback(async (method, params) => {
13157
13253
  const body = { jsonrpc: "2.0", id: 1, method, params };
13158
13254
  const res = await fetch(getBundlerUrl(), {
13159
13255
  method: "POST",
@@ -13164,21 +13260,21 @@ function useUserOpStatus(options = {}) {
13164
13260
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
13165
13261
  return json.result;
13166
13262
  }, []);
13167
- const extractMempoolInfo = React19.useCallback((m) => {
13263
+ const extractMempoolInfo = React18.useCallback((m) => {
13168
13264
  if (!m) return null;
13169
13265
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
13170
13266
  const sender = m.sender || m?.userOperation?.sender || null;
13171
13267
  if (!entryPoint && !sender) return null;
13172
13268
  return { entryPoint, sender };
13173
13269
  }, []);
13174
- const updateState = React19.useCallback((newState) => {
13270
+ const updateState = React18.useCallback((newState) => {
13175
13271
  setState(newState);
13176
13272
  if (prevStateRef.current !== newState) {
13177
13273
  prevStateRef.current = newState;
13178
13274
  onStateChange?.(newState);
13179
13275
  }
13180
13276
  }, [onStateChange]);
13181
- const tick = React19.useCallback(async () => {
13277
+ const tick = React18.useCallback(async () => {
13182
13278
  if (!userOpHash || !enabled) return;
13183
13279
  if (receipt) {
13184
13280
  console.log("[useUserOpStatus] Already have receipt, skipping tick");
@@ -13251,7 +13347,7 @@ function useUserOpStatus(options = {}) {
13251
13347
  onTxHash,
13252
13348
  onReceipt
13253
13349
  ]);
13254
- React19.useEffect(() => {
13350
+ React18.useEffect(() => {
13255
13351
  if (!userOpHash || !enabled) return;
13256
13352
  console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
13257
13353
  startTimeRef.current = Date.now();
@@ -13263,7 +13359,7 @@ function useUserOpStatus(options = {}) {
13263
13359
  setError(null);
13264
13360
  setIsPolling(false);
13265
13361
  }, [userOpHash, enabled]);
13266
- React19.useEffect(() => {
13362
+ React18.useEffect(() => {
13267
13363
  if (!userOpHash || !enabled) {
13268
13364
  console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
13269
13365
  return;
@@ -13299,7 +13395,7 @@ function useUserOpStatus(options = {}) {
13299
13395
  }
13300
13396
  };
13301
13397
  }, [userOpHash, enabled, pollMs]);
13302
- const refresh = React19.useCallback(async () => {
13398
+ const refresh = React18.useCallback(async () => {
13303
13399
  await tick();
13304
13400
  }, [tick]);
13305
13401
  return {
@@ -13315,11 +13411,11 @@ function useUserOpStatus(options = {}) {
13315
13411
 
13316
13412
  // src/hooks/useLogout.ts
13317
13413
  var import_auth20 = require("@lumiapassport/core/auth");
13318
- var import_react55 = require("react");
13414
+ var import_react56 = require("react");
13319
13415
  function useLogout() {
13320
13416
  const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
13321
13417
  const { callbacks } = useLumiaPassportConfig();
13322
- const logout2 = (0, import_react55.useCallback)(async () => {
13418
+ const logout2 = (0, import_react56.useCallback)(async () => {
13323
13419
  const prevAddress = address;
13324
13420
  let userId = null;
13325
13421
  setIsLoading(true);