@lumiapassport/ui-kit 1.13.11 → 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.js CHANGED
@@ -153,15 +153,10 @@ var init_lumiaPassport = __esm({
153
153
  title: "Sign in",
154
154
  subtitle: void 0,
155
155
  authOrder: ["passkey", "email", "social"],
156
- // fonts: {
157
- // base: 'system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif',
158
- // heading: 'system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif'
159
- // },
160
156
  branding: {
161
157
  tagline: "Lumia Passport MPC",
162
158
  link: { text: "Lumia Passport MPC", url: "/mpc-security" }
163
159
  }
164
- // modal: { width: '400px', borderRadius: '24px' }
165
160
  },
166
161
  network: {
167
162
  name: "Lumia Beam",
@@ -2458,7 +2453,6 @@ var init_iframe_manager = __esm({
2458
2453
  this.iframe = null;
2459
2454
  this.sessionToken = null;
2460
2455
  this.isReady = false;
2461
- // private themeColors?: IframeManagerConfig['themeColors']
2462
2456
  // Message handling
2463
2457
  this.pendingRequests = /* @__PURE__ */ new Map();
2464
2458
  this.usedNonces = /* @__PURE__ */ new Set();
@@ -2484,7 +2478,6 @@ var init_iframe_manager = __esm({
2484
2478
  this.log("[IframeManager] Initialized with:", {
2485
2479
  iframeUrl: this.iframeUrl,
2486
2480
  projectId: this.projectId
2487
- // hasThemeColors: !!this.themeColors
2488
2481
  });
2489
2482
  }
2490
2483
  /**
@@ -4239,7 +4232,7 @@ var init_profile = __esm({
4239
4232
  });
4240
4233
 
4241
4234
  // src/styles/built.css
4242
- 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-\\[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 (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}';
4235
+ 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}';
4243
4236
 
4244
4237
  // src/context/LumiaPassportContext.tsx
4245
4238
  init_lumiaPassport();
@@ -4248,9 +4241,9 @@ import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-trackin
4248
4241
  import { merge as merge2 } from "lodash-es";
4249
4242
  import {
4250
4243
  createContext,
4251
- useCallback as useCallback20,
4244
+ useCallback as useCallback19,
4252
4245
  useContext,
4253
- useEffect as useEffect31,
4246
+ useEffect as useEffect29,
4254
4247
  useMemo as useMemo3,
4255
4248
  useRef as useRef11
4256
4249
  } from "react";
@@ -4425,12 +4418,12 @@ function BalanceFeedProvider() {
4425
4418
 
4426
4419
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4427
4420
  import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
4428
- import { useEffect as useEffect29 } from "react";
4421
+ import { useEffect as useEffect27 } from "react";
4429
4422
 
4430
4423
  // package.json
4431
4424
  var package_default = {
4432
4425
  name: "@lumiapassport/ui-kit",
4433
- version: "1.13.11",
4426
+ version: "1.14.1",
4434
4427
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
4435
4428
  type: "module",
4436
4429
  main: "./dist/index.cjs",
@@ -4582,6 +4575,21 @@ import { twMerge } from "tailwind-merge";
4582
4575
  function cn(...inputs) {
4583
4576
  return twMerge(clsx(inputs));
4584
4577
  }
4578
+ var LP_JWT_TOKENS_LS_KEY = "lumia-passport-jwt-tokens";
4579
+ function getAccessToken() {
4580
+ try {
4581
+ const sessionString = localStorage.getItem(LP_JWT_TOKENS_LS_KEY);
4582
+ if (!sessionString) return null;
4583
+ const session = JSON.parse(sessionString);
4584
+ if (session && typeof session.accessToken === "string" && typeof session.userId === "string") {
4585
+ return session.accessToken;
4586
+ }
4587
+ return null;
4588
+ } catch (error) {
4589
+ console.error("Failed to parse Lumia Passport session:", error);
4590
+ return null;
4591
+ }
4592
+ }
4585
4593
 
4586
4594
  // src/internal/components/ui/button.tsx
4587
4595
  import { Slot } from "@radix-ui/react-slot";
@@ -5001,6 +5009,7 @@ var DialogOverlay = forwardRef3(
5001
5009
  ref,
5002
5010
  style: { backdropFilter: "blur(var(--l-pass-backdrop-blur))" },
5003
5011
  className: cn(
5012
+ "w-[100dvw] h-[100dvh]",
5004
5013
  "fixed inset-0 z-[9998] bg-[var(--l-pass-overlay)]",
5005
5014
  closing ? "animate-dialog-out" : "animate-dialog-in",
5006
5015
  className
@@ -5013,7 +5022,7 @@ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
5013
5022
  function useDecideContentStyles() {
5014
5023
  const isMobileView = useLayoutStore((st) => st.isMobileView);
5015
5024
  const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogClosing);
5016
- const mobileStyles = isMobileView ? { "--l-pass-maw": "100%", "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
5025
+ const mobileStyles = isMobileView ? { "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
5017
5026
  return {
5018
5027
  isClosing,
5019
5028
  isMobileView,
@@ -5031,15 +5040,17 @@ var DialogContent = forwardRef3(
5031
5040
  const setPage = useLayoutDataStore((st) => st.setPage);
5032
5041
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
5033
5042
  const { isMobileView, isClosing, style } = useDecideContentStyles();
5034
- return /* @__PURE__ */ jsx9(DialogPortal, { children: /* @__PURE__ */ jsxs8("div", { className: "lumia-scope", "data-lumia-passport-mode": colorMode, style, children: [
5043
+ const animationCnPrefix = isMobileView ? "animate-mobile-dialog" : "animate-dialog";
5044
+ const dialogAnimationCn = isClosing ? `${animationCnPrefix}-out` : `${animationCnPrefix}-in`;
5045
+ return /* @__PURE__ */ jsx9(DialogPortal, { children: /* @__PURE__ */ jsxs8("div", { className: "lumia-scope", "data-lumia-passport-mode": colorMode, style: { ...style, outline: "none" }, children: [
5035
5046
  /* @__PURE__ */ jsx9(DialogOverlay, { closing: isClosing }),
5036
5047
  /* @__PURE__ */ jsx9(
5037
5048
  "div",
5038
5049
  {
5039
5050
  className: cn(
5040
- "fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none",
5041
- isClosing ? "animate-dialog-out" : "animate-dialog-in",
5042
- isMobileView ? "items-end" : "items-center"
5051
+ "fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none outline-none",
5052
+ dialogAnimationCn,
5053
+ isMobileView ? "items-end w-[100dvw] h-[100dvh]" : "items-center w-[var(--l-pass-maw)] mx-auto"
5043
5054
  ),
5044
5055
  children: /* @__PURE__ */ jsxs8(
5045
5056
  DialogPrimitive.Content,
@@ -5047,10 +5058,10 @@ var DialogContent = forwardRef3(
5047
5058
  ref,
5048
5059
  style: !!className ? void 0 : CONTENT_BG_SETUP,
5049
5060
  className: cn(
5050
- "relative pointer-events-auto w-full",
5051
- "max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
5052
- "text-[var(--l-pass-fg)]",
5061
+ "relative pointer-events-auto max-h-[95dvh] outline-none",
5062
+ "p-0 gap-0 text-[var(--l-pass-fg)]",
5053
5063
  "rounded-[var(--l-pass-bdrs)] overflow-hidden",
5064
+ isMobileView ? "w-[100dvw]" : "w-[var(--l-pass-maw)]",
5054
5065
  className
5055
5066
  ),
5056
5067
  ...props,
@@ -5170,7 +5181,7 @@ function useAutoConnect() {
5170
5181
  }
5171
5182
  return { session: sess, address: addr };
5172
5183
  } catch (error) {
5173
- if (error?.code !== "KEYSHARE_RECOVERY_NEEDED") {
5184
+ if (error?.code === "KEYSHARE_RECOVERY_NEEDED") {
5174
5185
  setStatus("idle");
5175
5186
  setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
5176
5187
  }
@@ -5285,7 +5296,9 @@ function useAutoConnect() {
5285
5296
  setError(null);
5286
5297
  setStatus("recovery_needed");
5287
5298
  setIsLoading(false);
5288
- setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
5299
+ setTimeout(() => {
5300
+ setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
5301
+ }, 500);
5289
5302
  } else {
5290
5303
  console.warn("[UI-KIT][AutoConnect] Unexpected error during auto-connect:", e);
5291
5304
  setIsLoading(false);
@@ -5299,43 +5312,56 @@ function useAutoConnect() {
5299
5312
  }
5300
5313
 
5301
5314
  // src/internal/hooks/useBackupStatusChanges.ts
5302
- import { useEffect as useEffect3 } from "react";
5315
+ import { useMutation as useMutation2 } from "@tanstack/react-query";
5316
+ import { useEffect as useEffect3, useRef as useRef2 } from "react";
5303
5317
  init_vaultClient();
5318
+ var NO_BACKUP_WARN_DELAY_MS = 5e3;
5304
5319
  function useBackupStatusChanges() {
5305
5320
  const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
5306
- useEffect3(() => {
5307
- const handleBackupStatusChanged = async (event) => {
5321
+ const noBackupWarnTimeout = useRef2(null);
5322
+ const { mutate: handleBackupStatusChanged } = useMutation2({
5323
+ mutationFn: async (event) => {
5308
5324
  const customEvent = event;
5309
- const { method, success } = customEvent.detail || {};
5310
- console.log("[ConnectWalletButton] Backup status changed:", {
5311
- method,
5312
- success
5313
- });
5314
- if (method === "server" && success) {
5315
- try {
5316
- const stats = await getShareRecoveryStats();
5317
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
5318
- setHasServerVault(!!hasRecoveryData);
5319
- } catch (e) {
5320
- console.warn("[UI-KIT] Failed to refresh vault status after backup:", e);
5321
- }
5325
+ console.log("[BACKUP STATUS] changed:", customEvent.detail);
5326
+ const stats = await getShareRecoveryStats();
5327
+ return stats && (!!stats.created || !!stats?.devices?.length);
5328
+ },
5329
+ onSuccess: (hasRecoveryData) => {
5330
+ if (!!noBackupWarnTimeout.current) {
5331
+ clearTimeout(noBackupWarnTimeout.current);
5332
+ noBackupWarnTimeout.current = null;
5322
5333
  }
5323
- };
5334
+ if (!!hasRecoveryData) {
5335
+ setHasServerVault(true);
5336
+ } else {
5337
+ noBackupWarnTimeout.current = setTimeout(() => {
5338
+ setHasServerVault(false);
5339
+ console.warn("[BACKUP STATUS] No recovery data found in vault, marking as no-server-vault");
5340
+ noBackupWarnTimeout.current = null;
5341
+ }, NO_BACKUP_WARN_DELAY_MS);
5342
+ }
5343
+ },
5344
+ onError: (error) => {
5345
+ setHasServerVault(false);
5346
+ console.warn("[BACKUP STATUS] Failed to fetch initial vault status:", error);
5347
+ }
5348
+ });
5349
+ useEffect3(() => {
5324
5350
  window.addEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
5325
5351
  return () => {
5326
5352
  window.removeEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
5327
5353
  };
5328
- }, [setHasServerVault]);
5354
+ }, []);
5329
5355
  }
5330
5356
 
5331
5357
  // src/internal/hooks/useCheckVaultStatus.ts
5332
- import { useMutation as useMutation2 } from "@tanstack/react-query";
5358
+ import { useMutation as useMutation3 } from "@tanstack/react-query";
5333
5359
  import { useEffect as useEffect4 } from "react";
5334
5360
  init_vaultClient();
5335
5361
  function useCheckVaultStatus() {
5336
5362
  const address = useLumiaPassportSession((st) => st.address);
5337
5363
  const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
5338
- const { mutate: checkVaultStatus } = useMutation2({
5364
+ const { mutate: checkVaultStatus } = useMutation3({
5339
5365
  mutationFn: async () => {
5340
5366
  const stats = await getShareRecoveryStats();
5341
5367
  const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
@@ -5379,7 +5405,7 @@ function useDetectMaxScrollHeight() {
5379
5405
  }
5380
5406
 
5381
5407
  // src/internal/hooks/usePageMapper.tsx
5382
- import { useCallback as useCallback17, useEffect as useEffect26 } from "react";
5408
+ import { useCallback as useCallback16, useEffect as useEffect24 } from "react";
5383
5409
 
5384
5410
  // src/internal/components/AuthMenu/AuthMenu.tsx
5385
5411
  import { AnimatePresence, motion } from "framer-motion";
@@ -5477,11 +5503,11 @@ init_auth();
5477
5503
  init_profile();
5478
5504
 
5479
5505
  // src/internal/components/ui/input.tsx
5480
- import React2, { useImperativeHandle, useRef as useRef2 } from "react";
5506
+ import React2, { useImperativeHandle, useRef as useRef3 } from "react";
5481
5507
  import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
5482
5508
  var Input = React2.forwardRef((props, ref) => {
5483
5509
  const { className, disabled, error, Icon, element, ...inputProps } = props;
5484
- const internalRef = useRef2(null);
5510
+ const internalRef = useRef3(null);
5485
5511
  useImperativeHandle(ref, () => internalRef.current);
5486
5512
  return /* @__PURE__ */ jsxs10("div", { className: cn("w-full flex flex-col gap-1", className), children: [
5487
5513
  /* @__PURE__ */ jsxs10(
@@ -5670,11 +5696,11 @@ function PasskeyAddIcon(props) {
5670
5696
  init_auth();
5671
5697
 
5672
5698
  // src/internal/components/Expandable/hooks/useExpandable.ts
5673
- import { useCallback as useCallback3, useEffect as useEffect6, useRef as useRef3 } from "react";
5699
+ import { useCallback as useCallback3, useEffect as useEffect6, useRef as useRef4 } from "react";
5674
5700
  var useExpandable = (props) => {
5675
5701
  const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
5676
- const expandableRef = useRef3(null);
5677
- const contentRef = useRef3(null);
5702
+ const expandableRef = useRef4(null);
5703
+ const contentRef = useRef4(null);
5678
5704
  useEffect6(() => {
5679
5705
  if (!expandableRef.current) return;
5680
5706
  expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
@@ -5949,8 +5975,9 @@ import { Fragment as Fragment2 } from "react";
5949
5975
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
5950
5976
  init_lumiaPassport();
5951
5977
  init_projectId();
5952
- import { useMutation as useMutation3 } from "@tanstack/react-query";
5978
+ import { useMutation as useMutation4 } from "@tanstack/react-query";
5953
5979
  import { ChevronRight, Loader as Loader3, Mail as Mail3 } from "lucide-react";
5980
+ import { useRef as useRef5 } from "react";
5954
5981
 
5955
5982
  // src/internal/components/ui/highlight.tsx
5956
5983
  import { jsx as jsx18 } from "react/jsx-runtime";
@@ -5966,7 +5993,7 @@ function Highlight(props) {
5966
5993
  "div",
5967
5994
  {
5968
5995
  className: cn(
5969
- "w-full text-xs rounded-[var(--l-pass-el-bdrs)] p-[var(--l-pass-pd)]",
5996
+ "w-full text-xs rounded-[var(--l-pass-el-bdrs)] p-[var(--l-pass-pd)] whitespace-pre-wrap break-all",
5970
5997
  CARD_STYLES[type],
5971
5998
  className
5972
5999
  ),
@@ -5978,14 +6005,12 @@ function Highlight(props) {
5978
6005
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
5979
6006
  import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
5980
6007
  function Email() {
5981
- const {
5982
- config: { current: config },
5983
- callbacks
5984
- } = useLumiaPassportConfig();
6008
+ const { config, callbacks } = useLumiaPassportConfig();
6009
+ const buttonRef = useRef5(null);
5985
6010
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
5986
6011
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
5987
6012
  const { email, codeSendError, alert: alert2, setEmail, setCodeSendError, setExpiresIn, setStep, setAlert } = useAuthStore();
5988
- const { mutate: onSendVerificationCode } = useMutation3({
6013
+ const { mutate: onSendVerificationCode } = useMutation4({
5989
6014
  mutationFn: async (mail) => {
5990
6015
  const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
5991
6016
  if (!isEmailValid) {
@@ -6025,35 +6050,48 @@ function Email() {
6025
6050
  }
6026
6051
  });
6027
6052
  return /* @__PURE__ */ jsxs14(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
6028
- /* @__PURE__ */ jsxs14("div", { className: "w-full flex gap-[10px] items-center", children: [
6029
- /* @__PURE__ */ jsx19(
6030
- Input,
6031
- {
6032
- name: "signin-email",
6033
- Icon: Mail3,
6034
- type: "email",
6035
- autoComplete: "off",
6036
- placeholder: config.email.placeholder,
6037
- value: email,
6038
- className: "flex-1 w-full",
6039
- onChange: (e) => {
6040
- if (alert2) setAlert(null);
6041
- setEmail(e.target.value);
6053
+ /* @__PURE__ */ jsxs14(
6054
+ "div",
6055
+ {
6056
+ className: "w-full flex gap-[10px] items-center",
6057
+ onKeyDown: (e) => {
6058
+ if (e.key === "Enter" && !isLoading && email) {
6059
+ buttonRef.current?.click();
6042
6060
  }
6043
- }
6044
- ),
6045
- /* @__PURE__ */ jsx19(
6046
- Button,
6047
- {
6048
- className: "w-12 h-12 flex-none",
6049
- variant: "default",
6050
- size: "large",
6051
- disabled: !email || isLoading,
6052
- onClick: () => onSendVerificationCode(email),
6053
- children: isLoading ? /* @__PURE__ */ jsx19(Loader3, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx19(ChevronRight, { className: "w-4 h-4" })
6054
- }
6055
- )
6056
- ] }),
6061
+ },
6062
+ children: [
6063
+ /* @__PURE__ */ jsx19(
6064
+ Input,
6065
+ {
6066
+ name: "signin-email",
6067
+ Icon: Mail3,
6068
+ type: "email",
6069
+ autoComplete: "off",
6070
+ placeholder: config.current?.email?.placeholder || "Enter your email",
6071
+ value: email,
6072
+ disabled: isLoading,
6073
+ className: "flex-1 w-full",
6074
+ onChange: (e) => {
6075
+ if (alert2) setAlert(null);
6076
+ setEmail(e.target.value);
6077
+ }
6078
+ }
6079
+ ),
6080
+ /* @__PURE__ */ jsx19(
6081
+ Button,
6082
+ {
6083
+ ref: buttonRef,
6084
+ className: "w-12 h-12 flex-none",
6085
+ variant: "default",
6086
+ size: "large",
6087
+ disabled: !email || isLoading,
6088
+ onClick: () => onSendVerificationCode(email),
6089
+ children: isLoading ? /* @__PURE__ */ jsx19(Loader3, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx19(ChevronRight, { className: "w-4 h-4" })
6090
+ }
6091
+ )
6092
+ ]
6093
+ }
6094
+ ),
6057
6095
  !!codeSendError && /* @__PURE__ */ jsxs14(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
6058
6096
  /* @__PURE__ */ jsx19(Mail3, { className: "w-4 h-4" }),
6059
6097
  /* @__PURE__ */ jsx19("span", { children: codeSendError })
@@ -6607,13 +6645,13 @@ function SignInStep(props) {
6607
6645
 
6608
6646
  // src/internal/components/AuthMenu/useAuthMenuHanders.ts
6609
6647
  init_auth();
6610
- import { useCallback as useCallback6, useRef as useRef4, useState as useState4 } from "react";
6648
+ import { useCallback as useCallback6, useRef as useRef6, useState as useState4 } from "react";
6611
6649
  function useAuthMenuHandlers() {
6612
6650
  const {
6613
6651
  config: { current: config },
6614
6652
  callbacks
6615
6653
  } = useLumiaPassportConfig();
6616
- const pendingLoginResponseRef = useRef4(null);
6654
+ const pendingLoginResponseRef = useRef6(null);
6617
6655
  const setPage = useLayoutDataStore((st) => st.setPage);
6618
6656
  const [telegramCleanup, setTelegramCleanup] = useState4(null);
6619
6657
  const { usePaymaster, setError, setStatus, setSession, setAddress, setRecoveryUserId, setHasServerVault } = useLumiaPassportSession();
@@ -6725,7 +6763,9 @@ function useAuthMenuHandlers() {
6725
6763
  setError(null);
6726
6764
  setRecoveryUserId(userId);
6727
6765
  setStatus("recovery_needed");
6728
- setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
6766
+ setTimeout(() => {
6767
+ setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
6768
+ }, 500);
6729
6769
  } else {
6730
6770
  pendingLoginResponseRef.current = null;
6731
6771
  await jwtTokenManager2.clearTokens();
@@ -6822,7 +6862,7 @@ function useListenIframeAuthEvents() {
6822
6862
 
6823
6863
  // src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
6824
6864
  init_lumiaPassport();
6825
- import { useMutation as useMutation4 } from "@tanstack/react-query";
6865
+ import { useMutation as useMutation5 } from "@tanstack/react-query";
6826
6866
  import { ArrowLeft as ArrowLeft3, Loader as Loader4 } from "lucide-react";
6827
6867
 
6828
6868
  // src/internal/assets/OtpIcon.tsx
@@ -6843,7 +6883,7 @@ init_auth();
6843
6883
  init_projectId();
6844
6884
 
6845
6885
  // src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
6846
- import { useEffect as useEffect8, useRef as useRef5, useState as useState5 } from "react";
6886
+ import { useEffect as useEffect8, useRef as useRef7, useState as useState5 } from "react";
6847
6887
  import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
6848
6888
  var VerificationCodeInput = (props) => {
6849
6889
  const { onVerifyCode, onResendCode, isLoading, expiresIn, error } = props;
@@ -6854,8 +6894,8 @@ var VerificationCodeInput = (props) => {
6854
6894
  const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
6855
6895
  return () => clearInterval(t);
6856
6896
  }, []);
6857
- const lastSubmittedRef = useRef5(null);
6858
- const inputsRef = useRef5([]);
6897
+ const lastSubmittedRef = useRef7(null);
6898
+ const inputsRef = useRef7([]);
6859
6899
  const [digits, setDigits] = useState5(["", "", "", "", "", ""]);
6860
6900
  useEffect8(() => {
6861
6901
  const code = digits.join("");
@@ -6991,7 +7031,7 @@ function VerifyStep(props) {
6991
7031
  setEmail,
6992
7032
  setExpiresIn
6993
7033
  } = useAuthStore();
6994
- const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation4({
7034
+ const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation5({
6995
7035
  mutationFn: async (code) => {
6996
7036
  setIsLoading(true);
6997
7037
  setVerificationError("");
@@ -7064,7 +7104,7 @@ function VerifyStep(props) {
7064
7104
  setIsLoading(false);
7065
7105
  }
7066
7106
  });
7067
- const { mutate: onResendCode, isPending: isCodeResending } = useMutation4({
7107
+ const { mutate: onResendCode, isPending: isCodeResending } = useMutation5({
7068
7108
  mutationFn: async () => {
7069
7109
  setVerificationError("");
7070
7110
  setIsLoading(true);
@@ -7318,9 +7358,9 @@ function RampnowIcon() {
7318
7358
  }
7319
7359
 
7320
7360
  // src/internal/components/BuyMenu/binance/Binance.tsx
7321
- import { useMutation as useMutation5, useQuery as useQuery3, useQueryClient } from "@tanstack/react-query";
7361
+ import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient } from "@tanstack/react-query";
7322
7362
  import { DollarSign, LoaderIcon } from "lucide-react";
7323
- import { useEffect as useEffect11, useRef as useRef6 } from "react";
7363
+ import { useEffect as useEffect11, useRef as useRef8 } from "react";
7324
7364
 
7325
7365
  // src/internal/components/BuyMenu/components/PaymentSelector.tsx
7326
7366
  import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
@@ -7363,32 +7403,57 @@ var QUERY_KEYS2 = {
7363
7403
  // src/internal/components/BuyMenu/binance/api.ts
7364
7404
  init_iframe_manager();
7365
7405
  async function getLumiaNetworkQuery() {
7406
+ const accessToken = getAccessToken();
7407
+ if (!accessToken) {
7408
+ throw new Error("Access token is not available");
7409
+ }
7366
7410
  const iframeManager = getIframeManager();
7367
7411
  if (!iframeManager) {
7368
7412
  throw new Error("Iframe manager is not initialized");
7369
7413
  }
7370
- return await iframeManager.sendMessage("BINANCE_GET_LUMIA_NETWORK_QUERY", {});
7414
+ return await iframeManager.sendMessage("BINANCE_GET_LUMIA_NETWORK_QUERY", { accessToken });
7371
7415
  }
7372
7416
  async function getPaymentMethodsQuery(payload) {
7417
+ const accessToken = getAccessToken();
7418
+ if (!accessToken) {
7419
+ throw new Error("Access token is not available");
7420
+ }
7373
7421
  const iframeManager = getIframeManager();
7374
7422
  if (!iframeManager) {
7375
7423
  throw new Error("Iframe manager is not initialized");
7376
7424
  }
7377
- return await iframeManager.sendMessage("BINANCE_GET_PAYMENT_METHODS_QUERY", payload);
7425
+ return await iframeManager.sendMessage("BINANCE_GET_PAYMENT_METHODS_QUERY", {
7426
+ ...payload,
7427
+ accessToken
7428
+ });
7378
7429
  }
7379
7430
  async function getQuoteQuery(payload) {
7431
+ const accessToken = getAccessToken();
7432
+ if (!accessToken) {
7433
+ throw new Error("Access token is not available");
7434
+ }
7380
7435
  const iframeManager = getIframeManager();
7381
7436
  if (!iframeManager) {
7382
7437
  throw new Error("Iframe manager is not initialized");
7383
7438
  }
7384
- return await iframeManager.sendMessage("BINANCE_GET_QUOTE_QUERY", payload);
7439
+ return await iframeManager.sendMessage("BINANCE_GET_QUOTE_QUERY", {
7440
+ ...payload,
7441
+ accessToken
7442
+ });
7385
7443
  }
7386
7444
  async function createPreorderMutation(payload) {
7445
+ const accessToken = getAccessToken();
7446
+ if (!accessToken) {
7447
+ throw new Error("Access token is not available");
7448
+ }
7387
7449
  const iframeManager = getIframeManager();
7388
7450
  if (!iframeManager) {
7389
7451
  throw new Error("Iframe manager is not initialized");
7390
7452
  }
7391
- return await iframeManager.sendMessage("BINANCE_CREATE_PREORDER_MUTATION", payload);
7453
+ return await iframeManager.sendMessage("BINANCE_CREATE_PREORDER_MUTATION", {
7454
+ ...payload,
7455
+ accessToken
7456
+ });
7392
7457
  }
7393
7458
 
7394
7459
  // src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
@@ -7460,7 +7525,7 @@ function Binance(props) {
7460
7525
  queryKey: [QUERY_KEYS2.binancePaymentModes, walletAddress, isLumiaAvailable, srcQueryAmount],
7461
7526
  queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
7462
7527
  });
7463
- const lastLoadedPaymentModes = useRef6([]);
7528
+ const lastLoadedPaymentModes = useRef8([]);
7464
7529
  useEffect11(() => {
7465
7530
  if (!paymentModes?.length) return;
7466
7531
  setPaymentMode(getPayMethodID(paymentModes[0]));
@@ -7489,7 +7554,7 @@ function Binance(props) {
7489
7554
  [lumiaNetworkError, paymentMethodsError, quoteError],
7490
7555
  setSrcInputAmount
7491
7556
  );
7492
- const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation5({
7557
+ const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
7493
7558
  mutationFn: async () => {
7494
7559
  setRedirecting(true);
7495
7560
  const returnUrl = window.location.href.split("?")[0];
@@ -7562,7 +7627,7 @@ function Binance(props) {
7562
7627
  {
7563
7628
  size: "large",
7564
7629
  disabled: isContinueDisabled,
7565
- className: cn("w-full h-12", { "cursor-pointer": !isContinueDisabled }),
7630
+ className: cn("w-full h-12 flex-none", { "cursor-pointer": !isContinueDisabled }),
7566
7631
  variant: "default",
7567
7632
  onClick: () => checkoutFundWalletOrder(),
7568
7633
  children: [
@@ -7575,25 +7640,36 @@ function Binance(props) {
7575
7640
  }
7576
7641
 
7577
7642
  // src/internal/components/BuyMenu/rampnow/Rampnow.tsx
7578
- import { useMutation as useMutation6, useQuery as useQuery4, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
7643
+ import { useMutation as useMutation7, useQuery as useQuery4, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
7579
7644
  import { DollarSign as DollarSign2, LoaderIcon as LoaderIcon2 } from "lucide-react";
7580
7645
  import { useEffect as useEffect12 } from "react";
7581
7646
 
7582
7647
  // src/internal/components/BuyMenu/rampnow/api.ts
7583
7648
  init_iframe_manager();
7584
7649
  async function getRampnowConfigQuery() {
7650
+ const accessToken = getAccessToken();
7651
+ if (!accessToken) {
7652
+ throw new Error("Access token is not available");
7653
+ }
7585
7654
  const iframeManager = getIframeManager();
7586
7655
  if (!iframeManager) {
7587
7656
  throw new Error("Iframe manager is not initialized");
7588
7657
  }
7589
- return await iframeManager.sendMessage("RAMPNOW_GET_CONFIG", {});
7658
+ return await iframeManager.sendMessage("RAMPNOW_GET_CONFIG", { accessToken });
7590
7659
  }
7591
7660
  async function getRampOrderQuoteQuery(payload) {
7661
+ const accessToken = getAccessToken();
7662
+ if (!accessToken) {
7663
+ throw new Error("Access token is not available");
7664
+ }
7592
7665
  const iframeManager = getIframeManager();
7593
7666
  if (!iframeManager) {
7594
7667
  throw new Error("Iframe manager is not initialized");
7595
7668
  }
7596
- return await iframeManager.sendMessage("RAMPNOW_GET_ORDER_QUOTE", payload);
7669
+ return await iframeManager.sendMessage("RAMPNOW_GET_ORDER_QUOTE", {
7670
+ ...payload,
7671
+ accessToken
7672
+ });
7597
7673
  }
7598
7674
 
7599
7675
  // src/internal/components/BuyMenu/rampnow/constants.ts
@@ -7659,7 +7735,7 @@ function Rampnow(props) {
7659
7735
  paymentMode
7660
7736
  })
7661
7737
  });
7662
- const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
7738
+ const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation7({
7663
7739
  mutationFn: async () => {
7664
7740
  if (!configData?.apiKey?.length || !configData?.orderUrl?.length) {
7665
7741
  throw new Error("RampNow order service is not available");
@@ -7734,7 +7810,7 @@ function Rampnow(props) {
7734
7810
  {
7735
7811
  size: "large",
7736
7812
  disabled: isContinueDisabled,
7737
- className: cn("w-full h-12", { "cursor-pointer": !isContinueDisabled }),
7813
+ className: cn("w-full h-12 flex-none", { "cursor-pointer": !isContinueDisabled }),
7738
7814
  variant: "default",
7739
7815
  onClick: () => checkoutFundWalletOrder(),
7740
7816
  children: [
@@ -7770,7 +7846,7 @@ var RAMP_PROVIDERS = {
7770
7846
  var REDIRECT_TIMEOUT_MS = 1500;
7771
7847
 
7772
7848
  // src/internal/components/BuyMenu/useSelectables.ts
7773
- import { useCallback as useCallback8, useEffect as useEffect13, useRef as useRef7, useState as useState6 } from "react";
7849
+ import { useCallback as useCallback8, useEffect as useEffect13, useRef as useRef9, useState as useState6 } from "react";
7774
7850
 
7775
7851
  // src/internal/utils/debounce.ts
7776
7852
  function debounce2(func, waitFor) {
@@ -7787,7 +7863,7 @@ var useSelectables = () => {
7787
7863
  const [redirecting, setRedirecting] = useState6(false);
7788
7864
  const [rampProvider, setrRampProvider] = useState6("binance");
7789
7865
  const [minAmount, setMinAmount] = useState6(0);
7790
- const inputRef = useRef7(null);
7866
+ const inputRef = useRef9(null);
7791
7867
  const [srcQueryAmount, setSrcQueryAmount] = useState6(0);
7792
7868
  const [srcInputAmount, setSrcInputAmount] = useState6(0);
7793
7869
  const [paymentMode, setPaymentMode] = useState6(null);
@@ -7820,6 +7896,7 @@ import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
7820
7896
  function BuyMenu() {
7821
7897
  const walletAddress = useLumiaPassportSession((st) => st.address);
7822
7898
  const setPage = useLayoutDataStore((st) => st.setPage);
7899
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
7823
7900
  const control = useSelectables();
7824
7901
  const { rampProvider, setrRampProvider } = control;
7825
7902
  const ProviderComponent = RAMP_PROVIDERS[rampProvider];
@@ -7828,25 +7905,35 @@ function BuyMenu() {
7828
7905
  simplex: "bg-[#081f2c]",
7829
7906
  binance: "bg-[#f3ba2f]"
7830
7907
  };
7831
- return /* @__PURE__ */ jsxs25("div", { className: "flex flex-col gap-4 p-4 w-full", children: [
7832
- /* @__PURE__ */ jsx33("div", { className: "w-full", children: /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-2", children: [
7833
- /* @__PURE__ */ jsx33(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx33(ArrowLeft4, { className: "h-4 w-4" }) }),
7834
- /* @__PURE__ */ jsx33("span", { className: "text-xl font-semibold", children: "Buy LUMIA" })
7835
- ] }) }),
7836
- /* @__PURE__ */ jsx33("div", { className: "w-full flex items-center gap-2", children: AVAILABLE_RAMP_PROVIDERS.map(({ id, icon: Icon }) => /* @__PURE__ */ jsx33(
7837
- Button,
7838
- {
7839
- type: "button",
7840
- variant: "ghost",
7841
- size: "large",
7842
- onClick: () => setrRampProvider(id),
7843
- className: cn("w-full flex-1", { [activeServiceButtonsStyles[id]]: rampProvider === id }),
7844
- children: /* @__PURE__ */ jsx33(Icon, {})
7908
+ return /* @__PURE__ */ jsxs25(
7909
+ "div",
7910
+ {
7911
+ style: {
7912
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
7913
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
7845
7914
  },
7846
- id
7847
- )) }),
7848
- /* @__PURE__ */ jsx33(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-4", children: /* @__PURE__ */ jsx33(ProviderComponent, { control, walletAddress }) })
7849
- ] });
7915
+ className: "list-scrollbar-y w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]",
7916
+ children: [
7917
+ /* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
7918
+ /* @__PURE__ */ jsx33(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx33(ArrowLeft4, { className: "h-4 w-4" }) }),
7919
+ /* @__PURE__ */ jsx33("span", { className: "text-xl font-semibold", children: "Buy LUMIA" })
7920
+ ] }),
7921
+ /* @__PURE__ */ jsx33("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: AVAILABLE_RAMP_PROVIDERS.map(({ id, icon: Icon }) => /* @__PURE__ */ jsx33(
7922
+ Button,
7923
+ {
7924
+ type: "button",
7925
+ variant: "ghost",
7926
+ size: "large",
7927
+ onClick: () => setrRampProvider(id),
7928
+ className: cn("w-full flex-1", { [activeServiceButtonsStyles[id]]: rampProvider === id }),
7929
+ children: /* @__PURE__ */ jsx33(Icon, {})
7930
+ },
7931
+ id
7932
+ )) }),
7933
+ /* @__PURE__ */ jsx33(ProviderComponent, { control, walletAddress })
7934
+ ]
7935
+ }
7936
+ );
7850
7937
  }
7851
7938
 
7852
7939
  // src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
@@ -8187,7 +8274,7 @@ function KeyshareBackupMenu() {
8187
8274
  }
8188
8275
 
8189
8276
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
8190
- import { useMutation as useMutation7 } from "@tanstack/react-query";
8277
+ import { useMutation as useMutation8 } from "@tanstack/react-query";
8191
8278
  import { AlertCircle as AlertCircle4, CheckCircle2 as CheckCircle22, Loader as Loader9, LogOut as LogOut2 } from "lucide-react";
8192
8279
  import React8, { useCallback as useCallback9, useEffect as useEffect15 } from "react";
8193
8280
  init_vaultClient();
@@ -8501,7 +8588,7 @@ var KeyshareRestoreMenu = () => {
8501
8588
  };
8502
8589
  checkBackupAvailability();
8503
8590
  }, [recoveryUserId]);
8504
- const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation7({
8591
+ const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation8({
8505
8592
  mutationFn: async () => {
8506
8593
  setError(null);
8507
8594
  setSuccess(null);
@@ -8536,7 +8623,7 @@ var KeyshareRestoreMenu = () => {
8536
8623
  setError(errorMsg);
8537
8624
  }
8538
8625
  });
8539
- const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation7({
8626
+ const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation8({
8540
8627
  mutationFn: async () => {
8541
8628
  if (!restoreFile) {
8542
8629
  throw new Error("Please select a backup file");
@@ -8570,7 +8657,7 @@ var KeyshareRestoreMenu = () => {
8570
8657
  setError(errorMsg);
8571
8658
  }
8572
8659
  });
8573
- const { mutate: disconnect, isPending: isDisconnecting } = useMutation7({
8660
+ const { mutate: disconnect, isPending: isDisconnecting } = useMutation8({
8574
8661
  mutationFn: async () => {
8575
8662
  setError(null);
8576
8663
  setStatus("disconnecting");
@@ -8662,7 +8749,7 @@ import { ArrowLeft as ArrowLeft6 } from "lucide-react";
8662
8749
  import { LoaderIcon as LoaderIcon3 } from "lucide-react";
8663
8750
 
8664
8751
  // src/internal/components/KYC/useSumsubIframe.ts
8665
- import { useEffect as useEffect16, useRef as useRef8, useState as useState8 } from "react";
8752
+ import { useEffect as useEffect16, useRef as useRef10, useState as useState8 } from "react";
8666
8753
 
8667
8754
  // src/internal/components/KYC/api/sumsub.ts
8668
8755
  init_httpClient();
@@ -8785,7 +8872,7 @@ function useSumsubIframe({ iframeUrl }) {
8785
8872
  config: { current: config }
8786
8873
  } = useLumiaPassportConfig();
8787
8874
  const { colorMode } = useLumiaPassportColorMode();
8788
- const iframeRef = useRef8(null);
8875
+ const iframeRef = useRef10(null);
8789
8876
  const [isLoading, setIsLoading] = useState8(true);
8790
8877
  const [error, setError] = useState8(null);
8791
8878
  const [height, setHeight] = useState8(0);
@@ -8901,6 +8988,21 @@ function KycMenu() {
8901
8988
  import { ChevronLeft, ChevronRight as ChevronRight2, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
8902
8989
  import { useEffect as useEffect17 } from "react";
8903
8990
 
8991
+ // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
8992
+ init_common();
8993
+ import { useQuery as useQuery5 } from "@tanstack/react-query";
8994
+ var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
8995
+ function useProvidersList() {
8996
+ const address = useLumiaPassportSession((st) => st.address);
8997
+ const page = useLayoutDataStore((st) => st.page);
8998
+ return useQuery5({
8999
+ retry: false,
9000
+ enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
9001
+ queryKey: [PROVIDERS_QUERY_KEY, address],
9002
+ queryFn: async () => getLinkedProviders()
9003
+ });
9004
+ }
9005
+
8904
9006
  // src/internal/components/MainMenu/BackupWarning.tsx
8905
9007
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
8906
9008
  import { DatabaseBackup } from "lucide-react";
@@ -8955,18 +9057,19 @@ function MainMenu() {
8955
9057
  const address = useLumiaPassportSession((st) => st.address);
8956
9058
  const setPage = useLayoutDataStore((st) => st.setPage);
8957
9059
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
9060
+ useProvidersList();
8958
9061
  useEffect17(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
8959
9062
  return /* @__PURE__ */ jsxs33("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
8960
- /* @__PURE__ */ jsx42("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)]", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ jsxs33(
9063
+ /* @__PURE__ */ jsx42("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__ */ jsxs33(
8961
9064
  Button,
8962
9065
  {
8963
9066
  size: "large",
8964
9067
  variant: "ghost",
8965
9068
  disabled: !address,
8966
- className: "flex-col h-fit py-1",
9069
+ className: "flex-col w-full h-fit p-0",
8967
9070
  onClick: () => setPage(id),
8968
9071
  children: [
8969
- /* @__PURE__ */ jsx42(Icon, { className: "w-8 h-8" }),
9072
+ /* @__PURE__ */ jsx42(Icon, { className: "w-5 h-5 md:w-8 md:h-8" }),
8970
9073
  /* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: label })
8971
9074
  ]
8972
9075
  },
@@ -8982,7 +9085,7 @@ import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft7, Loader as Loa
8982
9085
  import { useMemo as useMemo2 } from "react";
8983
9086
 
8984
9087
  // src/modules/linkedProfiles.ts
8985
- import { useQuery as useQuery5, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
9088
+ import { useQuery as useQuery6, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
8986
9089
  import { useCallback as useCallback10 } from "react";
8987
9090
  init_auth();
8988
9091
  init_common();
@@ -9009,7 +9112,7 @@ function useLumiaPassportLinkedProfiles() {
9009
9112
  data,
9010
9113
  isFetching: isLoading,
9011
9114
  error
9012
- } = useQuery5({
9115
+ } = useQuery6({
9013
9116
  retry: false,
9014
9117
  enabled: !!address,
9015
9118
  queryKey: [LINKED_PROFILES_QUERY_KEY, address],
@@ -9029,7 +9132,7 @@ init_passkey2();
9029
9132
  // src/internal/components/ManageWalletMenu/EmailForm.tsx
9030
9133
  init_lumiaPassport();
9031
9134
  init_projectId();
9032
- import { useMutation as useMutation8 } from "@tanstack/react-query";
9135
+ import { useMutation as useMutation9 } from "@tanstack/react-query";
9033
9136
  import { ChevronRight as ChevronRight3, Loader as Loader10, Mail as Mail4 } from "lucide-react";
9034
9137
 
9035
9138
  // src/internal/components/ManageWalletMenu/hooks/useStore.ts
@@ -9071,7 +9174,7 @@ function EmailForm() {
9071
9174
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
9072
9175
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
9073
9176
  const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
9074
- const { mutate: onSendVerificationCode } = useMutation8({
9177
+ const { mutate: onSendVerificationCode } = useMutation9({
9075
9178
  mutationFn: async () => {
9076
9179
  if (!email) return;
9077
9180
  setIsLoading(true);
@@ -9147,27 +9250,12 @@ function EmailForm() {
9147
9250
  ] });
9148
9251
  }
9149
9252
 
9150
- // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9151
- init_common();
9152
- import { useQuery as useQuery6 } from "@tanstack/react-query";
9153
- var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
9154
- function useProvidersList() {
9155
- const address = useLumiaPassportSession((st) => st.address);
9156
- const page = useLayoutDataStore((st) => st.page);
9157
- return useQuery6({
9158
- retry: false,
9159
- enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
9160
- queryKey: [PROVIDERS_QUERY_KEY, address],
9161
- queryFn: async () => getLinkedProviders()
9162
- });
9163
- }
9164
-
9165
9253
  // src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
9166
9254
  init_email();
9167
- import { useMutation as useMutation9 } from "@tanstack/react-query";
9255
+ import { useMutation as useMutation10 } from "@tanstack/react-query";
9168
9256
  function useSendVerificationCode() {
9169
9257
  const { setVerificationError, setLinkIsLoading, setEmailCodeSentError, setEmailCodeExpiresIn } = useManageWalletStore();
9170
- return useMutation9({
9258
+ return useMutation10({
9171
9259
  mutationFn: async (email) => {
9172
9260
  if (!email) {
9173
9261
  throw new Error("Email is required");
@@ -9190,7 +9278,7 @@ function useSendVerificationCode() {
9190
9278
  }
9191
9279
 
9192
9280
  // src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
9193
- import { useMutation as useMutation10, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
9281
+ import { useMutation as useMutation11, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
9194
9282
  init_email();
9195
9283
  function useVerifyCode() {
9196
9284
  const { callbacks } = useLumiaPassportConfig();
@@ -9208,7 +9296,7 @@ function useVerifyCode() {
9208
9296
  setVerificationError,
9209
9297
  setEmailCodeSentError
9210
9298
  } = useManageWalletStore();
9211
- return useMutation10({
9299
+ return useMutation11({
9212
9300
  mutationFn: async (codeToVerify) => {
9213
9301
  const code = codeToVerify ?? emailCode;
9214
9302
  if (!code) {
@@ -9660,6 +9748,7 @@ function ManageWalletMenu() {
9660
9748
  config: { current: config }
9661
9749
  } = useLumiaPassportConfig();
9662
9750
  const setPage = useLayoutDataStore((st) => st.setPage);
9751
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
9663
9752
  const {
9664
9753
  providerType,
9665
9754
  isWalletLinking,
@@ -9739,48 +9828,58 @@ function ManageWalletMenu() {
9739
9828
  const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
9740
9829
  const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
9741
9830
  const combinedError = emailCodeSentError || linkError || verificationError || null;
9742
- return /* @__PURE__ */ jsxs38("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
9743
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9744
- /* @__PURE__ */ jsx47(
9745
- Button,
9746
- {
9747
- variant: "ghost",
9748
- size: "icon",
9749
- title: "Back",
9750
- onClick: () => {
9751
- if (providerType === "email") {
9752
- setEmail("");
9753
- setEmailCode("");
9754
- setEmailStep("input");
9755
- setEmailCodeSentError("");
9756
- setEmailCodeExpiresIn(0);
9757
- setVerificationError("");
9831
+ return /* @__PURE__ */ jsxs38(
9832
+ "div",
9833
+ {
9834
+ style: {
9835
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
9836
+ "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
9837
+ },
9838
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
9839
+ children: [
9840
+ /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9841
+ /* @__PURE__ */ jsx47(
9842
+ Button,
9843
+ {
9844
+ variant: "ghost",
9845
+ size: "icon",
9846
+ title: "Back",
9847
+ onClick: () => {
9848
+ if (providerType === "email") {
9849
+ setEmail("");
9850
+ setEmailCode("");
9851
+ setEmailStep("input");
9852
+ setEmailCodeSentError("");
9853
+ setEmailCodeExpiresIn(0);
9854
+ setVerificationError("");
9855
+ }
9856
+ setLinkError("");
9857
+ if (!providerType) setPage("settings" /* SETTINGS */);
9858
+ setProviderType(null);
9859
+ },
9860
+ children: /* @__PURE__ */ jsx47(ArrowLeft7, { className: "h-4 w-4" })
9758
9861
  }
9759
- setLinkError("");
9760
- if (!providerType) setPage("settings" /* SETTINGS */);
9761
- setProviderType(null);
9762
- },
9763
- children: /* @__PURE__ */ jsx47(ArrowLeft7, { className: "h-4 w-4" })
9764
- }
9765
- ),
9766
- /* @__PURE__ */ jsx47("span", { className: "text-xl font-semibold", children: "Profiles" })
9767
- ] }),
9768
- /* @__PURE__ */ jsxs38(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9769
- providersError && /* @__PURE__ */ jsxs38(Highlight, { type: "error", className: "flex items-start gap-[var(--l-pass-gap)] break-words whitespace-pre-wrap", children: [
9770
- /* @__PURE__ */ jsx47(AlertTriangle3, { className: "w-4 h-4 shrink-0" }),
9771
- /* @__PURE__ */ jsx47("span", { className: "block", children: providersError.message })
9772
- ] }),
9773
- isProvidersLoading && /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx47(Loader11, { className: "w-5 h-5 animate-spin" }) }),
9774
- /* @__PURE__ */ jsx47(EmailNotConnectedWarning, {}),
9775
- showCurrentProviders && renderProviders.map((node) => node),
9776
- showExtraProvidersUi && /* @__PURE__ */ jsx47(AddProvider, {}),
9777
- combinedError && /* @__PURE__ */ jsx47(Highlight, { type: "error", children: /* @__PURE__ */ jsx47("span", { children: combinedError }) })
9778
- ] })
9779
- ] });
9862
+ ),
9863
+ /* @__PURE__ */ jsx47("span", { className: "text-xl font-semibold", children: "Profiles" })
9864
+ ] }),
9865
+ /* @__PURE__ */ jsxs38("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9866
+ providersError && /* @__PURE__ */ jsxs38(Highlight, { type: "error", className: "flex items-start gap-[var(--l-pass-gap)] break-words whitespace-pre-wrap", children: [
9867
+ /* @__PURE__ */ jsx47(AlertTriangle3, { className: "w-4 h-4 shrink-0" }),
9868
+ /* @__PURE__ */ jsx47("span", { className: "block", children: providersError.message })
9869
+ ] }),
9870
+ isProvidersLoading && /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx47(Loader11, { className: "w-5 h-5 animate-spin" }) }),
9871
+ /* @__PURE__ */ jsx47(EmailNotConnectedWarning, {}),
9872
+ showCurrentProviders && renderProviders.map((node) => node),
9873
+ showExtraProvidersUi && /* @__PURE__ */ jsx47(AddProvider, {}),
9874
+ combinedError && /* @__PURE__ */ jsx47(Highlight, { type: "error", children: /* @__PURE__ */ jsx47("span", { children: combinedError }) })
9875
+ ] })
9876
+ ]
9877
+ }
9878
+ );
9780
9879
  }
9781
9880
 
9782
9881
  // src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
9783
- import { useMutation as useMutation11, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
9882
+ import { useMutation as useMutation12, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
9784
9883
  import { Key as Key7, Loader as Loader12 } from "lucide-react";
9785
9884
  import { useState as useState10 } from "react";
9786
9885
  init_auth();
@@ -9792,7 +9891,7 @@ function UnlinkProviderMenu() {
9792
9891
  const setPage = useLayoutDataStore((st) => st.setPage);
9793
9892
  const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
9794
9893
  const [confirmInput, setConfirmInput] = useState10("");
9795
- const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation11({
9894
+ const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation12({
9796
9895
  mutationFn: async () => {
9797
9896
  if (!confirmUnlink) {
9798
9897
  throw new Error("No provider to unlink");
@@ -9867,7 +9966,7 @@ function UnlinkProviderMenu() {
9867
9966
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
9868
9967
  import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
9869
9968
  import { ArrowLeft as ArrowLeft8, Gem, Loader as Loader14, RefreshCw } from "lucide-react";
9870
- import { useCallback as useCallback12, useEffect as useEffect20, useRef as useRef9 } from "react";
9969
+ import { useCallback as useCallback12 } from "react";
9871
9970
 
9872
9971
  // src/modules/assets.ts
9873
9972
  init_base();
@@ -10127,70 +10226,47 @@ function PortfolioMenu() {
10127
10226
  const qc = useQueryClient10();
10128
10227
  const setPage = useLayoutDataStore((st) => st.setPage);
10129
10228
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10130
- const assetsContainerListRef = useRef9(null);
10131
- const assetsListRef = useRef9(null);
10132
10229
  const address = useLumiaPassportSession((st) => st.address);
10133
10230
  const { assets, refreshBalances, isLoading } = useAssets(address);
10134
10231
  const refreshAllAssetsBalances = useCallback12(() => {
10135
10232
  Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
10136
10233
  refreshBalances();
10137
10234
  }, [qc, projectAssets, refreshBalances]);
10138
- useEffect20(() => {
10139
- if (!assetsContainerListRef.current || !assetsListRef.current) return;
10140
- const listTargetHeight = maxScrollHeight - 128;
10141
- assetsContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
10142
- assetsContainerListRef.current.style.setProperty(
10143
- "--l-pass-list-bd",
10144
- assetsListRef.current.clientHeight >= listTargetHeight ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
10145
- // hide border if no scrollbar
10146
- );
10147
- assetsContainerListRef.current.style.setProperty(
10148
- "--l-pass-list-scrollbar-pd-r",
10149
- assetsListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
10150
- // remove padding if no scrollbar
10151
- );
10152
- }, [maxScrollHeight]);
10153
- return /* @__PURE__ */ jsxs41("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10154
- /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10155
- /* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft8, { className: "h-4 w-4" }) }),
10156
- /* @__PURE__ */ jsx50("span", { className: "text-xl font-semibold", children: "Your Assets" }),
10157
- /* @__PURE__ */ jsx50(
10158
- Button,
10159
- {
10160
- title: "Refresh balances",
10161
- variant: "ghost",
10162
- size: "icon",
10163
- onClick: refreshAllAssetsBalances,
10164
- disabled: isLoading,
10165
- children: isLoading ? /* @__PURE__ */ jsx50(Loader14, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx50(RefreshCw, { className: "h-4 w-4" })
10166
- }
10167
- )
10168
- ] }),
10169
- /* @__PURE__ */ jsxs41(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10170
- isLoading && /* @__PURE__ */ jsxs41("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10171
- /* @__PURE__ */ jsx50(Loader14, { className: "h-5 w-5 animate-spin" }),
10172
- /* @__PURE__ */ jsx50("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
10173
- ] }),
10174
- !isLoading && assets.length === 0 && /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
10175
- /* @__PURE__ */ jsx50(Gem, { className: "w-12 h-12 mb-2" }),
10176
- /* @__PURE__ */ jsx50("p", { children: "No assets found" })
10177
- ] }),
10178
- !isLoading && assets.length > 0 && /* @__PURE__ */ jsx50(
10179
- "div",
10180
- {
10181
- ref: assetsContainerListRef,
10182
- style: { borderTop: "1px solid var(--l-pass-list-bd)", borderBottom: "1px solid var(--l-pass-list-bd)" },
10183
- className: "list-scrollbar-y relative",
10184
- children: /* @__PURE__ */ jsxs41("div", { ref: assetsListRef, className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: [
10185
- projectAssets.map((asset, index) => /* @__PURE__ */ jsx50(
10186
- PortfolioItem,
10187
- {
10188
- isProjectAsset: true,
10189
- address,
10190
- asset
10191
- },
10192
- `project-${asset.symbol}-${index}`
10193
- )),
10235
+ return /* @__PURE__ */ jsxs41(
10236
+ "div",
10237
+ {
10238
+ style: {
10239
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
10240
+ "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
10241
+ },
10242
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10243
+ children: [
10244
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10245
+ /* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft8, { className: "h-4 w-4" }) }),
10246
+ /* @__PURE__ */ jsx50("span", { className: "text-xl font-semibold", children: "Your Assets" }),
10247
+ /* @__PURE__ */ jsx50(
10248
+ Button,
10249
+ {
10250
+ title: "Refresh balances",
10251
+ variant: "ghost",
10252
+ size: "icon",
10253
+ onClick: refreshAllAssetsBalances,
10254
+ disabled: isLoading,
10255
+ children: isLoading ? /* @__PURE__ */ jsx50(Loader14, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx50(RefreshCw, { className: "h-4 w-4" })
10256
+ }
10257
+ )
10258
+ ] }),
10259
+ /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10260
+ isLoading && /* @__PURE__ */ jsxs41("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10261
+ /* @__PURE__ */ jsx50(Loader14, { className: "h-5 w-5 animate-spin" }),
10262
+ /* @__PURE__ */ jsx50("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
10263
+ ] }),
10264
+ !isLoading && assets.length === 0 && /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
10265
+ /* @__PURE__ */ jsx50(Gem, { className: "w-12 h-12 mb-2" }),
10266
+ /* @__PURE__ */ jsx50("p", { children: "No assets found" })
10267
+ ] }),
10268
+ !isLoading && assets.length > 0 && /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: [
10269
+ projectAssets.map((asset, index) => /* @__PURE__ */ jsx50(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
10194
10270
  assets.map((asset, index) => /* @__PURE__ */ jsx50(
10195
10271
  PortfolioItem,
10196
10272
  {
@@ -10200,15 +10276,16 @@ function PortfolioMenu() {
10200
10276
  `${asset.type}-${asset.address || "native"}-${index}`
10201
10277
  ))
10202
10278
  ] })
10203
- }
10204
- )
10205
- ] })
10206
- ] });
10279
+ ] })
10280
+ ]
10281
+ }
10282
+ );
10207
10283
  }
10208
10284
 
10209
10285
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
10210
10286
  init_auth();
10211
10287
  init_keyshare();
10288
+ import { useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
10212
10289
  import {
10213
10290
  AlertTriangle as AlertTriangle4,
10214
10291
  ArrowLeft as ArrowLeft9,
@@ -10222,17 +10299,28 @@ import {
10222
10299
  Shield,
10223
10300
  Trash2 as Trash22
10224
10301
  } from "lucide-react";
10225
- import { useCallback as useCallback13, useEffect as useEffect21, useState as useState11 } from "react";
10302
+ import { useEffect as useEffect20, useState as useState11 } from "react";
10303
+ init_iframe_manager();
10226
10304
  init_vaultClient();
10227
10305
  import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
10306
+ var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
10307
+ function parseOS(ua) {
10308
+ if (!ua) return null;
10309
+ if (ua.includes("Mac OS X")) return "macOS";
10310
+ if (ua.includes("Windows")) return "Windows";
10311
+ if (ua.includes("Android")) return "Android";
10312
+ if (ua.includes("Linux")) return "Linux";
10313
+ if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
10314
+ return null;
10315
+ }
10228
10316
  function SecurityMenu() {
10229
- const page = useLayoutDataStore((st) => st.page);
10317
+ const qc = useQueryClient11();
10318
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10230
10319
  const setPage = useLayoutDataStore((st) => st.setPage);
10231
- const open = page === "security";
10232
10320
  const userId = jwtTokenManager2.getUserId();
10233
- const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
10234
- const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
10235
- const [isRefreshing, setIsRefreshing] = useState11(false);
10321
+ useEffect20(() => {
10322
+ if (!userId) setPage("main-menu" /* MAIN_MENU */);
10323
+ }, [userId, setPage]);
10236
10324
  const [localInfo, setLocalInfo] = useState11(null);
10237
10325
  const [recoveryCreatedAt, setRecoveryCreatedAt] = useState11(null);
10238
10326
  const [recoveryBrowser, setRecoveryBrowser] = useState11(null);
@@ -10243,237 +10331,246 @@ function SecurityMenu() {
10243
10331
  const [hasServerBackup, setHasServerBackup] = useState11(false);
10244
10332
  const [trustedApps, setTrustedApps] = useState11([]);
10245
10333
  const [appToRemove, setAppToRemove] = useState11(null);
10246
- const fetchRecovery = useCallback13(async () => {
10247
- if (!userId) return;
10248
- try {
10249
- setIsRefreshing(true);
10250
- const keyshareInfo = await getKeyshareInfo(userId);
10251
- setLocalInfo(keyshareInfo);
10252
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
10253
- try {
10254
- console.log("[SecurityModal] Loading trusted apps for user:", userId);
10255
- const iframeManager = getIframeManager2();
10256
- const apps = await iframeManager.getTrustedApps(userId);
10257
- console.log("[SecurityModal] Received trusted apps:", apps);
10258
- console.log("[SecurityModal] Trusted apps count:", apps?.length);
10259
- console.log("[SecurityModal] Setting trusted apps state with:", apps);
10260
- setTrustedApps(apps);
10261
- } catch (error) {
10262
- console.error("[SecurityModal] Failed to load trusted apps:", error);
10263
- setTrustedApps([]);
10334
+ const {
10335
+ data: recoveryData,
10336
+ isFetching: isRecoveryRefreshing
10337
+ // error: recoveryError
10338
+ } = useQuery8({
10339
+ enabled: !!userId,
10340
+ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
10341
+ queryFn: async () => {
10342
+ const iframeManager = getIframeManager();
10343
+ if (!iframeManager) {
10344
+ throw new Error("Iframe manager not available");
10264
10345
  }
10265
- const stats = await getShareRecoveryStats();
10266
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
10267
- setHasServerBackup(!!hasRecoveryData);
10268
- const created = stats?.created;
10269
- setRecoveryCreatedAt(created?.at || null);
10270
- setRecoveryBrowser(created?.browser || null);
10271
- setRecoveryUa(created?.ua || null);
10272
- setRecoveryDeviceId(created?.deviceId || null);
10273
- setRecoveryDeviceName(created?.deviceName || null);
10274
- setRecoveryCountry(created?.country || null);
10275
- } finally {
10276
- setIsRefreshing(false);
10346
+ const trustedApps2 = await iframeManager.getTrustedApps(userId);
10347
+ const keyshareInfo = await getKeyshareInfo(userId);
10348
+ const shareRecoveryStats = await getShareRecoveryStats();
10349
+ return { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats };
10277
10350
  }
10278
- }, [userId]);
10279
- useEffect21(() => {
10280
- if (open) fetchRecovery();
10281
- }, [open, fetchRecovery]);
10282
- const parseOS = (ua) => {
10283
- if (!ua) return null;
10284
- if (ua.includes("Mac OS X")) return "macOS";
10285
- if (ua.includes("Windows")) return "Windows";
10286
- if (ua.includes("Android")) return "Android";
10287
- if (ua.includes("Linux")) return "Linux";
10288
- if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
10289
- return null;
10290
- };
10291
- return /* @__PURE__ */ jsxs42("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10292
- /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-2", children: [
10293
- /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx51(ArrowLeft9, { className: "h-4 w-4" }) }),
10294
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-2 font-semibold", children: [
10295
- /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
10296
- /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Refresh", onClick: fetchRecovery, children: isRefreshing ? /* @__PURE__ */ jsx51(Loader15, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx51(RefreshCw2, { className: "h-4 w-4" }) })
10297
- ] })
10298
- ] }) }),
10299
- /* @__PURE__ */ jsxs42("div", { className: "grid grid-cols-3 gap-4", children: [
10300
- /* @__PURE__ */ jsxs42("div", { className: "space-y-2 text-center", children: [
10301
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-center gap-2", children: [
10302
- /* @__PURE__ */ jsx51(Cloud2, { className: "h-4 w-4" }),
10303
- /* @__PURE__ */ jsx51("span", { className: "text-sm font-medium", children: "Server" })
10304
- ] }),
10305
- /* @__PURE__ */ jsxs42(
10306
- "span",
10307
- {
10308
- className: cn(
10309
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10310
- serverHasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10311
- ),
10312
- children: [
10313
- serverHasKeyshare ? /* @__PURE__ */ jsx51(CheckCircle23, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
10314
- serverHasKeyshare ? "Ready" : "Missing"
10315
- ]
10316
- }
10317
- )
10318
- ] }),
10319
- /* @__PURE__ */ jsxs42("div", { className: "space-y-2 text-center", children: [
10320
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-center gap-2", children: [
10321
- /* @__PURE__ */ jsx51(Laptop, { className: "h-4 w-4" }),
10322
- /* @__PURE__ */ jsx51("span", { className: "text-sm font-medium", children: "Local" })
10323
- ] }),
10324
- /* @__PURE__ */ jsxs42(
10325
- "span",
10326
- {
10327
- className: cn(
10328
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10329
- localInfo?.hasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10330
- ),
10331
- children: [
10332
- localInfo?.hasKeyshare ? /* @__PURE__ */ jsx51(CheckCircle23, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
10333
- localInfo?.hasKeyshare ? "Ready" : "Missing"
10334
- ]
10335
- }
10336
- )
10337
- ] }),
10338
- /* @__PURE__ */ jsxs42("div", { className: "space-y-2 text-center", children: [
10339
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-center gap-2", children: [
10340
- /* @__PURE__ */ jsx51(Shield, { className: "h-4 w-4" }),
10341
- /* @__PURE__ */ jsx51("span", { className: "text-sm font-medium", children: "Vault" })
10342
- ] }),
10343
- /* @__PURE__ */ jsxs42(
10344
- "span",
10345
- {
10346
- className: cn(
10347
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10348
- hasServerBackup ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10349
- ),
10350
- children: [
10351
- hasServerBackup ? /* @__PURE__ */ jsx51(CheckCircle23, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
10352
- hasServerBackup ? "Ready" : "None"
10353
- ]
10354
- }
10355
- )
10356
- ] })
10357
- ] }),
10358
- /* @__PURE__ */ jsxs42(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
10359
- localInfo?.hasKeyshare && /* @__PURE__ */ jsxs42("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10360
- localInfo.ownerAddress && /* @__PURE__ */ jsxs42("div", { children: [
10361
- /* @__PURE__ */ jsx51("span", { children: "Owner: " }),
10362
- /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
10363
- ] }),
10364
- typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ jsxs42("div", { children: [
10365
- /* @__PURE__ */ jsx51("span", { children: "Size: " }),
10366
- /* @__PURE__ */ jsx51("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
10367
- ] }),
10368
- localInfo.sessionId && /* @__PURE__ */ jsxs42("div", { children: [
10369
- /* @__PURE__ */ jsx51("span", { children: "Session: " }),
10370
- /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: localInfo.sessionId })
10371
- ] })
10372
- ] }),
10373
- /* @__PURE__ */ jsxs42("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10374
- backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10375
- /* @__PURE__ */ jsx51(Server3, { className: "h-2.5 w-2.5" }),
10376
- /* @__PURE__ */ jsxs42("span", { children: [
10377
- "Server: ",
10378
- new Date(backup.server.lastBackup).toLocaleString()
10379
- ] })
10380
- ] }),
10381
- !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10382
- /* @__PURE__ */ jsx51(Server3, { className: "h-2.5 w-2.5" }),
10383
- /* @__PURE__ */ jsxs42("span", { children: [
10384
- "Server: ",
10385
- new Date(recoveryCreatedAt).toLocaleString()
10351
+ });
10352
+ useEffect20(() => {
10353
+ if (!recoveryData) return;
10354
+ const { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats } = recoveryData;
10355
+ setLocalInfo(keyshareInfo);
10356
+ setTrustedApps(trustedApps2);
10357
+ const hasRecoveryData = shareRecoveryStats && (shareRecoveryStats.created || shareRecoveryStats.devices && shareRecoveryStats.devices.length > 0);
10358
+ const created = shareRecoveryStats?.created;
10359
+ setHasServerBackup(!!hasRecoveryData);
10360
+ setRecoveryCreatedAt(created?.at || null);
10361
+ setRecoveryBrowser(created?.browser || null);
10362
+ setRecoveryUa(created?.ua || null);
10363
+ setRecoveryDeviceId(created?.deviceId || null);
10364
+ setRecoveryDeviceName(created?.deviceName || null);
10365
+ setRecoveryCountry(created?.country || null);
10366
+ }, [recoveryData]);
10367
+ const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
10368
+ const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
10369
+ return /* @__PURE__ */ jsxs42(
10370
+ "div",
10371
+ {
10372
+ style: {
10373
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
10374
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
10375
+ },
10376
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10377
+ children: [
10378
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10379
+ /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx51(ArrowLeft9, { className: "h-4 w-4" }) }),
10380
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-[var(--l-pass-gap)] font-semibold", children: [
10381
+ /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
10382
+ /* @__PURE__ */ jsx51(
10383
+ Button,
10384
+ {
10385
+ variant: "ghost",
10386
+ size: "icon",
10387
+ title: "Refresh",
10388
+ onClick: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] }),
10389
+ children: isRecoveryRefreshing ? /* @__PURE__ */ jsx51(Loader15, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx51(RefreshCw2, { className: "h-4 w-4" })
10390
+ }
10391
+ )
10386
10392
  ] })
10387
10393
  ] }),
10388
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10389
- /* @__PURE__ */ jsx51(Cloud2, { className: "h-2.5 w-2.5" }),
10390
- /* @__PURE__ */ jsxs42("span", { children: [
10391
- "Cloud: ",
10392
- new Date(backup.cloud.lastBackup).toLocaleString()
10394
+ /* @__PURE__ */ jsxs42("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)]", children: [
10395
+ /* @__PURE__ */ jsxs42("div", { className: "space-y-2 text-center", children: [
10396
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
10397
+ /* @__PURE__ */ jsx51(Cloud2, { className: "h-4 w-4" }),
10398
+ /* @__PURE__ */ jsx51("span", { className: "text-xs font-medium", children: "Server" })
10399
+ ] }),
10400
+ /* @__PURE__ */ jsxs42(
10401
+ "span",
10402
+ {
10403
+ className: cn(
10404
+ "inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
10405
+ serverHasKeyshare ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
10406
+ ),
10407
+ children: [
10408
+ serverHasKeyshare ? /* @__PURE__ */ jsx51(CheckCircle23, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4" }),
10409
+ serverHasKeyshare ? "Ready" : "Missing"
10410
+ ]
10411
+ }
10412
+ )
10413
+ ] }),
10414
+ /* @__PURE__ */ jsxs42("div", { className: "space-y-2 text-center", children: [
10415
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
10416
+ /* @__PURE__ */ jsx51(Laptop, { className: "h-4 w-4" }),
10417
+ /* @__PURE__ */ jsx51("span", { className: "text-xs font-medium", children: "Local" })
10418
+ ] }),
10419
+ /* @__PURE__ */ jsxs42(
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
+ localInfo?.hasKeyshare ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
10425
+ ),
10426
+ children: [
10427
+ localInfo?.hasKeyshare ? /* @__PURE__ */ jsx51(CheckCircle23, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4" }),
10428
+ localInfo?.hasKeyshare ? "Ready" : "Missing"
10429
+ ]
10430
+ }
10431
+ )
10432
+ ] }),
10433
+ /* @__PURE__ */ jsxs42("div", { className: "space-y-2 text-center", children: [
10434
+ /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
10435
+ /* @__PURE__ */ jsx51(Shield, { className: "h-4 w-4" }),
10436
+ /* @__PURE__ */ jsx51("span", { className: "text-xs font-medium", children: "Vault" })
10437
+ ] }),
10438
+ /* @__PURE__ */ jsxs42(
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
+ hasServerBackup ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
10444
+ ),
10445
+ children: [
10446
+ hasServerBackup ? /* @__PURE__ */ jsx51(CheckCircle23, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4" }),
10447
+ hasServerBackup ? "Ready" : "None"
10448
+ ]
10449
+ }
10450
+ )
10393
10451
  ] })
10394
10452
  ] }),
10395
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10396
- /* @__PURE__ */ jsx51(HardDrive, { className: "h-2.5 w-2.5" }),
10397
- /* @__PURE__ */ jsxs42("span", { children: [
10398
- "Local: ",
10399
- new Date(backup.local.lastBackup).toLocaleString()
10453
+ /* @__PURE__ */ jsxs42(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
10454
+ localInfo?.hasKeyshare && /* @__PURE__ */ jsxs42("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10455
+ localInfo.ownerAddress && /* @__PURE__ */ jsxs42("div", { className: "text-[var(--l-pass-fg)] py-1", children: [
10456
+ /* @__PURE__ */ jsx51("span", { children: "Owner: " }),
10457
+ /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
10458
+ ] }),
10459
+ typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ jsxs42("div", { children: [
10460
+ /* @__PURE__ */ jsx51("span", { children: "Size: " }),
10461
+ /* @__PURE__ */ jsx51("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
10462
+ ] }),
10463
+ localInfo.sessionId && /* @__PURE__ */ jsxs42("div", { children: [
10464
+ /* @__PURE__ */ jsx51("span", { children: "Session: " }),
10465
+ /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: localInfo.sessionId })
10466
+ ] })
10467
+ ] }),
10468
+ /* @__PURE__ */ jsxs42("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10469
+ backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10470
+ /* @__PURE__ */ jsx51(Server3, { className: "h-2.5 w-2.5" }),
10471
+ /* @__PURE__ */ jsxs42("span", { children: [
10472
+ "Server: ",
10473
+ new Date(backup.server.lastBackup).toLocaleString()
10474
+ ] })
10475
+ ] }),
10476
+ !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10477
+ /* @__PURE__ */ jsx51(Server3, { className: "h-2.5 w-2.5" }),
10478
+ /* @__PURE__ */ jsxs42("span", { children: [
10479
+ "Server: ",
10480
+ new Date(recoveryCreatedAt).toLocaleString()
10481
+ ] })
10482
+ ] }),
10483
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10484
+ /* @__PURE__ */ jsx51(Cloud2, { className: "h-2.5 w-2.5" }),
10485
+ /* @__PURE__ */ jsxs42("span", { children: [
10486
+ "Cloud: ",
10487
+ new Date(backup.cloud.lastBackup).toLocaleString()
10488
+ ] })
10489
+ ] }),
10490
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-1", children: [
10491
+ /* @__PURE__ */ jsx51(HardDrive, { className: "h-2.5 w-2.5" }),
10492
+ /* @__PURE__ */ jsxs42("span", { children: [
10493
+ "Local: ",
10494
+ new Date(backup.local.lastBackup).toLocaleString()
10495
+ ] })
10496
+ ] })
10497
+ ] }),
10498
+ (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ jsxs42(Highlight, { type: "info", className: "space-y-0.5 text-[10px] leading-tight", children: [
10499
+ /* @__PURE__ */ jsx51("div", { className: "font-bold text-sm", children: "Device Information:" }),
10500
+ recoveryCreatedAt && /* @__PURE__ */ jsxs42("div", { children: [
10501
+ "Created: ",
10502
+ new Date(recoveryCreatedAt).toLocaleString(),
10503
+ " "
10504
+ ] }),
10505
+ recoveryCountry && /* @__PURE__ */ jsxs42("div", { children: [
10506
+ "Country: ",
10507
+ recoveryCountry
10508
+ ] }),
10509
+ recoveryBrowser && /* @__PURE__ */ jsxs42("div", { children: [
10510
+ "Browser: ",
10511
+ recoveryBrowser
10512
+ ] }),
10513
+ parseOS(recoveryUa) && /* @__PURE__ */ jsxs42("div", { children: [
10514
+ "OS: ",
10515
+ parseOS(recoveryUa)
10516
+ ] }),
10517
+ recoveryDeviceName && /* @__PURE__ */ jsxs42("div", { children: [
10518
+ "Device: ",
10519
+ recoveryDeviceName
10520
+ ] }),
10521
+ recoveryDeviceId && /* @__PURE__ */ jsxs42("div", { children: [
10522
+ "Device ID: ",
10523
+ /* @__PURE__ */ jsx51("span", { className: "break-all", children: recoveryDeviceId })
10524
+ ] })
10525
+ ] }),
10526
+ trustedApps.length > 0 && /* @__PURE__ */ jsxs42("div", { className: "w-full space-y-2", children: [
10527
+ /* @__PURE__ */ jsx51("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
10528
+ /* @__PURE__ */ jsx51("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs42(
10529
+ "div",
10530
+ {
10531
+ className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
10532
+ children: [
10533
+ /* @__PURE__ */ jsxs42("div", { className: "flex-1 min-w-0", children: [
10534
+ /* @__PURE__ */ jsx51("div", { className: "font-medium", children: new URL(app.origin).hostname }),
10535
+ /* @__PURE__ */ jsxs42("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
10536
+ "Trusted: ",
10537
+ new Date(app.trustedAt).toLocaleDateString()
10538
+ ] })
10539
+ ] }),
10540
+ /* @__PURE__ */ jsx51(
10541
+ Button,
10542
+ {
10543
+ variant: "ghost",
10544
+ size: "icon",
10545
+ title: "Remove from trusted",
10546
+ className: "text-[var(--l-pass-error)]",
10547
+ onClick: () => setAppToRemove({
10548
+ projectId: app.projectId,
10549
+ origin: app.origin,
10550
+ hostname: new URL(app.origin).hostname
10551
+ }),
10552
+ children: /* @__PURE__ */ jsx51(Trash22, { className: "h-3 w-3" })
10553
+ }
10554
+ )
10555
+ ]
10556
+ },
10557
+ index
10558
+ )) })
10400
10559
  ] })
10401
10560
  ] })
10402
- ] }),
10403
- (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ jsxs42("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10404
- /* @__PURE__ */ jsx51("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: "Device Information:" }),
10405
- recoveryCreatedAt && /* @__PURE__ */ jsxs42("div", { children: [
10406
- "Created: ",
10407
- new Date(recoveryCreatedAt).toLocaleString(),
10408
- " "
10409
- ] }),
10410
- recoveryCountry && /* @__PURE__ */ jsxs42("div", { children: [
10411
- "Country: ",
10412
- recoveryCountry
10413
- ] }),
10414
- recoveryBrowser && /* @__PURE__ */ jsxs42("div", { children: [
10415
- "Browser: ",
10416
- recoveryBrowser
10417
- ] }),
10418
- parseOS(recoveryUa) && /* @__PURE__ */ jsxs42("div", { children: [
10419
- "OS: ",
10420
- parseOS(recoveryUa)
10421
- ] }),
10422
- recoveryDeviceName && /* @__PURE__ */ jsxs42("div", { children: [
10423
- "Device: ",
10424
- recoveryDeviceName
10425
- ] }),
10426
- recoveryDeviceId && /* @__PURE__ */ jsxs42("div", { children: [
10427
- "Device ID: ",
10428
- /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: recoveryDeviceId })
10429
- ] })
10430
- ] }),
10431
- trustedApps.length > 0 && /* @__PURE__ */ jsxs42("div", { className: "w-full space-y-2", children: [
10432
- /* @__PURE__ */ jsx51("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: `Trusted Applications (${trustedApps.length}):` }),
10433
- /* @__PURE__ */ jsx51("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs42(
10434
- "div",
10435
- {
10436
- className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
10437
- children: [
10438
- /* @__PURE__ */ jsxs42("div", { className: "flex-1 min-w-0", children: [
10439
- /* @__PURE__ */ jsx51("div", { className: "font-medium", children: new URL(app.origin).hostname }),
10440
- /* @__PURE__ */ jsxs42("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
10441
- "Trusted: ",
10442
- new Date(app.trustedAt).toLocaleDateString()
10443
- ] })
10444
- ] }),
10445
- /* @__PURE__ */ jsx51(
10446
- Button,
10447
- {
10448
- variant: "ghost",
10449
- size: "icon",
10450
- title: "Remove from trusted",
10451
- className: "text-[var(--l-pass-error)]",
10452
- onClick: () => setAppToRemove({
10453
- projectId: app.projectId,
10454
- origin: app.origin,
10455
- hostname: new URL(app.origin).hostname
10456
- }),
10457
- children: /* @__PURE__ */ jsx51(Trash22, { className: "h-3 w-3" })
10458
- }
10459
- )
10460
- ]
10461
- },
10462
- index
10463
- )) })
10464
- ] })
10465
- ] })
10466
- ] });
10561
+ ]
10562
+ }
10563
+ );
10467
10564
  }
10468
10565
 
10469
10566
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10470
10567
  import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle24, Loader as Loader16, Wallet } from "lucide-react";
10471
- import { useEffect as useEffect22, useState as useState13 } from "react";
10568
+ import { useEffect as useEffect21, useState as useState13 } from "react";
10472
10569
  import { isAddress as isAddress2 } from "viem";
10473
10570
  import { useBalance as useBalance3 } from "wagmi";
10474
10571
 
10475
10572
  // src/hooks/useSendTransaction.ts
10476
- import { useCallback as useCallback14, useState as useState12 } from "react";
10573
+ import { useCallback as useCallback13, useState as useState12 } from "react";
10477
10574
  import { isAddress, parseEther as parseEther2 } from "viem";
10478
10575
  init_account();
10479
10576
  function useSendTransaction() {
@@ -10482,7 +10579,7 @@ function useSendTransaction() {
10482
10579
  const [isLoading, setIsLoading] = useState12(false);
10483
10580
  const [error, setError] = useState12(null);
10484
10581
  const [userOpHash, setUserOpHash] = useState12(null);
10485
- const sendTransaction = useCallback14(
10582
+ const sendTransaction = useCallback13(
10486
10583
  async (params) => {
10487
10584
  if (!session || !address) {
10488
10585
  setError("No active session");
@@ -10522,7 +10619,7 @@ function useSendTransaction() {
10522
10619
  },
10523
10620
  [session, address]
10524
10621
  );
10525
- const reset = useCallback14(() => {
10622
+ const reset = useCallback13(() => {
10526
10623
  setError(null);
10527
10624
  setUserOpHash(null);
10528
10625
  setIsLoading(false);
@@ -10556,7 +10653,7 @@ function SendLumiaMenu() {
10556
10653
  const [validationError, setValidationError] = useState13(null);
10557
10654
  const nativeAsset = assets.find((a) => a.type === "native");
10558
10655
  const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
10559
- useEffect22(() => {
10656
+ useEffect21(() => {
10560
10657
  if (open) {
10561
10658
  setTxStep("input");
10562
10659
  setValidationError(null);
@@ -10721,7 +10818,7 @@ function SendLumiaMenu() {
10721
10818
  init_clients();
10722
10819
  import { ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle25, Copy as Copy2, Loader as Loader17 } from "lucide-react";
10723
10820
  import QRCode from "qrcode";
10724
- import { useCallback as useCallback15, useEffect as useEffect23, useState as useState14 } from "react";
10821
+ import { useCallback as useCallback14, useEffect as useEffect22, useState as useState14 } from "react";
10725
10822
  import { Fragment as Fragment13, jsx as jsx53, jsxs as jsxs44 } from "react/jsx-runtime";
10726
10823
  function ReceiveLumiaMenu() {
10727
10824
  const address = useLumiaPassportSession((st) => st.address);
@@ -10731,7 +10828,7 @@ function ReceiveLumiaMenu() {
10731
10828
  const open = page === "receive";
10732
10829
  const [qrCodeUrl, setQrCodeUrl] = useState14("");
10733
10830
  const [copied, setCopied] = useState14(false);
10734
- useEffect23(() => {
10831
+ useEffect22(() => {
10735
10832
  if (open && address) {
10736
10833
  QRCode.toDataURL(address, {
10737
10834
  width: 200,
@@ -10744,7 +10841,7 @@ function ReceiveLumiaMenu() {
10744
10841
  });
10745
10842
  }
10746
10843
  }, [open, address]);
10747
- const handleCopy = useCallback15(async () => {
10844
+ const handleCopy = useCallback14(async () => {
10748
10845
  if (!address) return;
10749
10846
  try {
10750
10847
  await navigator.clipboard.writeText(address);
@@ -10759,7 +10856,7 @@ function ReceiveLumiaMenu() {
10759
10856
  {
10760
10857
  style: {
10761
10858
  "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
10762
- "--l-pass-list-scrollbar-pd-r": "8px"
10859
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
10763
10860
  },
10764
10861
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
10765
10862
  children: [
@@ -10790,7 +10887,7 @@ function ReceiveLumiaMenu() {
10790
10887
 
10791
10888
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10792
10889
  import { ArrowLeft as ArrowLeft12 } from "lucide-react";
10793
- import { useEffect as useEffect24 } from "react";
10890
+ import { useEffect as useEffect23 } from "react";
10794
10891
 
10795
10892
  // src/internal/components/SettingsMenu/constants.ts
10796
10893
  import { ArrowLeftRight, DatabaseBackup as DatabaseBackup2, LockKeyhole, UsersRound } from "lucide-react";
@@ -10824,13 +10921,13 @@ function SettingsMenu() {
10824
10921
  const setPage = useLayoutDataStore((st) => st.setPage);
10825
10922
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
10826
10923
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
10827
- useEffect24(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
10924
+ useEffect23(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
10828
10925
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
10829
10926
  const highlightedKeys = settingsNotifications.map((n) => n.target);
10830
10927
  return /* @__PURE__ */ jsxs45("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10831
10928
  /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10832
10929
  /* @__PURE__ */ jsx55(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx55(ArrowLeft12, { className: "h-4 w-4" }) }),
10833
- /* @__PURE__ */ jsx55("span", { className: "text-xl font-semibold", children: "Wallet Details" })
10930
+ /* @__PURE__ */ jsx55("span", { className: "text-xl font-semibold", children: "Settings" })
10834
10931
  ] }),
10835
10932
  /* @__PURE__ */ jsx55("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ jsxs45(
10836
10933
  Button,
@@ -10882,9 +10979,9 @@ function TermsOfService() {
10882
10979
  }
10883
10980
 
10884
10981
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10885
- import { useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
10982
+ import { useQuery as useQuery9, useQueryClient as useQueryClient12 } from "@tanstack/react-query";
10886
10983
  import { ArrowLeft as ArrowLeft14, Loader as Loader18, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
10887
- import { useCallback as useCallback16, useEffect as useEffect25, useRef as useRef10, useState as useState15 } from "react";
10984
+ import { useCallback as useCallback15, useState as useState15 } from "react";
10888
10985
 
10889
10986
  // src/internal/components/TransactionsMenu/api.ts
10890
10987
  init_base();
@@ -11360,78 +11457,60 @@ function TransactionsGroup(props) {
11360
11457
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
11361
11458
  import { jsx as jsx59, jsxs as jsxs49 } from "react/jsx-runtime";
11362
11459
  function TransactionsMenu() {
11363
- const qc = useQueryClient11();
11460
+ const qc = useQueryClient12();
11364
11461
  const address = useLumiaPassportSession((st) => st.address);
11365
11462
  const page = useLayoutDataStore((st) => st.page);
11366
11463
  const setPage = useLayoutDataStore((st) => st.setPage);
11367
11464
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11368
- const txContainerListRef = useRef10(null);
11369
- const txListRef = useRef10(null);
11370
11465
  const [expandedGroups, setExpandedGroups] = useState15({});
11371
11466
  const {
11372
11467
  data: txHistoryGroups = [],
11373
11468
  isLoading: isTxHistoryLoading,
11374
11469
  isFetching: isTxHistoryFetching,
11375
11470
  error: txHistoryError
11376
- } = useQuery8({
11471
+ } = useQuery9({
11377
11472
  retry: false,
11378
11473
  enabled: !!address && page === "transactions",
11379
11474
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
11380
11475
  queryFn: () => getTransactionsListQuery(address)
11381
11476
  });
11382
- const refreshTxHistory = useCallback16(
11477
+ const refreshTxHistory = useCallback15(
11383
11478
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
11384
11479
  [qc, address]
11385
11480
  );
11386
11481
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
11387
- useEffect25(() => {
11388
- if (!txContainerListRef.current || !txListRef.current) return;
11389
- const listTargetHeight = maxScrollHeight - 128;
11390
- txContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
11391
- txContainerListRef.current.style.setProperty(
11392
- "--l-pass-list-bd",
11393
- txListRef.current.clientHeight >= listTargetHeight ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
11394
- // hide border if no scrollbar
11395
- );
11396
- txContainerListRef.current.style.setProperty(
11397
- "--l-pass-list-scrollbar-pd-r",
11398
- txListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
11399
- // remove padding if no scrollbar
11400
- );
11401
- }, [maxScrollHeight]);
11402
- return /* @__PURE__ */ jsxs49("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
11403
- /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2", children: [
11404
- /* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx59(ArrowLeft14, { className: "h-4 w-4" }) }),
11405
- /* @__PURE__ */ jsx59("span", { className: "text-xl font-semibold", children: "Transaction History" }),
11406
- /* @__PURE__ */ jsx59(
11407
- Button,
11408
- {
11409
- variant: "ghost",
11410
- size: "icon",
11411
- onClick: refreshTxHistory,
11412
- disabled: isTxHistoryFetching,
11413
- title: "Refresh transactions",
11414
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx59(Loader18, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx59(RefreshCw3, { className: "h-4 w-4" })
11415
- }
11416
- )
11417
- ] }),
11418
- /* @__PURE__ */ jsxs49(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11419
- isTxHistoryLoading && /* @__PURE__ */ jsx59("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx59(Loader18, { className: "h-5 w-5 animate-spin" }) }),
11420
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs49(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11421
- /* @__PURE__ */ jsx59(XCircle2, { className: "w-4 h-4 flex-none" }),
11422
- /* @__PURE__ */ jsx59("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
11423
- ] }),
11424
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx59(Highlight, { type: "warning", children: /* @__PURE__ */ jsx59("span", { children: "No transactions found. Smart account transactions will appear here" }) }),
11425
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx59(
11426
- "div",
11427
- {
11428
- ref: txContainerListRef,
11429
- style: {
11430
- borderTop: "1px solid var(--l-pass-list-bd)",
11431
- borderBottom: "1px solid var(--l-pass-list-bd)"
11432
- },
11433
- className: "list-scrollbar-y relative",
11434
- children: /* @__PURE__ */ jsx59("div", { ref: txListRef, className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx59(
11482
+ return /* @__PURE__ */ jsxs49(
11483
+ "div",
11484
+ {
11485
+ style: {
11486
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
11487
+ "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
11488
+ },
11489
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
11490
+ children: [
11491
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2", children: [
11492
+ /* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx59(ArrowLeft14, { className: "h-4 w-4" }) }),
11493
+ /* @__PURE__ */ jsx59("span", { className: "text-xl font-semibold", children: "Transaction History" }),
11494
+ /* @__PURE__ */ jsx59(
11495
+ Button,
11496
+ {
11497
+ variant: "ghost",
11498
+ size: "icon",
11499
+ onClick: refreshTxHistory,
11500
+ disabled: isTxHistoryFetching,
11501
+ title: "Refresh transactions",
11502
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx59(Loader18, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx59(RefreshCw3, { className: "h-4 w-4" })
11503
+ }
11504
+ )
11505
+ ] }),
11506
+ /* @__PURE__ */ jsxs49("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11507
+ isTxHistoryLoading && /* @__PURE__ */ jsx59("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx59(Loader18, { className: "h-5 w-5 animate-spin" }) }),
11508
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs49(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11509
+ /* @__PURE__ */ jsx59(XCircle2, { className: "w-4 h-4 flex-none" }),
11510
+ /* @__PURE__ */ jsx59("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
11511
+ ] }),
11512
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx59(Highlight, { type: "warning", children: /* @__PURE__ */ jsx59("span", { children: "No transactions found. Smart account transactions will appear here" }) }),
11513
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx59("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx59(
11435
11514
  TransactionsGroup,
11436
11515
  {
11437
11516
  group,
@@ -11440,10 +11519,10 @@ function TransactionsMenu() {
11440
11519
  },
11441
11520
  group.id
11442
11521
  )) })
11443
- }
11444
- )
11445
- ] })
11446
- ] });
11522
+ ] })
11523
+ ]
11524
+ }
11525
+ );
11447
11526
  }
11448
11527
 
11449
11528
  // src/internal/components/PageMap.tsx
@@ -11555,7 +11634,7 @@ function usePageMapper() {
11555
11634
  setIsDialogOpen,
11556
11635
  setIsDialogClosing
11557
11636
  } = useLayoutStore();
11558
- const closeDialog = useCallback17(() => {
11637
+ const closeDialog = useCallback16(() => {
11559
11638
  setIsDialogClosing(true);
11560
11639
  setTimeout(() => {
11561
11640
  setDialogContent(null);
@@ -11566,7 +11645,7 @@ function usePageMapper() {
11566
11645
  setIsDialogOpen(false);
11567
11646
  }, CLEAR_DIALOG_TIMEOUT);
11568
11647
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
11569
- const openDialog = useCallback17(
11648
+ const openDialog = useCallback16(
11570
11649
  (pageItem) => {
11571
11650
  const PageContentComponent = pageItem.component;
11572
11651
  setDialogTitle(pageItem.title);
@@ -11576,7 +11655,7 @@ function usePageMapper() {
11576
11655
  },
11577
11656
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
11578
11657
  );
11579
- useEffect26(() => {
11658
+ useEffect24(() => {
11580
11659
  if (page === null) return closeDialog();
11581
11660
  const pageItem = protectedRoutes[page];
11582
11661
  if (!pageItem) {
@@ -11590,7 +11669,7 @@ function usePageMapper() {
11590
11669
 
11591
11670
  // src/internal/hooks/useSettingsNotifications.ts
11592
11671
  init_auth();
11593
- import { useEffect as useEffect27 } from "react";
11672
+ import { useEffect as useEffect25 } from "react";
11594
11673
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
11595
11674
  id: "email-not-connected",
11596
11675
  target: "manage-wallet" /* MANAGE_WALLET */,
@@ -11606,13 +11685,13 @@ function useSettingsNotifications() {
11606
11685
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
11607
11686
  const providers = jwtTokenManager2.getProviders();
11608
11687
  const hasEmail = providers.includes("email");
11609
- useEffect27(() => {
11688
+ useEffect25(() => {
11610
11689
  setSettingsNotifications({
11611
11690
  ...BACKUP_IS_NOT_CREATED_NOTIFICATION,
11612
11691
  status: hasServerVault ? "resolved" : "active"
11613
11692
  });
11614
11693
  }, [hasServerVault, setSettingsNotifications]);
11615
- useEffect27(() => {
11694
+ useEffect25(() => {
11616
11695
  setSettingsNotifications({
11617
11696
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
11618
11697
  status: hasEmail ? "resolved" : "active"
@@ -11621,7 +11700,7 @@ function useSettingsNotifications() {
11621
11700
  }
11622
11701
 
11623
11702
  // src/internal/hooks/useWalletStatus.ts
11624
- import { useEffect as useEffect28 } from "react";
11703
+ import { useEffect as useEffect26 } from "react";
11625
11704
  init_auth();
11626
11705
  function useWalletStatus() {
11627
11706
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
@@ -11631,7 +11710,7 @@ function useWalletStatus() {
11631
11710
  config: { current: config },
11632
11711
  callbacks
11633
11712
  } = useLumiaPassportConfig();
11634
- useEffect28(() => {
11713
+ useEffect26(() => {
11635
11714
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
11636
11715
  const userId = jwtTokenManager2.getUserId();
11637
11716
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -11660,7 +11739,7 @@ function LumiaPassportDialog() {
11660
11739
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
11661
11740
  const setPage = useLayoutDataStore((st) => st.setPage);
11662
11741
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
11663
- useEffect29(() => setIsSettings(!!session), [session, setIsSettings]);
11742
+ useEffect27(() => setIsSettings(!!session), [session, setIsSettings]);
11664
11743
  usePageMapper();
11665
11744
  useAutoConnect();
11666
11745
  useCheckVaultStatus();
@@ -11699,7 +11778,7 @@ function LumiaPassportDialog() {
11699
11778
  }
11700
11779
 
11701
11780
  // src/internal/components/TssManager.tsx
11702
- import React12, { useCallback as useCallback18 } from "react";
11781
+ import React12, { useCallback as useCallback17 } from "react";
11703
11782
  init_auth();
11704
11783
  init_clients();
11705
11784
  var TssManagerWithRef = React12.forwardRef((props, ref) => {
@@ -11708,7 +11787,7 @@ var TssManagerWithRef = React12.forwardRef((props, ref) => {
11708
11787
  const setStatus = useLumiaPassportSession((st) => st.setStatus);
11709
11788
  const setSession = useLumiaPassportSession((st) => st.setSession);
11710
11789
  const setAddress = useLumiaPassportSession((st) => st.setAddress);
11711
- const onSessionCreated = useCallback18(
11790
+ const onSessionCreated = useCallback17(
11712
11791
  (session, address) => {
11713
11792
  setSession(session);
11714
11793
  setAddress(address);
@@ -11743,11 +11822,11 @@ var TssManagerWithRef = React12.forwardRef((props, ref) => {
11743
11822
  // src/internal/components/WalletConnectHandler.tsx
11744
11823
  init_wallet();
11745
11824
  import { useConnectModal } from "@rainbow-me/rainbowkit";
11746
- import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
11747
- import React13, { useCallback as useCallback19, useEffect as useEffect30 } from "react";
11825
+ import { useQueryClient as useQueryClient13 } from "@tanstack/react-query";
11826
+ import React13, { useCallback as useCallback18, useEffect as useEffect28 } from "react";
11748
11827
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
11749
11828
  function WalletConnectHandler() {
11750
- const qc = useQueryClient12();
11829
+ const qc = useQueryClient13();
11751
11830
  const { callbacks } = useLumiaPassportConfig();
11752
11831
  const userAddress = useLumiaPassportSession((st) => st.address);
11753
11832
  const { address: walletAddress, isConnected, chain, connector } = useAccount();
@@ -11755,12 +11834,12 @@ function WalletConnectHandler() {
11755
11834
  const { signMessageAsync } = useSignMessage();
11756
11835
  const setPage = useLayoutDataStore((st) => st.setPage);
11757
11836
  const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
11758
- const onError = useCallback19((error) => {
11837
+ const onError = useCallback18((error) => {
11759
11838
  setLinkError(error);
11760
11839
  setIsWalletLinking(false);
11761
11840
  setPage("manage-wallet" /* MANAGE_WALLET */);
11762
11841
  }, []);
11763
- const onLinkingComplete = useCallback19(
11842
+ const onLinkingComplete = useCallback18(
11764
11843
  async (success) => {
11765
11844
  console.log("[WalletConnectHandler] onLinkingComplete called:", { success, userAddress });
11766
11845
  setIsWalletLinking(false);
@@ -11785,7 +11864,7 @@ function WalletConnectHandler() {
11785
11864
  const { openConnectModal, connectModalOpen } = useConnectModal();
11786
11865
  const [hasStartedLinking, setHasStartedLinking] = React13.useState(false);
11787
11866
  const timeoutRef = React13.useRef();
11788
- useEffect30(() => {
11867
+ useEffect28(() => {
11789
11868
  if (isWalletLinking && !hasStartedLinking) {
11790
11869
  setHasStartedLinking(true);
11791
11870
  setProviderType(null);
@@ -11810,7 +11889,7 @@ function WalletConnectHandler() {
11810
11889
  if (isConnected) disconnect();
11811
11890
  }
11812
11891
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
11813
- useEffect30(() => {
11892
+ useEffect28(() => {
11814
11893
  console.log("[WalletConnectHandler] Modal state check:", {
11815
11894
  hasStartedLinking,
11816
11895
  connectModalOpen,
@@ -11823,7 +11902,7 @@ function WalletConnectHandler() {
11823
11902
  setHasStartedLinking(false);
11824
11903
  }
11825
11904
  }, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
11826
- useEffect30(() => {
11905
+ useEffect28(() => {
11827
11906
  if (isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
11828
11907
  handleWalletSign();
11829
11908
  }
@@ -11894,7 +11973,8 @@ var useLumiaPassportSession = create5((set) => ({
11894
11973
  error: null,
11895
11974
  recoveryUserId: null,
11896
11975
  isIframeReady: false,
11897
- hasServerVault: false,
11976
+ hasServerVault: true,
11977
+ // assume true until proven otherwise to not throw red warnings before checking
11898
11978
  walletReadyStatus: null,
11899
11979
  setIsLoading: (isLoading) => set({ isLoading }),
11900
11980
  setUsePaymaster: (usePaymaster) => set({ usePaymaster }),
@@ -11966,9 +12046,9 @@ function LumiaPassportProvider(props) {
11966
12046
  const { children, projectId, initialConfig = {}, callbacks } = props;
11967
12047
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
11968
12048
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
11969
- useEffect31(() => notifyNoProjetctId(projectId), [projectId]);
12049
+ useEffect29(() => notifyNoProjetctId(projectId), [projectId]);
11970
12050
  const config = useRef11({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
11971
- const updateConfig = useCallback20((updates) => {
12051
+ const updateConfig = useCallback19((updates) => {
11972
12052
  const prev = config.current;
11973
12053
  const next = { ...prev };
11974
12054
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -12003,7 +12083,7 @@ function LumiaPassportProvider(props) {
12003
12083
  }
12004
12084
  config.current = next;
12005
12085
  }, []);
12006
- useEffect31(() => {
12086
+ useEffect29(() => {
12007
12087
  if (typeof window === "undefined" || !projectId) return;
12008
12088
  const mergedConfig = merge2(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
12009
12089
  updateConfig(mergedConfig);
@@ -12059,7 +12139,7 @@ var useLumiaPassportConfig = () => {
12059
12139
 
12060
12140
  // src/components/ConnectWalletButton.tsx
12061
12141
  import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader19, Shield as Shield2 } from "lucide-react";
12062
- import { useEffect as useEffect32, useMemo as useMemo4 } from "react";
12142
+ import { useEffect as useEffect30, useMemo as useMemo4 } from "react";
12063
12143
  init_auth();
12064
12144
  import { Fragment as Fragment16, jsx as jsx65, jsxs as jsxs52 } from "react/jsx-runtime";
12065
12145
  function getFormattedStatus(label, status, showStatus) {
@@ -12079,7 +12159,7 @@ function ConnectWalletButton(props) {
12079
12159
  const colorMode = useLayoutStore((st) => st.colorMode);
12080
12160
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
12081
12161
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
12082
- useEffect32(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12162
+ useEffect30(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12083
12163
  const avatar = jwtTokenManager2.getAvatar();
12084
12164
  const displayName = jwtTokenManager2.getDisplayName();
12085
12165
  const indicators = useMemo4(() => {
@@ -12240,13 +12320,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
12240
12320
  var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
12241
12321
 
12242
12322
  // src/hooks/useLumiaPassportOpen.ts
12243
- import { useCallback as useCallback21 } from "react";
12323
+ import { useCallback as useCallback20 } from "react";
12244
12324
  function useLumiaPassportOpen() {
12245
12325
  const page = useLayoutDataStore((st) => st.page);
12246
12326
  const setPage = useLayoutDataStore((st) => st.setPage);
12247
12327
  const setPageParams = useLayoutDataStore((st) => st.setPageParams);
12248
12328
  const address = useLumiaPassportSession((st) => st.address);
12249
- const open = useCallback21(
12329
+ const open = useCallback20(
12250
12330
  (passportPage, params) => {
12251
12331
  if (!address) return setPage("auth" /* AUTH */);
12252
12332
  if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -12255,12 +12335,12 @@ function useLumiaPassportOpen() {
12255
12335
  },
12256
12336
  [setPage, setPageParams, address]
12257
12337
  );
12258
- const close = useCallback21(() => setPage(null), [setPage]);
12338
+ const close = useCallback20(() => setPage(null), [setPage]);
12259
12339
  return { open, close, isOpen: page !== null };
12260
12340
  }
12261
12341
 
12262
12342
  // src/hooks/useLumiaPassportColorMode.ts
12263
- import { useCallback as useCallback22, useEffect as useEffect33 } from "react";
12343
+ import { useCallback as useCallback21, useEffect as useEffect31 } from "react";
12264
12344
  function useLumiaPassportColorMode() {
12265
12345
  const {
12266
12346
  config: { current: config }
@@ -12268,14 +12348,14 @@ function useLumiaPassportColorMode() {
12268
12348
  const preferedColorMode = config?.preferedColorMode;
12269
12349
  const colorMode = useLayoutStore((st) => st.colorMode);
12270
12350
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
12271
- const setColorMode = useCallback22(
12351
+ const setColorMode = useCallback21(
12272
12352
  (mode) => {
12273
12353
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
12274
12354
  handleStoreColorMode(mode);
12275
12355
  },
12276
12356
  [handleStoreColorMode]
12277
12357
  );
12278
- useEffect33(() => {
12358
+ useEffect31(() => {
12279
12359
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
12280
12360
  if (!targetColorMode && !preferedColorMode) {
12281
12361
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -12317,24 +12397,14 @@ function ThemeToggle(props) {
12317
12397
  }
12318
12398
 
12319
12399
  // src/context/RainbowKitContext.tsx
12320
- import React14 from "react";
12321
- import "@rainbow-me/rainbowkit/styles.css";
12322
12400
  import { darkTheme, lightTheme, RainbowKitProvider } from "@rainbow-me/rainbowkit";
12401
+ import { useMemo as useMemo5 } from "react";
12323
12402
  import { WagmiProvider as WagmiProvider2 } from "wagmi";
12324
12403
 
12325
12404
  // src/config/rainbowkit.ts
12326
12405
  init_base();
12327
12406
  import { getDefaultConfig } from "@rainbow-me/rainbowkit";
12328
- import {
12329
- mainnet,
12330
- polygon,
12331
- bsc,
12332
- arbitrum,
12333
- optimism,
12334
- avalanche,
12335
- base,
12336
- zora
12337
- } from "wagmi/chains";
12407
+ import { arbitrum, avalanche, base, bsc, mainnet, optimism, polygon, zora } from "wagmi/chains";
12338
12408
  var getProjectId = (configProjectId) => {
12339
12409
  if (configProjectId) {
12340
12410
  return configProjectId;
@@ -12368,145 +12438,221 @@ var rainbowConfig = createRainbowConfig();
12368
12438
  var rainbowTheme = {
12369
12439
  lightMode: {
12370
12440
  colors: {
12371
- accentColor: "#6366F1",
12372
- accentColorForeground: "white",
12373
- actionButtonBorder: "rgba(255, 255, 255, 0.04)",
12374
- actionButtonBorderMobile: "rgba(255, 255, 255, 0.08)",
12375
- actionButtonSecondaryBackground: "rgba(255, 255, 255, 0.08)",
12376
- closeButton: "rgba(60, 66, 82, 0.8)",
12377
- closeButtonBackground: "rgba(255, 255, 255, 0.08)",
12378
- connectButtonBackground: "white",
12379
- connectButtonBackgroundError: "#FF494A",
12380
- connectButtonInnerBackground: "linear-gradient(0deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.15))",
12381
- connectButtonText: "#1A1B1F",
12382
- connectButtonTextError: "white",
12383
- connectionIndicator: "#30E000",
12384
- downloadBottomCardBackground: "linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(120, 120, 120, 0.2) 71.04%), #FFFFFF",
12385
- downloadTopCardBackground: "linear-gradient(126deg, rgba(120, 120, 120, 0.2) 9.49%, rgba(0, 0, 0, 0) 71.04%), white",
12386
- error: "#FF494A",
12387
- generalBorder: "rgba(0, 0, 0, 0.06)",
12388
- generalBorderDim: "rgba(0, 0, 0, 0.03)",
12389
- menuItemBackground: "rgba(60, 66, 82, 0.1)",
12390
- modalBackdrop: "rgba(0, 0, 0, 0.3)",
12391
- modalBackground: "white",
12392
- modalBorder: "rgba(0, 0, 0, 0.06)",
12393
- modalText: "#1A1B1F",
12394
- modalTextDim: "rgba(60, 66, 82, 0.3)",
12395
- modalTextSecondary: "rgba(60, 66, 82, 0.6)",
12396
- profileAction: "white",
12397
- profileActionHover: "rgba(255, 255, 255, 0.08)",
12398
- profileForeground: "rgba(60, 66, 82, 0.06)",
12399
- selectedOptionBorder: "rgba(60, 66, 82, 0.1)",
12400
- standby: "#FFD641"
12441
+ // Primary accent - using --l-pass-primary
12442
+ accentColor: "#000000",
12443
+ // --l-pass-primary
12444
+ accentColorForeground: "#ffffff",
12445
+ // --l-pass-fg-inverted
12446
+ // Borders
12447
+ actionButtonBorder: "rgb(201, 201, 201)",
12448
+ // --l-pass-bd
12449
+ actionButtonBorderMobile: "rgb(169, 169, 169)",
12450
+ // --l-pass-bd-intense
12451
+ // Secondary backgrounds
12452
+ actionButtonSecondaryBackground: "#e4e4e4",
12453
+ // --l-pass-secondary
12454
+ // Close button
12455
+ closeButton: "rgba(0, 0, 0, 0.6)",
12456
+ // --l-pass-fg-h
12457
+ closeButtonBackground: "#e4e4e4",
12458
+ // --l-pass-secondary
12459
+ // Connect button
12460
+ connectButtonBackground: "#ffffff",
12461
+ // --l-pass-bg
12462
+ connectButtonBackgroundError: "#d6204e",
12463
+ // --l-pass-bg-error
12464
+ connectButtonInnerBackground: "linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.02))",
12465
+ connectButtonText: "#000000",
12466
+ // --l-pass-fg
12467
+ connectButtonTextError: "#ffffff",
12468
+ // --l-pass-error
12469
+ // Status indicators
12470
+ connectionIndicator: "#21ff51",
12471
+ // --l-pass-bg-success
12472
+ standby: "#e9fa00",
12473
+ // --l-pass-bg-warning
12474
+ error: "#d6204e",
12475
+ // --l-pass-bg-error
12476
+ // Card backgrounds
12477
+ downloadBottomCardBackground: "linear-gradient(126deg, rgba(0, 0, 0, 0) 9.49%, rgba(0, 0, 0, 0.05) 71.04%), #ffffff",
12478
+ downloadTopCardBackground: "linear-gradient(126deg, rgba(0, 0, 0, 0.05) 9.49%, rgba(0, 0, 0, 0) 71.04%), #ffffff",
12479
+ // Borders
12480
+ generalBorder: "rgb(201, 201, 201)",
12481
+ // --l-pass-bd
12482
+ generalBorderDim: "rgba(201, 201, 201, 0.5)",
12483
+ // Menu items
12484
+ menuItemBackground: "#e4e4e4",
12485
+ // --l-pass-secondary
12486
+ // Modal
12487
+ modalBackdrop: "rgba(255, 255, 255, 0.8)",
12488
+ // --l-pass-overlay
12489
+ modalBackground: "#ffffff",
12490
+ // --l-pass-bg
12491
+ modalBorder: "rgb(201, 201, 201)",
12492
+ // --l-pass-bd
12493
+ modalText: "#000000",
12494
+ // --l-pass-fg
12495
+ modalTextDim: "rgba(0, 0, 0, 0.4)",
12496
+ // --l-pass-fg-a
12497
+ modalTextSecondary: "rgba(0, 0, 0, 0.6)",
12498
+ // --l-pass-fg-h
12499
+ // Profile
12500
+ profileAction: "#ffffff",
12501
+ // --l-pass-bg
12502
+ profileActionHover: "#e4e4e4",
12503
+ // --l-pass-secondary
12504
+ profileForeground: "#e4e4e4",
12505
+ // --l-pass-secondary
12506
+ // Selection
12507
+ selectedOptionBorder: "rgb(169, 169, 169)"
12508
+ // --l-pass-bd-intense
12401
12509
  },
12402
12510
  shadows: {
12403
- connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
12404
- dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
12405
- profileDetailsAction: "0px 2px 6px rgba(37, 41, 46, 0.04)",
12406
- selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
12407
- selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
12408
- walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.16)"
12511
+ connectButton: "0px 4px 10px rgba(0, 0, 0, 0.1)",
12512
+ // matches --l-pass-shadow-c
12513
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.1)",
12514
+ profileDetailsAction: "0px 2px 6px rgba(0, 0, 0, 0.1)",
12515
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.1)",
12516
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.1)",
12517
+ walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.1)"
12409
12518
  },
12410
12519
  radii: {
12411
- actionButton: "24px",
12412
- connectButton: "24px",
12413
- menuButton: "12px",
12414
- modal: "24px",
12415
- modalMobile: "24px"
12520
+ actionButton: "10px",
12521
+ // --l-pass-el-bdrs
12522
+ connectButton: "20px",
12523
+ // --l-pass-bdrs
12524
+ menuButton: "10px",
12525
+ // --l-pass-el-bdrs
12526
+ modal: "20px",
12527
+ // --l-pass-bdrs
12528
+ modalMobile: "20px"
12529
+ // --l-pass-bdrs
12416
12530
  }
12417
12531
  },
12418
12532
  darkMode: {
12419
12533
  colors: {
12420
- accentColor: "#6366F1",
12421
- accentColorForeground: "white",
12422
- actionButtonBorder: "rgba(255, 255, 255, 0.04)",
12423
- actionButtonBorderMobile: "rgba(255, 255, 255, 0.08)",
12424
- actionButtonSecondaryBackground: "rgba(255, 255, 255, 0.08)",
12425
- closeButton: "rgba(224, 232, 255, 0.6)",
12426
- closeButtonBackground: "rgba(255, 255, 255, 0.08)",
12427
- connectButtonBackground: "#1A1B1F",
12428
- connectButtonBackgroundError: "#FF494A",
12429
- connectButtonInnerBackground: "linear-gradient(0deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.15))",
12430
- connectButtonText: "white",
12431
- connectButtonTextError: "white",
12432
- connectionIndicator: "#30E000",
12433
- downloadBottomCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(120, 120, 120, 0.1) 71.04%), #1A1B1F",
12434
- downloadTopCardBackground: "linear-gradient(126deg, rgba(120, 120, 120, 0.1) 9.49%, rgba(255, 255, 255, 0) 71.04%), #1A1B1F",
12435
- error: "#FF494A",
12436
- generalBorder: "rgba(255, 255, 255, 0.08)",
12437
- generalBorderDim: "rgba(255, 255, 255, 0.04)",
12438
- menuItemBackground: "rgba(224, 232, 255, 0.1)",
12439
- modalBackdrop: "rgba(0, 0, 0, 0.5)",
12440
- modalBackground: "#1A1B1F",
12441
- modalBorder: "rgba(255, 255, 255, 0.08)",
12442
- modalText: "white",
12443
- modalTextDim: "rgba(224, 232, 255, 0.3)",
12444
- modalTextSecondary: "rgba(224, 232, 255, 0.6)",
12445
- profileAction: "#1A1B1F",
12446
- profileActionHover: "rgba(224, 232, 255, 0.1)",
12447
- profileForeground: "rgba(224, 232, 255, 0.06)",
12448
- selectedOptionBorder: "rgba(224, 232, 255, 0.1)",
12449
- standby: "#FFD641"
12534
+ // Primary accent - using --l-pass-primary
12535
+ accentColor: "#ffffff",
12536
+ // --l-pass-primary
12537
+ accentColorForeground: "#000000",
12538
+ // --l-pass-fg-inverted
12539
+ // Borders
12540
+ actionButtonBorder: "#3a3a3a",
12541
+ // --l-pass-bd
12542
+ actionButtonBorderMobile: "#4a4a4a",
12543
+ // --l-pass-bd-intense
12544
+ // Secondary backgrounds
12545
+ actionButtonSecondaryBackground: "#2a2a2a",
12546
+ // --l-pass-secondary
12547
+ // Close button
12548
+ closeButton: "rgba(255, 255, 255, 0.6)",
12549
+ // --l-pass-fg-h
12550
+ closeButtonBackground: "#2a2a2a",
12551
+ // --l-pass-secondary
12552
+ // Connect button
12553
+ connectButtonBackground: "#1a1a1a",
12554
+ // --l-pass-bg
12555
+ connectButtonBackgroundError: "#d6204e",
12556
+ // --l-pass-bg-error
12557
+ connectButtonInnerBackground: "linear-gradient(0deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02))",
12558
+ connectButtonText: "#ffffff",
12559
+ // --l-pass-fg
12560
+ connectButtonTextError: "#ffffff",
12561
+ // --l-pass-error
12562
+ // Status indicators
12563
+ connectionIndicator: "#21ff51",
12564
+ // --l-pass-bg-success
12565
+ standby: "#e9fa00",
12566
+ // --l-pass-bg-warning
12567
+ error: "#d6204e",
12568
+ // --l-pass-bg-error
12569
+ // Card backgrounds
12570
+ downloadBottomCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0) 9.49%, rgba(255, 255, 255, 0.05) 71.04%), #1a1a1a",
12571
+ downloadTopCardBackground: "linear-gradient(126deg, rgba(255, 255, 255, 0.05) 9.49%, rgba(255, 255, 255, 0) 71.04%), #1a1a1a",
12572
+ // Borders
12573
+ generalBorder: "#3a3a3a",
12574
+ // --l-pass-bd
12575
+ generalBorderDim: "rgba(58, 58, 58, 0.5)",
12576
+ // Menu items
12577
+ menuItemBackground: "#2a2a2a",
12578
+ // --l-pass-secondary
12579
+ // Modal
12580
+ modalBackdrop: "rgba(0, 0, 0, 0.8)",
12581
+ // --l-pass-overlay
12582
+ modalBackground: "#1a1a1a",
12583
+ // --l-pass-bg
12584
+ modalBorder: "#3a3a3a",
12585
+ // --l-pass-bd
12586
+ modalText: "#ffffff",
12587
+ // --l-pass-fg
12588
+ modalTextDim: "rgba(255, 255, 255, 0.4)",
12589
+ // --l-pass-fg-a
12590
+ modalTextSecondary: "rgba(255, 255, 255, 0.6)",
12591
+ // --l-pass-fg-h
12592
+ // Profile
12593
+ profileAction: "#1a1a1a",
12594
+ // --l-pass-bg
12595
+ profileActionHover: "#2a2a2a",
12596
+ // --l-pass-secondary
12597
+ profileForeground: "#2a2a2a",
12598
+ // --l-pass-secondary
12599
+ // Selection
12600
+ selectedOptionBorder: "#4a4a4a"
12601
+ // --l-pass-bd-intense
12450
12602
  },
12451
12603
  shadows: {
12452
- connectButton: "0px 4px 12px rgba(0, 0, 0, 0.1)",
12453
- dialog: "0px 8px 32px rgba(0, 0, 0, 0.32)",
12454
- profileDetailsAction: "0px 2px 6px rgba(37, 41, 46, 0.04)",
12455
- selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.24)",
12456
- selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.12)",
12457
- walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.16)"
12604
+ connectButton: "0px 4px 10px rgba(0, 0, 0, 0.5)",
12605
+ // matches --l-pass-shadow-c
12606
+ dialog: "0px 8px 32px rgba(0, 0, 0, 0.5)",
12607
+ profileDetailsAction: "0px 2px 6px rgba(0, 0, 0, 0.5)",
12608
+ selectedOption: "0px 2px 6px rgba(0, 0, 0, 0.5)",
12609
+ selectedWallet: "0px 2px 6px rgba(0, 0, 0, 0.5)",
12610
+ walletLogo: "0px 2px 16px rgba(0, 0, 0, 0.5)"
12458
12611
  },
12459
12612
  radii: {
12460
- actionButton: "24px",
12461
- connectButton: "24px",
12462
- menuButton: "12px",
12463
- modal: "24px",
12464
- modalMobile: "24px"
12613
+ actionButton: "10px",
12614
+ // --l-pass-el-bdrs
12615
+ connectButton: "20px",
12616
+ // --l-pass-bdrs
12617
+ menuButton: "10px",
12618
+ // --l-pass-el-bdrs
12619
+ modal: "20px",
12620
+ // --l-pass-bdrs
12621
+ modalMobile: "20px"
12622
+ // --l-pass-bdrs
12465
12623
  }
12466
12624
  }
12467
12625
  };
12468
12626
 
12469
12627
  // src/context/RainbowKitContext.tsx
12628
+ import "@rainbow-me/rainbowkit/styles.css";
12470
12629
  import { Fragment as Fragment17, jsx as jsx67 } from "react/jsx-runtime";
12471
- var LumiaRainbowKitProvider = ({ children }) => {
12472
- const {
12473
- config: { current: config }
12474
- } = useLumiaPassportConfig();
12475
- const isDark = useLayoutStore((st) => st.colorMode === "dark");
12476
- const rainbowConfig2 = React14.useMemo(() => {
12477
- return createRainbowConfig(config.wallet?.walletConnectProjectId);
12478
- }, [config.wallet?.walletConnectProjectId]);
12479
- const customTheme = React14.useMemo(
12480
- () => isDark ? {
12630
+ function LumiaRainbowKitProvider({ children }) {
12631
+ const config = useLumiaPassportConfig().config;
12632
+ const colorMode = useLayoutStore((st) => st.colorMode);
12633
+ const rainbowConfig2 = useMemo5(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
12634
+ const customTheme = useMemo5(
12635
+ () => colorMode === "dark" ? {
12481
12636
  ...darkTheme(),
12482
- colors: {
12483
- ...darkTheme().colors,
12484
- ...rainbowTheme.darkMode.colors
12485
- },
12637
+ colors: { ...darkTheme().colors, ...rainbowTheme.darkMode.colors },
12486
12638
  shadows: rainbowTheme.darkMode.shadows,
12487
12639
  radii: rainbowTheme.darkMode.radii
12488
12640
  } : {
12489
12641
  ...lightTheme(),
12490
- colors: {
12491
- ...lightTheme().colors,
12492
- ...rainbowTheme.lightMode.colors
12493
- },
12642
+ colors: { ...lightTheme().colors, ...rainbowTheme.lightMode.colors },
12494
12643
  shadows: rainbowTheme.lightMode.shadows,
12495
12644
  radii: rainbowTheme.lightMode.radii
12496
12645
  },
12497
- [isDark]
12646
+ [colorMode]
12498
12647
  );
12499
- const isWalletEnabled = config.wallet?.enabled ?? false;
12500
- if (!isWalletEnabled) {
12501
- return /* @__PURE__ */ jsx67(Fragment17, { children });
12502
- }
12648
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx67(Fragment17, { children });
12503
12649
  return /* @__PURE__ */ jsx67(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx67(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
12504
- };
12650
+ }
12505
12651
 
12506
12652
  // src/internal/components/UserOpStatus.tsx
12507
12653
  init_base();
12508
12654
  import { AlertCircle as AlertCircle6, CheckCircle2 as CheckCircle27, Clock as Clock2, Copy as Copy5, ExternalLink as ExternalLink2, RefreshCw as RefreshCw4 } from "lucide-react";
12509
- import * as React16 from "react";
12655
+ import * as React15 from "react";
12510
12656
 
12511
12657
  // src/internal/utils/cn.ts
12512
12658
  import { clsx as clsx2 } from "clsx";
@@ -12517,7 +12663,7 @@ function cn2(...inputs) {
12517
12663
 
12518
12664
  // src/internal/components/Address.tsx
12519
12665
  import { Copy as Copy4, ExternalLink } from "lucide-react";
12520
- import * as React15 from "react";
12666
+ import * as React14 from "react";
12521
12667
  import { jsx as jsx68, jsxs as jsxs53 } from "react/jsx-runtime";
12522
12668
  function toExplorerAddressUrl(address, chain) {
12523
12669
  const base2 = chain?.blockExplorers?.default?.url;
@@ -12539,7 +12685,7 @@ var Address = ({
12539
12685
  }) => {
12540
12686
  const addr = address || "";
12541
12687
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
12542
- const [copied, setCopied] = React15.useState(false);
12688
+ const [copied, setCopied] = React14.useState(false);
12543
12689
  if (!addr) return /* @__PURE__ */ jsx68("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12544
12690
  return /* @__PURE__ */ jsxs53("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
12545
12691
  label && /* @__PURE__ */ jsx68("span", { className: "text-sm font-medium", children: label }),
@@ -12612,20 +12758,20 @@ var UserOpStatus = ({
12612
12758
  externalState
12613
12759
  }) => {
12614
12760
  const useExternalState = !!externalState;
12615
- const [internalReceipt, setInternalReceipt] = React16.useState(null);
12616
- const [internalMempool, setInternalMempool] = React16.useState(null);
12617
- const [internalError, setInternalError] = React16.useState(null);
12618
- const [attempt, setAttempt] = React16.useState(0);
12619
- const [internalRefreshing, setInternalRefreshing] = React16.useState(false);
12620
- const [timedOut, setTimedOut] = React16.useState(false);
12621
- const [rejected, setRejected] = React16.useState(false);
12622
- const intervalRef = React16.useRef(null);
12623
- const startTimeRef = React16.useRef(Date.now());
12761
+ const [internalReceipt, setInternalReceipt] = React15.useState(null);
12762
+ const [internalMempool, setInternalMempool] = React15.useState(null);
12763
+ const [internalError, setInternalError] = React15.useState(null);
12764
+ const [attempt, setAttempt] = React15.useState(0);
12765
+ const [internalRefreshing, setInternalRefreshing] = React15.useState(false);
12766
+ const [timedOut, setTimedOut] = React15.useState(false);
12767
+ const [rejected, setRejected] = React15.useState(false);
12768
+ const intervalRef = React15.useRef(null);
12769
+ const startTimeRef = React15.useRef(Date.now());
12624
12770
  const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
12625
12771
  const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
12626
12772
  const error = useExternalState ? externalState.error ?? null : internalError;
12627
12773
  const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
12628
- const rpc = React16.useCallback(async (method, params) => {
12774
+ const rpc = React15.useCallback(async (method, params) => {
12629
12775
  const body = { jsonrpc: "2.0", id: 1, method, params };
12630
12776
  const res = await fetch(getBundlerUrl(), {
12631
12777
  method: "POST",
@@ -12636,14 +12782,14 @@ var UserOpStatus = ({
12636
12782
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
12637
12783
  return json.result;
12638
12784
  }, []);
12639
- const extractMempoolInfo = React16.useCallback((m) => {
12785
+ const extractMempoolInfo = React15.useCallback((m) => {
12640
12786
  if (!m) return null;
12641
12787
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
12642
12788
  const sender = m.sender || m?.userOperation?.sender || null;
12643
12789
  if (!entryPoint && !sender) return null;
12644
12790
  return { entryPoint, sender };
12645
12791
  }, []);
12646
- const tick = React16.useCallback(async () => {
12792
+ const tick = React15.useCallback(async () => {
12647
12793
  if (useExternalState) return;
12648
12794
  const elapsed = Date.now() - startTimeRef.current;
12649
12795
  if (elapsed > maxPollTimeMs) {
@@ -12687,7 +12833,7 @@ var UserOpStatus = ({
12687
12833
  setAttempt((x) => x + 1);
12688
12834
  }
12689
12835
  }, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
12690
- React16.useEffect(() => {
12836
+ React15.useEffect(() => {
12691
12837
  if (useExternalState) return;
12692
12838
  console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
12693
12839
  startTimeRef.current = Date.now();
@@ -12699,7 +12845,7 @@ var UserOpStatus = ({
12699
12845
  setAttempt(0);
12700
12846
  setInternalRefreshing(false);
12701
12847
  }, [userOpHash, useExternalState]);
12702
- React16.useEffect(() => {
12848
+ React15.useEffect(() => {
12703
12849
  if (useExternalState) {
12704
12850
  console.log("[UserOpStatus] Using external state, skipping internal polling");
12705
12851
  return;
@@ -12876,7 +13022,7 @@ var UserOpStatus = ({
12876
13022
 
12877
13023
  // src/internal/components/Hash.tsx
12878
13024
  import { Copy as Copy6, ExternalLink as ExternalLink3 } from "lucide-react";
12879
- import * as React17 from "react";
13025
+ import * as React16 from "react";
12880
13026
  import { jsx as jsx71, jsxs as jsxs55 } from "react/jsx-runtime";
12881
13027
  function toExplorerUrl(kind, value, chain) {
12882
13028
  const base2 = chain?.blockExplorers?.default?.url;
@@ -12900,7 +13046,7 @@ var Hash = ({
12900
13046
  }) => {
12901
13047
  const value = hash || "";
12902
13048
  const explorer = toExplorerUrl(kind, value, chain || void 0);
12903
- const [copied, setCopied] = React17.useState(false);
13049
+ const [copied, setCopied] = React16.useState(false);
12904
13050
  if (!value) return /* @__PURE__ */ jsx71("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12905
13051
  return /* @__PURE__ */ jsxs55("div", { className: cn2("flex items-center gap-2", className), children: [
12906
13052
  label && /* @__PURE__ */ jsx71("span", { className: "text-sm font-medium", children: label }),
@@ -12938,13 +13084,13 @@ var Hash = ({
12938
13084
 
12939
13085
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
12940
13086
  init_base();
12941
- import { useEffect as useEffect35, useState as useState19 } from "react";
13087
+ import { useEffect as useEffect33, useState as useState19 } from "react";
12942
13088
  import { jsx as jsx72, jsxs as jsxs56 } from "react/jsx-runtime";
12943
13089
  var TransactionsList = ({ address, itemsCount = 10 }) => {
12944
13090
  const [transactions, setTransactions] = useState19([]);
12945
13091
  const [loading, setLoading] = useState19(true);
12946
13092
  const [error, setError] = useState19(null);
12947
- useEffect35(() => {
13093
+ useEffect33(() => {
12948
13094
  const fetchTransactions = async () => {
12949
13095
  try {
12950
13096
  setLoading(true);
@@ -13064,7 +13210,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
13064
13210
 
13065
13211
  // src/hooks/useUserOpStatus.ts
13066
13212
  init_base();
13067
- import * as React19 from "react";
13213
+ import * as React18 from "react";
13068
13214
  function useUserOpStatus(options = {}) {
13069
13215
  const {
13070
13216
  userOpHash,
@@ -13075,16 +13221,16 @@ function useUserOpStatus(options = {}) {
13075
13221
  onReceipt,
13076
13222
  onTxHash
13077
13223
  } = options;
13078
- const [state, setState] = React19.useState("waiting");
13079
- const [receipt, setReceipt] = React19.useState(null);
13080
- const [mempool, setMempool] = React19.useState(null);
13081
- const [txHash, setTxHash] = React19.useState(null);
13082
- const [error, setError] = React19.useState(null);
13083
- const [isPolling, setIsPolling] = React19.useState(false);
13084
- const intervalRef = React19.useRef(null);
13085
- const startTimeRef = React19.useRef(Date.now());
13086
- const prevStateRef = React19.useRef("waiting");
13087
- const rpc = React19.useCallback(async (method, params) => {
13224
+ const [state, setState] = React18.useState("waiting");
13225
+ const [receipt, setReceipt] = React18.useState(null);
13226
+ const [mempool, setMempool] = React18.useState(null);
13227
+ const [txHash, setTxHash] = React18.useState(null);
13228
+ const [error, setError] = React18.useState(null);
13229
+ const [isPolling, setIsPolling] = React18.useState(false);
13230
+ const intervalRef = React18.useRef(null);
13231
+ const startTimeRef = React18.useRef(Date.now());
13232
+ const prevStateRef = React18.useRef("waiting");
13233
+ const rpc = React18.useCallback(async (method, params) => {
13088
13234
  const body = { jsonrpc: "2.0", id: 1, method, params };
13089
13235
  const res = await fetch(getBundlerUrl(), {
13090
13236
  method: "POST",
@@ -13095,21 +13241,21 @@ function useUserOpStatus(options = {}) {
13095
13241
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
13096
13242
  return json.result;
13097
13243
  }, []);
13098
- const extractMempoolInfo = React19.useCallback((m) => {
13244
+ const extractMempoolInfo = React18.useCallback((m) => {
13099
13245
  if (!m) return null;
13100
13246
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
13101
13247
  const sender = m.sender || m?.userOperation?.sender || null;
13102
13248
  if (!entryPoint && !sender) return null;
13103
13249
  return { entryPoint, sender };
13104
13250
  }, []);
13105
- const updateState = React19.useCallback((newState) => {
13251
+ const updateState = React18.useCallback((newState) => {
13106
13252
  setState(newState);
13107
13253
  if (prevStateRef.current !== newState) {
13108
13254
  prevStateRef.current = newState;
13109
13255
  onStateChange?.(newState);
13110
13256
  }
13111
13257
  }, [onStateChange]);
13112
- const tick = React19.useCallback(async () => {
13258
+ const tick = React18.useCallback(async () => {
13113
13259
  if (!userOpHash || !enabled) return;
13114
13260
  if (receipt) {
13115
13261
  console.log("[useUserOpStatus] Already have receipt, skipping tick");
@@ -13182,7 +13328,7 @@ function useUserOpStatus(options = {}) {
13182
13328
  onTxHash,
13183
13329
  onReceipt
13184
13330
  ]);
13185
- React19.useEffect(() => {
13331
+ React18.useEffect(() => {
13186
13332
  if (!userOpHash || !enabled) return;
13187
13333
  console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
13188
13334
  startTimeRef.current = Date.now();
@@ -13194,7 +13340,7 @@ function useUserOpStatus(options = {}) {
13194
13340
  setError(null);
13195
13341
  setIsPolling(false);
13196
13342
  }, [userOpHash, enabled]);
13197
- React19.useEffect(() => {
13343
+ React18.useEffect(() => {
13198
13344
  if (!userOpHash || !enabled) {
13199
13345
  console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
13200
13346
  return;
@@ -13230,7 +13376,7 @@ function useUserOpStatus(options = {}) {
13230
13376
  }
13231
13377
  };
13232
13378
  }, [userOpHash, enabled, pollMs]);
13233
- const refresh = React19.useCallback(async () => {
13379
+ const refresh = React18.useCallback(async () => {
13234
13380
  await tick();
13235
13381
  }, [tick]);
13236
13382
  return {
@@ -13246,11 +13392,11 @@ function useUserOpStatus(options = {}) {
13246
13392
 
13247
13393
  // src/hooks/useLogout.ts
13248
13394
  import { logout as coreLogout, jwtTokenManager as jwtTokenManager3 } from "@lumiapassport/core/auth";
13249
- import { useCallback as useCallback25 } from "react";
13395
+ import { useCallback as useCallback24 } from "react";
13250
13396
  function useLogout() {
13251
13397
  const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
13252
13398
  const { callbacks } = useLumiaPassportConfig();
13253
- const logout2 = useCallback25(async () => {
13399
+ const logout2 = useCallback24(async () => {
13254
13400
  const prevAddress = address;
13255
13401
  let userId = null;
13256
13402
  setIsLoading(true);