@lumiapassport/ui-kit 1.14.24 → 1.14.25

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
@@ -4474,7 +4474,7 @@ var init_profile = __esm({
4474
4474
  });
4475
4475
 
4476
4476
  // src/styles/built.css
4477
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-fg-inverted\\)\\]{background-color:var(--l-pass-fg-inverted)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-1{padding-left:.25rem;padding-right:.25rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4477
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-1{padding-left:.25rem;padding-right:.25rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[2px\\]{padding-left:2px;padding-right:2px}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4478
4478
 
4479
4479
  // src/context/LumiaPassportContext.tsx
4480
4480
  init_lumiaPassport();
@@ -4485,13 +4485,13 @@ import {
4485
4485
  createContext,
4486
4486
  useCallback as useCallback22,
4487
4487
  useContext,
4488
- useEffect as useEffect36,
4488
+ useEffect as useEffect33,
4489
4489
  useMemo as useMemo5,
4490
- useRef as useRef14
4490
+ useRef as useRef13
4491
4491
  } from "react";
4492
4492
 
4493
4493
  // src/context/LumiaPassportSessionContext.tsx
4494
- import { Fragment as Fragment25 } from "react";
4494
+ import { Fragment as Fragment27 } from "react";
4495
4495
  import { create as create6 } from "zustand";
4496
4496
 
4497
4497
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
@@ -4510,7 +4510,7 @@ import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
4510
4510
  var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
4511
4511
  var DEFAULT_AUTH_MENU_HEIGHT = 253;
4512
4512
  var DEFAULT_MAIN_MENU_HEIGHT = 90;
4513
- var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
4513
+ var DEFAULT_SETTINGS_MENU_HEIGHT = 404;
4514
4514
  var MAX_CONTENT_HEIGHT = 640;
4515
4515
  var MAIN_DIALOG_ANIMATION_SPEED = 375;
4516
4516
  var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
@@ -4670,7 +4670,7 @@ function BalanceFeedProvider() {
4670
4670
 
4671
4671
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4672
4672
  import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
4673
- import { useEffect as useEffect34 } from "react";
4673
+ import { useEffect as useEffect31 } from "react";
4674
4674
 
4675
4675
  // src/internal/components/Footer/Footer.tsx
4676
4676
  import { useMutation, useQueryClient } from "@tanstack/react-query";
@@ -4989,7 +4989,7 @@ function LumiaIcon(props) {
4989
4989
 
4990
4990
  // src/internal/components/Header/Header.tsx
4991
4991
  import { useQuery as useQuery3 } from "@tanstack/react-query";
4992
- import { Copy } from "lucide-react";
4992
+ import { Copy, Loader as Loader3 } from "lucide-react";
4993
4993
  import { useState as useState3 } from "react";
4994
4994
 
4995
4995
  // src/internal/assets/PositiveIcon.tsx
@@ -5344,23 +5344,20 @@ function KYCStatus() {
5344
5344
  }
5345
5345
 
5346
5346
  // src/internal/components/Header/Header.tsx
5347
- import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
5347
+ import { Fragment as Fragment3, jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
5348
5348
  function formatAddress(addr) {
5349
5349
  if (!addr) return "";
5350
5350
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
5351
5351
  }
5352
5352
  function Header() {
5353
- const {
5354
- config: { current: config }
5355
- } = useLumiaPassportConfig();
5353
+ const config = useLumiaPassportConfig().config;
5356
5354
  const address = useLumiaPassportSession((st) => st.address);
5357
5355
  const [copied, setCopied] = useState3(false);
5358
- const { data: profile } = useQuery3({
5359
- queryKey: [QUERY_KEYS.userProfile],
5360
- queryFn: getUserProfile,
5356
+ const { data: profile, isLoading: isProfileLoading } = useQuery3({
5357
+ retry: false,
5361
5358
  enabled: !!address,
5362
- staleTime: 1e3 * 60 * 5
5363
- // 5 minutes
5359
+ queryKey: [QUERY_KEYS.userProfile, address],
5360
+ queryFn: getUserProfile
5364
5361
  });
5365
5362
  const avatar = profile?.avatar || jwtTokenManager2.getAvatar();
5366
5363
  const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
@@ -5380,20 +5377,23 @@ function Header() {
5380
5377
  style: { width: "calc(100% - 48px - var(--l-pass-gap))" },
5381
5378
  className: "flex-1 flex flex-col justify-center gap-1",
5382
5379
  children: [
5383
- /* @__PURE__ */ jsxs11("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
5384
- /* @__PURE__ */ jsx12(
5385
- "span",
5386
- {
5387
- className: cn(
5388
- "text-[14px] leading-4 truncate max-w-[144px] font-medium",
5389
- "text-ellipsis overflow-hidden whitespace-nowrap"
5390
- ),
5391
- children: displayName || config.ui.title || "LumiaPassport"
5392
- }
5393
- ),
5394
- /* @__PURE__ */ jsx12(KYCStatus, {})
5395
- ] }),
5396
- !!address && /* @__PURE__ */ jsx12(BalanceView, {})
5380
+ isProfileLoading && /* @__PURE__ */ jsx12(Loader3, { className: "w-4 h-4 animate-spin" }),
5381
+ !!address && !isProfileLoading && !!profile && /* @__PURE__ */ jsxs11(Fragment3, { children: [
5382
+ /* @__PURE__ */ jsxs11("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
5383
+ /* @__PURE__ */ jsx12(
5384
+ "span",
5385
+ {
5386
+ className: cn(
5387
+ "text-[14px] leading-4 truncate max-w-[144px] font-medium",
5388
+ "text-ellipsis overflow-hidden whitespace-nowrap"
5389
+ ),
5390
+ children: displayName || config.current?.ui?.title || "LumiaPassport"
5391
+ }
5392
+ ),
5393
+ /* @__PURE__ */ jsx12(KYCStatus, {})
5394
+ ] }),
5395
+ /* @__PURE__ */ jsx12(BalanceView, {})
5396
+ ] })
5397
5397
  ]
5398
5398
  }
5399
5399
  )
@@ -5453,13 +5453,11 @@ function Header() {
5453
5453
  }
5454
5454
  );
5455
5455
  }
5456
- {
5457
- }
5458
5456
 
5459
5457
  // package.json
5460
5458
  var package_default = {
5461
5459
  name: "@lumiapassport/ui-kit",
5462
- version: "1.14.24",
5460
+ version: "1.14.25",
5463
5461
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
5464
5462
  type: "module",
5465
5463
  main: "./dist/index.cjs",
@@ -5898,6 +5896,7 @@ import { useEffect as useEffect5 } from "react";
5898
5896
  init_vaultClient();
5899
5897
  function useBackupStatusChanges() {
5900
5898
  const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
5899
+ const setPage = useLayoutDataStore((st) => st.setPage);
5901
5900
  const { mutate: handleBackupStatusChanged } = useMutation2({
5902
5901
  mutationFn: async (event) => {
5903
5902
  const customEvent = event;
@@ -5909,6 +5908,7 @@ function useBackupStatusChanges() {
5909
5908
  setHasServerVault(true);
5910
5909
  } else {
5911
5910
  setHasServerVault(false);
5911
+ setPage("keysare-backup" /* KEYSARE_BACKUP */);
5912
5912
  console.warn("[BACKUP STATUS] No recovery data found in vault, marking as no-server-vault");
5913
5913
  }
5914
5914
  },
@@ -5925,68 +5925,9 @@ function useBackupStatusChanges() {
5925
5925
  }, []);
5926
5926
  }
5927
5927
 
5928
- // src/internal/hooks/useBackupWarning.ts
5929
- import { useEffect as useEffect6, useRef as useRef3 } from "react";
5930
- var WARNING_TIMEOUT_MS = 4500;
5931
- function useBackupWarning() {
5932
- const address = useLumiaPassportSession((st) => st.address);
5933
- const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
5934
- const page = useLayoutDataStore((st) => st.page);
5935
- const setPage = useLayoutDataStore((st) => st.setPage);
5936
- const timeoutRef = useRef3(null);
5937
- const touchedRef = useRef3(false);
5938
- useEffect6(() => {
5939
- if (touchedRef.current) return;
5940
- if (timeoutRef.current) {
5941
- clearTimeout(timeoutRef.current);
5942
- timeoutRef.current = null;
5943
- }
5944
- if (!address || !!hasServerVault || page === "keysare-backup" /* KEYSARE_BACKUP */) return;
5945
- timeoutRef.current = setTimeout(() => {
5946
- setPage("keysare-backup" /* KEYSARE_BACKUP */);
5947
- touchedRef.current = true;
5948
- timeoutRef.current = null;
5949
- }, WARNING_TIMEOUT_MS);
5950
- return () => {
5951
- if (timeoutRef.current) {
5952
- clearTimeout(timeoutRef.current);
5953
- timeoutRef.current = null;
5954
- }
5955
- };
5956
- }, [address, page, hasServerVault, setPage]);
5957
- return null;
5958
- }
5959
-
5960
- // src/internal/hooks/useCheckVaultStatus.ts
5961
- import { useMutation as useMutation3 } from "@tanstack/react-query";
5962
- import { useEffect as useEffect7 } from "react";
5963
- init_vaultClient();
5964
- function useCheckVaultStatus() {
5965
- const address = useLumiaPassportSession((st) => st.address);
5966
- const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
5967
- const { mutate: checkVaultStatus } = useMutation3({
5968
- mutationFn: async () => {
5969
- const stats = await getShareRecoveryStats();
5970
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
5971
- return !!hasRecoveryData;
5972
- },
5973
- onSuccess: (hasRecoveryData) => {
5974
- setHasServerVault(hasRecoveryData);
5975
- },
5976
- onError: (error) => {
5977
- console.warn("[UI-KIT] Failed to check vault status:", error);
5978
- setHasServerVault(false);
5979
- }
5980
- });
5981
- useEffect7(() => {
5982
- if (!address) return setHasServerVault(false);
5983
- checkVaultStatus();
5984
- }, [address, checkVaultStatus]);
5985
- }
5986
-
5987
5928
  // src/internal/hooks/useDetectMaxScrollHeight.ts
5988
5929
  import { debounce } from "lodash-es";
5989
- import { useCallback as useCallback3, useEffect as useEffect8 } from "react";
5930
+ import { useCallback as useCallback3, useEffect as useEffect6 } from "react";
5990
5931
  var DEBOUNCE_DELAY = 50;
5991
5932
  function useDetectMaxScrollHeight() {
5992
5933
  const page = useLayoutDataStore((state) => state.page);
@@ -6001,7 +5942,7 @@ function useDetectMaxScrollHeight() {
6001
5942
  }, DEBOUNCE_DELAY),
6002
5943
  [page, setMaxScrollHeight, setIsMobileView]
6003
5944
  );
6004
- useEffect8(() => {
5945
+ useEffect6(() => {
6005
5946
  const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect));
6006
5947
  const doc = window.document.getElementsByTagName("html")[0];
6007
5948
  if (doc) obs.observe(doc);
@@ -6010,20 +5951,20 @@ function useDetectMaxScrollHeight() {
6010
5951
  }
6011
5952
 
6012
5953
  // src/internal/hooks/usePageMapper.tsx
6013
- import { useCallback as useCallback19, useEffect as useEffect31 } from "react";
5954
+ import { useCallback as useCallback19, useEffect as useEffect28 } from "react";
6014
5955
 
6015
5956
  // src/internal/components/AuthMenu/AuthMenu.tsx
6016
5957
  import { AnimatePresence, motion } from "framer-motion";
6017
- import { AlertTriangle as AlertTriangle2, Loader as Loader5 } from "lucide-react";
6018
- import { useEffect as useEffect11, useMemo, useRef as useRef9, useState as useState6 } from "react";
5958
+ import { AlertTriangle as AlertTriangle2, Loader as Loader6 } from "lucide-react";
5959
+ import { useEffect as useEffect9, useMemo, useRef as useRef8, useState as useState6 } from "react";
6019
5960
 
6020
5961
  // src/internal/components/Expandable/hooks/useExpandable.ts
6021
- import { useCallback as useCallback4, useEffect as useEffect9, useRef as useRef4 } from "react";
5962
+ import { useCallback as useCallback4, useEffect as useEffect7, useRef as useRef3 } from "react";
6022
5963
  var useExpandable = (props) => {
6023
5964
  const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
6024
- const expandableRef = useRef4(null);
6025
- const contentRef = useRef4(null);
6026
- useEffect9(() => {
5965
+ const expandableRef = useRef3(null);
5966
+ const contentRef = useRef3(null);
5967
+ useEffect7(() => {
6027
5968
  if (!expandableRef.current) return;
6028
5969
  expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
6029
5970
  }, []);
@@ -6038,7 +5979,7 @@ var useExpandable = (props) => {
6038
5979
  // ON_RESIZE_DELEAY),
6039
5980
  [minHeight]
6040
5981
  );
6041
- useEffect9(() => {
5982
+ useEffect7(() => {
6042
5983
  if (!contentRef.current || !expandableRef.current) return;
6043
5984
  const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
6044
5985
  obs.observe(expandableRef.current);
@@ -6199,7 +6140,7 @@ function PasskeyAddIcon(props) {
6199
6140
 
6200
6141
  // src/internal/components/AuthMenu/PassKeyStep.tsx
6201
6142
  init_auth();
6202
- import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
6143
+ import { Fragment as Fragment4, jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
6203
6144
  function normalizeWebAuthnError(err) {
6204
6145
  const raw = err?.message || String(err || "");
6205
6146
  const lower = raw.toLowerCase();
@@ -6392,7 +6333,7 @@ function PassKeyStep(props) {
6392
6333
  /* @__PURE__ */ jsx19(Key3, { className: "w-4 h-4" }),
6393
6334
  "Sign in with existing Passkey"
6394
6335
  ] }),
6395
- config.passkey.showCreateButton && /* @__PURE__ */ jsxs15(Fragment3, { children: [
6336
+ config.passkey.showCreateButton && /* @__PURE__ */ jsxs15(Fragment4, { children: [
6396
6337
  /* @__PURE__ */ jsx19("span", { className: "block w-full text-center text-sm text-[var(--l-pass-fg-muted)]", children: "Don't have a passkey?" }),
6397
6338
  /* @__PURE__ */ jsxs15(Button, { variant: "outline", size: "large", className: "w-full", onClick: onPasskeyRegister, disabled: isLoading, children: [
6398
6339
  /* @__PURE__ */ jsx19(PasskeyAddIcon, { className: "w-4 h-4" }),
@@ -6406,21 +6347,21 @@ function PassKeyStep(props) {
6406
6347
 
6407
6348
  // src/internal/components/AuthMenu/SignInStep/SignInStep.tsx
6408
6349
  import { UserCircle } from "lucide-react";
6409
- import { Fragment as Fragment4 } from "react";
6350
+ import { Fragment as Fragment5 } from "react";
6410
6351
 
6411
6352
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
6412
6353
  init_lumiaPassport();
6413
6354
  init_projectId();
6414
- import { useMutation as useMutation4 } from "@tanstack/react-query";
6415
- import { ChevronRight, Loader as Loader3, Mail as Mail3 } from "lucide-react";
6416
- import { useRef as useRef6 } from "react";
6355
+ import { useMutation as useMutation3 } from "@tanstack/react-query";
6356
+ import { ChevronRight, Loader as Loader4, Mail as Mail3 } from "lucide-react";
6357
+ import { useRef as useRef5 } from "react";
6417
6358
 
6418
6359
  // src/internal/components/ui/input.tsx
6419
- import React, { useImperativeHandle, useRef as useRef5 } from "react";
6360
+ import React, { useImperativeHandle, useRef as useRef4 } from "react";
6420
6361
  import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
6421
6362
  var Input = React.forwardRef((props, ref) => {
6422
6363
  const { className, disabled, error, Icon: Icon2, element, ...inputProps } = props;
6423
- const internalRef = useRef5(null);
6364
+ const internalRef = useRef4(null);
6424
6365
  useImperativeHandle(ref, () => internalRef.current);
6425
6366
  return /* @__PURE__ */ jsxs16("div", { className: cn("w-full flex flex-col gap-1", className), children: [
6426
6367
  /* @__PURE__ */ jsxs16(
@@ -6468,11 +6409,11 @@ Input.displayName = "Input";
6468
6409
  import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
6469
6410
  function Email() {
6470
6411
  const { config, callbacks } = useLumiaPassportConfig();
6471
- const buttonRef = useRef6(null);
6412
+ const buttonRef = useRef5(null);
6472
6413
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
6473
6414
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6474
6415
  const { email, alert: alert2, setEmail, setExpiresIn, setStep, setAlert } = useAuthStore();
6475
- const { mutate: onSendVerificationCode } = useMutation4({
6416
+ const { mutate: onSendVerificationCode } = useMutation3({
6476
6417
  mutationFn: async (mail) => {
6477
6418
  const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
6478
6419
  if (!isEmailValid) {
@@ -6559,7 +6500,7 @@ function Email() {
6559
6500
  size: "large",
6560
6501
  disabled: !email || isLoading,
6561
6502
  onClick: () => onSendVerificationCode(email),
6562
- children: isLoading ? /* @__PURE__ */ jsx21(Loader3, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx21(ChevronRight, { className: "w-4 h-4" })
6503
+ children: isLoading ? /* @__PURE__ */ jsx21(Loader4, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx21(ChevronRight, { className: "w-4 h-4" })
6563
6504
  }
6564
6505
  )
6565
6506
  ]
@@ -7043,7 +6984,7 @@ function SignInStep(props) {
7043
6984
  /* @__PURE__ */ jsx24(UserCircle, { className: "w-6 h-6" }),
7044
6985
  /* @__PURE__ */ jsx24("span", { className: "font-bold text-xl leading-6", children: "Sign In" })
7045
6986
  ] }),
7046
- /* @__PURE__ */ jsx24("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: enabledSigninMethods.map((kind, idx) => /* @__PURE__ */ jsxs20(Fragment4, { children: [
6987
+ /* @__PURE__ */ jsx24("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: enabledSigninMethods.map((kind, idx) => /* @__PURE__ */ jsxs20(Fragment5, { children: [
7047
6988
  idx > 0 && /* @__PURE__ */ jsxs20("div", { className: "flex items-center h-4", children: [
7048
6989
  /* @__PURE__ */ jsx24("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
7049
6990
  /* @__PURE__ */ jsx24("div", { className: "text-[10px] px-2 flex-none leading-4", children: "Or sign in using" }),
@@ -7070,11 +7011,11 @@ function SignInStep(props) {
7070
7011
  // src/internal/components/AuthMenu/useAuthMenuHanders.ts
7071
7012
  init_auth();
7072
7013
  import { useQueryClient as useQueryClient2 } from "@tanstack/react-query";
7073
- import { useCallback as useCallback7, useRef as useRef7, useState as useState4 } from "react";
7014
+ import { useCallback as useCallback7, useRef as useRef6, useState as useState4 } from "react";
7074
7015
  function useAuthMenuHandlers() {
7075
7016
  const { config, callbacks } = useLumiaPassportConfig();
7076
7017
  const qc = useQueryClient2();
7077
- const pendingLoginResponseRef = useRef7(null);
7018
+ const pendingLoginResponseRef = useRef6(null);
7078
7019
  const setPage = useLayoutDataStore((st) => st.setPage);
7079
7020
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
7080
7021
  const [telegramCleanup, setTelegramCleanup] = useState4(null);
@@ -7159,6 +7100,7 @@ function useAuthMenuHandlers() {
7159
7100
  callbacks?.onLumiaPassportAccount?.({ userId, address: addr, session: sess, hasKeyshare: hasServerKeyshare });
7160
7101
  } catch {
7161
7102
  }
7103
+ let hasKeyshareVaultBackup = false;
7162
7104
  try {
7163
7105
  const { checkServerBackupAvailability: checkServerBackupAvailability2, updateBackupStatus: updateBackupStatus2, getShareRecoveryStats: getShareRecoveryStats2 } = await Promise.resolve().then(() => (init_vaultClient(), vaultClient_exports));
7164
7106
  const result = await checkServerBackupAvailability2();
@@ -7168,8 +7110,8 @@ function useAuthMenuHandlers() {
7168
7110
  updateBackupStatus2(userId, "server", { enabled: false, error: "No server vault found" });
7169
7111
  }
7170
7112
  const stats = await getShareRecoveryStats2();
7171
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
7172
- setHasServerVault(!!hasRecoveryData);
7113
+ hasKeyshareVaultBackup = !!stats && (!!stats.created || !!stats.devices && stats.devices.length > 0);
7114
+ setHasServerVault(!!hasKeyshareVaultBackup);
7173
7115
  qc.refetchQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY, addr] });
7174
7116
  } catch (e) {
7175
7117
  console.warn("[UI-KIT] Vault status check failed:", e);
@@ -7177,13 +7119,17 @@ function useAuthMenuHandlers() {
7177
7119
  setSession(sess);
7178
7120
  setAddress(addr);
7179
7121
  setStatus("ready");
7180
- if (jwt?.isNewUser) {
7181
- console.log("[AuthMenu] New user detected - forcing backup flow");
7182
- setIsDialogForced(true);
7183
- setPage("keysare-backup" /* KEYSARE_BACKUP */);
7184
- } else {
7185
- setPage(null);
7186
- }
7122
+ setTimeout(() => {
7123
+ if (!!jwt?.isNewUser || !hasKeyshareVaultBackup) {
7124
+ if (!!jwt?.isNewUser) console.log("[AuthMenu] New user detected - forcing backup flow");
7125
+ if (!hasKeyshareVaultBackup) console.log("[AuthMenu] No recovery data found - forcing backup flow");
7126
+ setIsDialogForced(true);
7127
+ setPage("keysare-backup" /* KEYSARE_BACKUP */);
7128
+ } else {
7129
+ setIsDialogForced(false);
7130
+ setPage(null);
7131
+ }
7132
+ }, 100);
7187
7133
  } catch (error) {
7188
7134
  if (error?.code === "KEYSHARE_RECOVERY_NEEDED") {
7189
7135
  console.warn("[AuthMenu] Keyshare recovery needed for user:", userId);
@@ -7191,7 +7137,9 @@ function useAuthMenuHandlers() {
7191
7137
  setError(null);
7192
7138
  setRecoveryUserId(userId);
7193
7139
  setStatus("recovery_needed");
7194
- setTimeout(() => setPage("keyshare-restore" /* KEYSHARE_RESTORE */), 300);
7140
+ setTimeout(() => {
7141
+ setPage("keyshare-restore" /* KEYSHARE_RESTORE */);
7142
+ }, 100);
7195
7143
  } else {
7196
7144
  pendingLoginResponseRef.current = null;
7197
7145
  await jwtTokenManager2.clearTokens();
@@ -7207,7 +7155,6 @@ function useAuthMenuHandlers() {
7207
7155
  setIsLoading(false);
7208
7156
  }
7209
7157
  }, [
7210
- // config.projectId,
7211
7158
  qc,
7212
7159
  callbacks,
7213
7160
  setPage,
@@ -7238,8 +7185,8 @@ function useAuthMenuHandlers() {
7238
7185
 
7239
7186
  // src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
7240
7187
  init_lumiaPassport();
7241
- import { useMutation as useMutation5 } from "@tanstack/react-query";
7242
- import { ArrowLeft as ArrowLeft4, Loader as Loader4 } from "lucide-react";
7188
+ import { useMutation as useMutation4 } from "@tanstack/react-query";
7189
+ import { ArrowLeft as ArrowLeft4, Loader as Loader5 } from "lucide-react";
7243
7190
 
7244
7191
  // src/internal/assets/OtpIcon.tsx
7245
7192
  import { jsx as jsx25 } from "react/jsx-runtime";
@@ -7258,21 +7205,21 @@ function OtpIcon(props) {
7258
7205
  init_projectId();
7259
7206
 
7260
7207
  // src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
7261
- import { useEffect as useEffect10, useRef as useRef8, useState as useState5 } from "react";
7208
+ import { useEffect as useEffect8, useRef as useRef7, useState as useState5 } from "react";
7262
7209
  import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
7263
7210
  var VerificationCodeInput = (props) => {
7264
7211
  const { onVerifyCode, onResendCode, isLoading, expiresIn } = props;
7265
7212
  const setAlert = useAuthStore((st) => st.setAlert);
7266
7213
  const [timeLeft, setTimeLeft] = useState5(expiresIn);
7267
- useEffect10(() => setTimeLeft(expiresIn), [expiresIn]);
7268
- useEffect10(() => {
7214
+ useEffect8(() => setTimeLeft(expiresIn), [expiresIn]);
7215
+ useEffect8(() => {
7269
7216
  const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
7270
7217
  return () => clearInterval(t);
7271
7218
  }, []);
7272
- const lastSubmittedRef = useRef8(null);
7273
- const inputsRef = useRef8([]);
7219
+ const lastSubmittedRef = useRef7(null);
7220
+ const inputsRef = useRef7([]);
7274
7221
  const [digits, setDigits] = useState5(["", "", "", "", "", ""]);
7275
- useEffect10(() => {
7222
+ useEffect8(() => {
7276
7223
  const code = digits.join("");
7277
7224
  if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
7278
7225
  if (lastSubmittedRef.current !== code) {
@@ -7281,7 +7228,7 @@ var VerificationCodeInput = (props) => {
7281
7228
  }
7282
7229
  }
7283
7230
  }, [digits, isLoading, onVerifyCode]);
7284
- useEffect10(() => {
7231
+ useEffect8(() => {
7285
7232
  const t = setTimeout(() => {
7286
7233
  inputsRef.current[0]?.focus();
7287
7234
  }, 0);
@@ -7393,10 +7340,9 @@ import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
7393
7340
  function VerifyStep(props) {
7394
7341
  const { pendingLoginResponseRef, goBackToSignIn, onAuthSuccess } = props;
7395
7342
  const { callbacks } = useLumiaPassportConfig();
7396
- const setPage = useLayoutDataStore((st) => st.setPage);
7343
+ const recoveryUserId = useLumiaPassportSession((st) => st.recoveryUserId);
7397
7344
  const isSessionLoading = useLumiaPassportSession((st) => st.isLoading);
7398
7345
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
7399
- const recoveryUserId = useLumiaPassportSession((st) => st.recoveryUserId);
7400
7346
  const {
7401
7347
  email,
7402
7348
  expiresIn,
@@ -7406,7 +7352,7 @@ function VerifyStep(props) {
7406
7352
  setExpiresIn,
7407
7353
  setAlert
7408
7354
  } = useAuthStore();
7409
- const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation5({
7355
+ const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation4({
7410
7356
  mutationFn: async (code) => {
7411
7357
  setIsLoading(true);
7412
7358
  setAlert(null);
@@ -7441,14 +7387,13 @@ function VerifyStep(props) {
7441
7387
  const storage = typeof window !== "undefined" ? window.localStorage : void 0;
7442
7388
  const localKeyshare = storage?.getItem(`tss.${loginResponse.userId}.keyshare`);
7443
7389
  const needsRecovery = loginResponse.hasKeyshare && !loginResponse.isNewUser && !localKeyshare;
7444
- await onAuthSuccess?.();
7445
- console.log("[AuthModal] Authentication successful, closing modal");
7446
7390
  if (!recoveryUserId && !needsRecovery) {
7447
7391
  setStep("signin");
7448
7392
  setEmail("");
7449
7393
  setAlert(null);
7450
- setPage(null);
7451
7394
  }
7395
+ await onAuthSuccess?.();
7396
+ console.log("[AuthModal] Authentication successful");
7452
7397
  setIsLoading(false);
7453
7398
  },
7454
7399
  onError: (error) => {
@@ -7473,7 +7418,7 @@ function VerifyStep(props) {
7473
7418
  setIsLoading(false);
7474
7419
  }
7475
7420
  });
7476
- const { mutate: onResendCode, isPending: isCodeResending } = useMutation5({
7421
+ const { mutate: onResendCode, isPending: isCodeResending } = useMutation4({
7477
7422
  mutationFn: async () => {
7478
7423
  setAlert(null);
7479
7424
  setIsLoading(true);
@@ -7517,7 +7462,7 @@ function VerifyStep(props) {
7517
7462
  /* @__PURE__ */ jsxs22("div", { className: "relative flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
7518
7463
  /* @__PURE__ */ jsx27(OtpIcon, { className: "w-6 h-6" }),
7519
7464
  /* @__PURE__ */ jsx27("span", { className: "font-bold text-xl leading-6", children: "Verification code" }),
7520
- isLoading && /* @__PURE__ */ jsx27(Loader4, { className: "h-4 w-4 animate-spin" }),
7465
+ isLoading && /* @__PURE__ */ jsx27(Loader5, { className: "h-4 w-4 animate-spin" }),
7521
7466
  /* @__PURE__ */ jsxs22(
7522
7467
  Button,
7523
7468
  {
@@ -7560,8 +7505,8 @@ var AuthMenu = () => {
7560
7505
  const { step, alert: alert2, setStep, setPasskeyStatus, setEmail, setAlert } = useAuthStore();
7561
7506
  const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn } = useAuthMenuHandlers();
7562
7507
  const [isAlertShowReady, setIsAlertShowReady] = useState6(false);
7563
- const readyTimeout = useRef9(null);
7564
- useEffect11(() => {
7508
+ const readyTimeout = useRef8(null);
7509
+ useEffect9(() => {
7565
7510
  if (readyTimeout.current) {
7566
7511
  clearTimeout(readyTimeout.current);
7567
7512
  readyTimeout.current = null;
@@ -7569,7 +7514,7 @@ var AuthMenu = () => {
7569
7514
  setIsAlertShowReady(false);
7570
7515
  readyTimeout.current = setTimeout(() => setIsAlertShowReady(true), 750);
7571
7516
  }, [step]);
7572
- useEffect11(() => {
7517
+ useEffect9(() => {
7573
7518
  setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
7574
7519
  return () => {
7575
7520
  setStep("signin");
@@ -7581,7 +7526,7 @@ var AuthMenu = () => {
7581
7526
  }, []);
7582
7527
  if (!isIframeReady) {
7583
7528
  return /* @__PURE__ */ jsxs23("div", { className: "w-full p-8 flex flex-col justify-center items-center gap-[var(--l-pass-gap)]", children: [
7584
- /* @__PURE__ */ jsx28(Loader5, { className: "w-5 h-5 animate-spin" }),
7529
+ /* @__PURE__ */ jsx28(Loader6, { className: "w-5 h-5 animate-spin" }),
7585
7530
  /* @__PURE__ */ jsx28("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Initializing wallet..." })
7586
7531
  ] });
7587
7532
  }
@@ -7596,20 +7541,8 @@ var AuthMenu = () => {
7596
7541
  onAuthSuccess
7597
7542
  }
7598
7543
  ),
7599
- "signin": /* @__PURE__ */ jsx28(
7600
- SignInStep,
7601
- {
7602
- pendingLoginResponseRef,
7603
- onAuthSuccess
7604
- }
7605
- ),
7606
- "signin-passkey": /* @__PURE__ */ jsx28(
7607
- PassKeyStep,
7608
- {
7609
- pendingLoginResponseRef,
7610
- onAuthSuccess
7611
- }
7612
- )
7544
+ "signin": /* @__PURE__ */ jsx28(SignInStep, { pendingLoginResponseRef, onAuthSuccess }),
7545
+ "signin-passkey": /* @__PURE__ */ jsx28(PassKeyStep, { pendingLoginResponseRef, onAuthSuccess })
7613
7546
  }),
7614
7547
  [onAuthSuccess, goBackToSignIn]
7615
7548
  );
@@ -7738,9 +7671,9 @@ function RampnowIcon() {
7738
7671
  }
7739
7672
 
7740
7673
  // src/internal/components/BuyMenu/binance/Binance.tsx
7741
- import { useMutation as useMutation6, useQuery as useQuery4, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
7674
+ import { useMutation as useMutation5, useQuery as useQuery4, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
7742
7675
  import { DollarSign, LoaderIcon as LoaderIcon2 } from "lucide-react";
7743
- import { useEffect as useEffect13, useRef as useRef10 } from "react";
7676
+ import { useEffect as useEffect11, useRef as useRef9 } from "react";
7744
7677
 
7745
7678
  // src/internal/components/BuyMenu/components/PaymentSelector.tsx
7746
7679
  import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
@@ -7837,7 +7770,7 @@ async function createPreorderMutation(payload) {
7837
7770
  }
7838
7771
 
7839
7772
  // src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
7840
- import { useEffect as useEffect12 } from "react";
7773
+ import { useEffect as useEffect10 } from "react";
7841
7774
 
7842
7775
  // src/internal/components/BuyMenu/binance/utils.ts
7843
7776
  function getPayMethodID(pm) {
@@ -7857,7 +7790,7 @@ function handleErrors(errors) {
7857
7790
  // src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
7858
7791
  var useQueriesErrorHandler = (errors, stateUpdater) => {
7859
7792
  const { error: errorTitle, message: errorMessage } = handleErrors(errors);
7860
- useEffect12(() => {
7793
+ useEffect10(() => {
7861
7794
  if (!errorTitle && !errorMessage) return;
7862
7795
  console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
7863
7796
  stateUpdater(1);
@@ -7867,7 +7800,7 @@ var useQueriesErrorHandler = (errors, stateUpdater) => {
7867
7800
  };
7868
7801
 
7869
7802
  // src/internal/components/BuyMenu/binance/Binance.tsx
7870
- import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
7803
+ import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
7871
7804
  var BINANCE_LUMIA_NETWORK = "LUMIA";
7872
7805
  function Binance(props) {
7873
7806
  const { walletAddress, control } = props;
@@ -7905,15 +7838,15 @@ function Binance(props) {
7905
7838
  queryKey: [QUERY_KEYS3.binancePaymentModes, walletAddress, isLumiaAvailable, srcQueryAmount],
7906
7839
  queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
7907
7840
  });
7908
- const lastLoadedPaymentModes = useRef10([]);
7909
- useEffect13(() => {
7841
+ const lastLoadedPaymentModes = useRef9([]);
7842
+ useEffect11(() => {
7910
7843
  if (!paymentModes?.length) return;
7911
7844
  setPaymentMode(getPayMethodID(paymentModes[0]));
7912
7845
  lastLoadedPaymentModes.current = paymentModes;
7913
7846
  }, [paymentModes]);
7914
7847
  const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
7915
7848
  const minimum = Number(selectedPaymentMode?.fiatMinLimit || "0");
7916
- useEffect13(() => setMinAmount(minimum), [minimum]);
7849
+ useEffect11(() => setMinAmount(minimum), [minimum]);
7917
7850
  const {
7918
7851
  data: quoteData = null,
7919
7852
  isLoading: isQuoteDataLoading,
@@ -7934,7 +7867,7 @@ function Binance(props) {
7934
7867
  [lumiaNetworkError, paymentMethodsError, quoteError],
7935
7868
  setSrcInputAmount
7936
7869
  );
7937
- const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
7870
+ const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation5({
7938
7871
  mutationFn: async () => {
7939
7872
  setRedirecting(true);
7940
7873
  const returnUrl = window.location.href.split("?")[0];
@@ -7958,7 +7891,7 @@ function Binance(props) {
7958
7891
  setRedirecting(false);
7959
7892
  }
7960
7893
  });
7961
- useEffect13(() => {
7894
+ useEffect11(() => {
7962
7895
  return () => {
7963
7896
  qc.resetQueries({ queryKey: [QUERY_KEYS3.binanceNetworksQuery] });
7964
7897
  qc.resetQueries({ queryKey: [QUERY_KEYS3.binancePaymentModes] });
@@ -7969,7 +7902,7 @@ function Binance(props) {
7969
7902
  const isLoading = !!isLumiaNetworkLoading || !!isQuoteDataLoading || !!isPaymentModesLoading;
7970
7903
  const isContinueDisabled = !!redirecting || !!isLoading || !!isFundWalletOrderCheckouting || !quoteData || srcInputAmount < minimum || srcInputAmount !== srcQueryAmount;
7971
7904
  const localError = errorMessage?.length ? errorMessage : srcInputAmount < minimum ? `Provider min: $${minimum}` : void 0;
7972
- return /* @__PURE__ */ jsxs26(Fragment5, { children: [
7905
+ return /* @__PURE__ */ jsxs26(Fragment6, { children: [
7973
7906
  /* @__PURE__ */ jsx32(
7974
7907
  Input,
7975
7908
  {
@@ -8020,9 +7953,9 @@ function Binance(props) {
8020
7953
  }
8021
7954
 
8022
7955
  // src/internal/components/BuyMenu/rampnow/Rampnow.tsx
8023
- import { useMutation as useMutation7, useQuery as useQuery5, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
7956
+ import { useMutation as useMutation6, useQuery as useQuery5, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
8024
7957
  import { DollarSign as DollarSign2, LoaderIcon as LoaderIcon3 } from "lucide-react";
8025
- import { useEffect as useEffect14 } from "react";
7958
+ import { useEffect as useEffect12 } from "react";
8026
7959
 
8027
7960
  // src/internal/components/BuyMenu/rampnow/api.ts
8028
7961
  init_iframe_manager();
@@ -8072,7 +8005,7 @@ var ORDER_URL_QUERIES = [
8072
8005
  ];
8073
8006
 
8074
8007
  // src/internal/components/BuyMenu/rampnow/Rampnow.tsx
8075
- import { Fragment as Fragment6, jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
8008
+ import { Fragment as Fragment7, jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
8076
8009
  function Rampnow(props) {
8077
8010
  const { walletAddress, control } = props;
8078
8011
  const {
@@ -8087,7 +8020,7 @@ function Rampnow(props) {
8087
8020
  setMinAmount
8088
8021
  } = control;
8089
8022
  const qc = useQueryClient4();
8090
- useEffect14(() => {
8023
+ useEffect12(() => {
8091
8024
  setMinAmount(MINIMUM_RAMP_AMOUNT);
8092
8025
  setPaymentMode(PAYMENT_MODES[0].id);
8093
8026
  }, []);
@@ -8115,7 +8048,7 @@ function Rampnow(props) {
8115
8048
  paymentMode
8116
8049
  })
8117
8050
  });
8118
- const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation7({
8051
+ const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
8119
8052
  mutationFn: async () => {
8120
8053
  if (!configData?.apiKey?.length || !configData?.orderUrl?.length) {
8121
8054
  throw new Error("RampNow order service is not available");
@@ -8144,7 +8077,7 @@ function Rampnow(props) {
8144
8077
  console.error("Create CheckoutOrder failed:", err);
8145
8078
  }
8146
8079
  });
8147
- useEffect14(() => {
8080
+ useEffect12(() => {
8148
8081
  return () => {
8149
8082
  qc.resetQueries({ queryKey: [QUERY_KEYS3.getRampNowConfig] });
8150
8083
  qc.resetQueries({ queryKey: [QUERY_KEYS3.getRampNowQuote] });
@@ -8155,7 +8088,7 @@ function Rampnow(props) {
8155
8088
  const isContinueDisabled = !!redirecting || !!isLoading || !!isFundWalletOrderCheckouting || !quoteData || srcInputAmount < MINIMUM_RAMP_AMOUNT || srcInputAmount !== srcQueryAmount;
8156
8089
  const errorMessage = quoteError?.message || configError?.message || null;
8157
8090
  const localError = errorMessage?.length ? errorMessage : srcInputAmount < MINIMUM_RAMP_AMOUNT ? `Provider min: $${MINIMUM_RAMP_AMOUNT}` : void 0;
8158
- return /* @__PURE__ */ jsxs27(Fragment6, { children: [
8091
+ return /* @__PURE__ */ jsxs27(Fragment7, { children: [
8159
8092
  /* @__PURE__ */ jsx33(
8160
8093
  Input,
8161
8094
  {
@@ -8226,7 +8159,7 @@ var RAMP_PROVIDERS = {
8226
8159
  var REDIRECT_TIMEOUT_MS = 1500;
8227
8160
 
8228
8161
  // src/internal/components/BuyMenu/useSelectables.ts
8229
- import { useCallback as useCallback8, useEffect as useEffect15, useRef as useRef11, useState as useState7 } from "react";
8162
+ import { useCallback as useCallback8, useEffect as useEffect13, useRef as useRef10, useState as useState7 } from "react";
8230
8163
 
8231
8164
  // src/internal/utils/debounce.ts
8232
8165
  function debounce2(func, waitFor) {
@@ -8243,7 +8176,7 @@ var useSelectables = () => {
8243
8176
  const [redirecting, setRedirecting] = useState7(false);
8244
8177
  const [rampProvider, setrRampProvider] = useState7("binance");
8245
8178
  const [minAmount, setMinAmount] = useState7(0);
8246
- const inputRef = useRef11(null);
8179
+ const inputRef = useRef10(null);
8247
8180
  const [srcQueryAmount, setSrcQueryAmount] = useState7(0);
8248
8181
  const [srcInputAmount, setSrcInputAmount] = useState7(0);
8249
8182
  const [paymentMode, setPaymentMode] = useState7(null);
@@ -8255,7 +8188,7 @@ var useSelectables = () => {
8255
8188
  }, ON_INPUT_QUERY_DELAY),
8256
8189
  [minAmount]
8257
8190
  );
8258
- useEffect15(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
8191
+ useEffect13(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
8259
8192
  return {
8260
8193
  inputRef,
8261
8194
  redirecting,
@@ -8317,19 +8250,75 @@ function BuyMenu() {
8317
8250
  }
8318
8251
 
8319
8252
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
8320
- import { useMutation as useMutation10, useQuery as useQuery8, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
8321
- import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader8, UserCircle as UserCircle2 } from "lucide-react";
8322
- import { useEffect as useEffect21 } from "react";
8253
+ import { useMutation as useMutation9, useQuery as useQuery7, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
8254
+ import { AlertCircle as AlertCircle2, CheckCircle2, CloudDownload as CloudDownload2, Loader as Loader9, UserCircle as UserCircle2 } from "lucide-react";
8255
+ import { useEffect as useEffect18 } from "react";
8323
8256
  init_vaultClient();
8324
8257
 
8258
+ // src/internal/components/ui/switch.tsx
8259
+ import { forwardRef as forwardRef4, useState as useState8 } from "react";
8260
+ import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
8261
+ var Switch = forwardRef4((props, ref) => {
8262
+ const { className, labels, ...inputProps } = props;
8263
+ const colorMode = useLayoutStore((st) => st.colorMode);
8264
+ const [labelW, setLabelW] = useState8(0);
8265
+ return /* @__PURE__ */ jsx36(
8266
+ "div",
8267
+ {
8268
+ role: "switch",
8269
+ "aria-checked": inputProps.checked,
8270
+ className: cn(
8271
+ "block rounded-full w-fit h-5 px-[2px] outline-none flex-none",
8272
+ inputProps.checked ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-info)]",
8273
+ className
8274
+ ),
8275
+ children: /* @__PURE__ */ jsxs29(
8276
+ "label",
8277
+ {
8278
+ className: "relative inline-block h-4 outline-none",
8279
+ style: {
8280
+ width: `calc(16px + ${labelW}px)`,
8281
+ transition: "width 200ms ease",
8282
+ cursor: inputProps.disabled ? "not-allowed" : "pointer"
8283
+ },
8284
+ children: [
8285
+ /* @__PURE__ */ jsx36("input", { type: "checkbox", className: "hidden sr-only peer outline-none", ref, ...inputProps }),
8286
+ /* @__PURE__ */ jsx36(
8287
+ "span",
8288
+ {
8289
+ ref: (inst) => {
8290
+ if (inst) setLabelW(inst.clientWidth);
8291
+ },
8292
+ style: {
8293
+ left: inputProps.checked ? "0px" : "16px",
8294
+ color: inputProps.checked ? colorMode === "dark" ? "var(--l-pass-fg-inverted)" : "var(--l-pass-fg)" : "var(--l-pass-fg)",
8295
+ transition: "left 200ms ease"
8296
+ },
8297
+ className: "absolute top-0 px-2 text-[10px] leading-4 font-semibold min-w-4 select-none",
8298
+ children: inputProps.checked ? labels?.checked : labels?.unchecked
8299
+ }
8300
+ ),
8301
+ /* @__PURE__ */ jsx36(
8302
+ "span",
8303
+ {
8304
+ style: {
8305
+ left: inputProps.checked ? `${labelW}px` : "0px",
8306
+ transition: "left 200ms ease"
8307
+ },
8308
+ className: "absolute top-0 w-4 h-4 rounded-full bg-[var(--l-pass-fg)]"
8309
+ }
8310
+ )
8311
+ ]
8312
+ }
8313
+ )
8314
+ }
8315
+ );
8316
+ });
8317
+ Switch.displayName = "Switch";
8318
+
8325
8319
  // src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
8326
8320
  import { Cloud, FileDown, FileUp } from "lucide-react";
8327
- import { Fragment as Fragment7, useMemo as useMemo2 } from "react";
8328
-
8329
- // src/internal/components/KeyshareRestoreMenu/hooks/useCheckBackupAvailability.ts
8330
- init_vaultClient();
8331
- import { useQuery as useQuery6, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
8332
- import { useEffect as useEffect16 } from "react";
8321
+ import { Fragment as Fragment8, useMemo as useMemo2 } from "react";
8333
8322
 
8334
8323
  // src/internal/components/KeyshareRestoreMenu/hooks/useRestoreStore.ts
8335
8324
  import { create as create4 } from "zustand";
@@ -8358,45 +8347,6 @@ var useRestoreStore = create4((set) => ({
8358
8347
  setSuccess: (success) => set({ success })
8359
8348
  }));
8360
8349
 
8361
- // src/internal/components/KeyshareRestoreMenu/hooks/useCheckBackupAvailability.ts
8362
- function useCheckBackupAvailability() {
8363
- const qc = useQueryClient5();
8364
- const address = useLumiaPassportSession((st) => st.address);
8365
- const { setError, setHasServerBackup, setCheckingBackup } = useRestoreStore();
8366
- const {
8367
- data: serverRecoveryData,
8368
- isLoading: isRecoveryLoading,
8369
- error: recoveryError
8370
- } = useQuery6({
8371
- retry: false,
8372
- queryKey: [CHECK_BACKUP_QUERY_KEY, address],
8373
- queryFn: async () => await getShareRecoveryStats()
8374
- });
8375
- useEffect16(() => {
8376
- qc.invalidateQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY] });
8377
- }, [qc]);
8378
- useEffect16(() => {
8379
- setCheckingBackup(isRecoveryLoading);
8380
- if (!!isRecoveryLoading) return;
8381
- if (!!recoveryError) {
8382
- console.warn("[KeyshareRestoreMenu] Failed to check backup availability:", recoveryError);
8383
- setError("Failed to check backup availability");
8384
- setHasServerBackup(false);
8385
- setCheckingBackup(false);
8386
- return;
8387
- }
8388
- const hasRecoveryData = serverRecoveryData?.created || serverRecoveryData?.devices?.length > 0;
8389
- setHasServerBackup(!!hasRecoveryData);
8390
- setCheckingBackup(false);
8391
- }, [serverRecoveryData, recoveryError, isRecoveryLoading]);
8392
- return {
8393
- serverRecoveryData,
8394
- isRecoveryLoading,
8395
- recoveryError,
8396
- hasRecoveryData: serverRecoveryData?.created || serverRecoveryData?.devices?.length > 0
8397
- };
8398
- }
8399
-
8400
8350
  // src/internal/components/KeyshareRestoreMenu/hooks/useOnRestoreSuccess.ts
8401
8351
  import { useCallback as useCallback9 } from "react";
8402
8352
  function useOnRestoreSuccess() {
@@ -8446,14 +8396,9 @@ function useOnRestoreSuccess() {
8446
8396
  if (recoveryUserId) {
8447
8397
  try {
8448
8398
  const { session: sess, address: addr } = await createSessionWithKeyshare(recoveryUserId, hasServerKeyshare);
8449
- setSession(sess);
8450
- setAddress(addr);
8451
- setStatus("ready");
8452
8399
  setRecoveryUserId(null);
8453
8400
  setSuccess(null);
8454
8401
  setError(null);
8455
- setIsDialogForced(false);
8456
- setPage("main-menu" /* MAIN_MENU */);
8457
8402
  try {
8458
8403
  callbacks?.onLumiaPassportConnect?.({
8459
8404
  address: addr,
@@ -8485,11 +8430,17 @@ function useOnRestoreSuccess() {
8485
8430
  } catch (e) {
8486
8431
  console.warn("[UI-KIT] Failed to update backup status:", e);
8487
8432
  }
8433
+ setSession(sess);
8434
+ setAddress(addr);
8435
+ setStatus("ready");
8436
+ setPage("main-menu" /* MAIN_MENU */);
8437
+ setTimeout(() => {
8438
+ setIsDialogForced(false);
8439
+ }, 375);
8488
8440
  } catch (err) {
8489
8441
  setSuccess(null);
8490
8442
  setError(err?.message || String(err));
8491
8443
  setStatus("error");
8492
- setIsDialogForced(false);
8493
8444
  }
8494
8445
  }
8495
8446
  }, [
@@ -8507,17 +8458,17 @@ function useOnRestoreSuccess() {
8507
8458
  }
8508
8459
 
8509
8460
  // src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts
8510
- import { useMutation as useMutation8, useQueryClient as useQueryClient6 } from "@tanstack/react-query";
8511
- import { useEffect as useEffect17 } from "react";
8461
+ import { useMutation as useMutation7, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
8462
+ import { useEffect as useEffect14 } from "react";
8512
8463
  init_iframe_manager();
8513
8464
  function useCreateBackup() {
8514
- const qc = useQueryClient6();
8465
+ const qc = useQueryClient5();
8515
8466
  const session = useLumiaPassportSession((st) => st.session);
8516
8467
  const address = useLumiaPassportSession((st) => st.address);
8517
8468
  const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
8518
8469
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
8519
8470
  const { usePasskey, restorePassword, selectedCloudProvider, setSuccess, setError, setMethod } = useRestoreStore();
8520
- useEffect17(() => {
8471
+ useEffect14(() => {
8521
8472
  if (!hasServerVault) {
8522
8473
  setMethod("server");
8523
8474
  setIsDialogForced(true);
@@ -8525,7 +8476,7 @@ function useCreateBackup() {
8525
8476
  }, [hasServerVault, setIsDialogForced, setMethod]);
8526
8477
  const passportUserId = session?.mpcUserId || "";
8527
8478
  const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
8528
- const { mutate: createPasswordBackup, isPending: isPasswordBackupCreating } = useMutation8({
8479
+ const { mutate: createPasswordBackup, isPending: isPasswordBackupCreating } = useMutation7({
8529
8480
  mutationFn: async () => {
8530
8481
  const iframeManager = getIframeManager();
8531
8482
  if (!iframeManager) {
@@ -8556,13 +8507,14 @@ function useCreateBackup() {
8556
8507
  } else {
8557
8508
  setError(response.error || "Server backup failed");
8558
8509
  }
8510
+ setIsDialogForced(false);
8559
8511
  },
8560
8512
  onError: async (error) => {
8561
8513
  setError(error?.message || "Backup creation failed");
8562
8514
  qc.invalidateQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY, address] });
8563
8515
  }
8564
8516
  });
8565
- const { mutate: createLocalBackup, isPending: isLocalBackupCreating } = useMutation8({
8517
+ const { mutate: createLocalBackup, isPending: isLocalBackupCreating } = useMutation7({
8566
8518
  mutationFn: async () => {
8567
8519
  const iframeManager = getIframeManager();
8568
8520
  if (!usePasskey && !restorePassword) {
@@ -8596,7 +8548,7 @@ function useCreateBackup() {
8596
8548
  qc.invalidateQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY, address] });
8597
8549
  }
8598
8550
  });
8599
- const { mutate: createCloudBackup, isPending: isCloudBackupCreating } = useMutation8({
8551
+ const { mutate: createCloudBackup, isPending: isCloudBackupCreating } = useMutation7({
8600
8552
  mutationFn: async () => {
8601
8553
  const iframeManager = getIframeManager();
8602
8554
  const encryptedData = await iframeManager.encryptBackupData(passportUserId);
@@ -8647,7 +8599,7 @@ function useCreateBackup() {
8647
8599
  }
8648
8600
 
8649
8601
  // src/internal/components/KeyshareRestoreMenu/hooks/useRestoreAccount.ts
8650
- import { useMutation as useMutation9 } from "@tanstack/react-query";
8602
+ import { useMutation as useMutation8 } from "@tanstack/react-query";
8651
8603
  function useRestoreAccount() {
8652
8604
  const recoveryUserId = useLumiaPassportSession((st) => st.recoveryUserId);
8653
8605
  const {
@@ -8661,7 +8613,7 @@ function useRestoreAccount() {
8661
8613
  setRestoreFile
8662
8614
  } = useRestoreStore();
8663
8615
  const { onRestoreSuccess } = useOnRestoreSuccess();
8664
- const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation9({
8616
+ const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation8({
8665
8617
  mutationFn: async () => {
8666
8618
  setError(null);
8667
8619
  setSuccess(null);
@@ -8691,18 +8643,16 @@ function useRestoreAccount() {
8691
8643
  onRestoreSuccess();
8692
8644
  } else {
8693
8645
  console.error("[KeyshareRestoreMenu] Server restore failed:", response.error);
8694
- setMethod(null);
8695
8646
  setError(response.error || "Server restore failed");
8696
8647
  }
8697
8648
  },
8698
8649
  onError: async (err) => {
8699
8650
  console.error("[KeyshareRestoreMenu] Server restore exception:", err);
8700
8651
  const errorMsg = err instanceof Error ? err.message : "Server restore failed";
8701
- setMethod(null);
8702
8652
  setError(errorMsg);
8703
8653
  }
8704
8654
  });
8705
- const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation9({
8655
+ const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation8({
8706
8656
  mutationFn: async () => {
8707
8657
  if (!restoreFile) {
8708
8658
  throw new Error("Please select a backup file");
@@ -8728,17 +8678,15 @@ function useRestoreAccount() {
8728
8678
  setMethod(null);
8729
8679
  onRestoreSuccess();
8730
8680
  } else {
8731
- setMethod(null);
8732
8681
  setError(response.error || "File restore failed");
8733
8682
  }
8734
8683
  },
8735
8684
  onError: async (err) => {
8736
8685
  const errorMsg = err instanceof Error ? err.message : "Restore failed";
8737
- setMethod(null);
8738
8686
  setError(errorMsg);
8739
8687
  }
8740
8688
  });
8741
- const { mutate: restoreFromCloud, isPending: isRestoringFromCloud } = useMutation9({
8689
+ const { mutate: restoreFromCloud, isPending: isRestoringFromCloud } = useMutation8({
8742
8690
  mutationFn: async () => {
8743
8691
  alert("Cloud restore not implemented yet");
8744
8692
  return null;
@@ -8759,7 +8707,7 @@ function useRestoreAccount() {
8759
8707
  }
8760
8708
 
8761
8709
  // src/internal/components/KeyshareRestoreMenu/hooks/useValidateFileBackup.ts
8762
- import { useEffect as useEffect18 } from "react";
8710
+ import { useEffect as useEffect15 } from "react";
8763
8711
  function validateRestoreFileFormat(parsedData) {
8764
8712
  if (typeof parsedData !== "object" || parsedData === null) return false;
8765
8713
  const data = parsedData;
@@ -8769,7 +8717,7 @@ function useValidateFileBackup() {
8769
8717
  const restoreFile = useRestoreStore((st) => st.restoreFile);
8770
8718
  const setError = useRestoreStore((st) => st.setError);
8771
8719
  const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
8772
- useEffect18(() => {
8720
+ useEffect15(() => {
8773
8721
  if (!restoreFile) {
8774
8722
  return;
8775
8723
  }
@@ -8792,9 +8740,9 @@ function useValidateFileBackup() {
8792
8740
  }
8793
8741
 
8794
8742
  // src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
8795
- import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
8743
+ import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
8796
8744
  var getRecoveryRenderMethods = (mode) => [
8797
- { method: "server", label: "Password", Icon: OtpIcon },
8745
+ // { method: 'server', label: 'Password', Icon: OtpIcon },
8798
8746
  { method: "file", label: "Local File", Icon: mode === "restore" ? FileUp : FileDown },
8799
8747
  { method: "cloud", label: "Cloud", Icon: Cloud, disabled: true }
8800
8748
  ];
@@ -8824,51 +8772,48 @@ function MethodSelector(props) {
8824
8772
  return methodsWithBackupData;
8825
8773
  }, [mode, serverRecoveryStatus]);
8826
8774
  if (!!selectedRecoveryMethod) return null;
8827
- return /* @__PURE__ */ jsxs29(Fragment7, { children: [
8828
- /* @__PURE__ */ jsx36("span", { className: "block w-full text-xs font-semibold text-center leading-8 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx36("span", { className: "leading-8", children: mode === "restore" ? "Choose restore method" : "Create or Update Backup via" }) }),
8829
- /* @__PURE__ */ jsx36(
8830
- "div",
8831
- {
8832
- style: { gridTemplateColumns: `repeat(${recoveryRenderMethods.length}, minmax(0, 1fr))` },
8833
- className: "w-full grid gap-[var(--l-pass-gap)]",
8834
- children: recoveryRenderMethods.map(({ method: recoveryMethod, label, Icon: Icon2, data, disabled }) => /* @__PURE__ */ jsxs29("div", { className: "w-full h-full flex flex-col items-center gap-[var(--l-pass-gap)]", children: [
8835
- /* @__PURE__ */ jsxs29(
8836
- Button,
8837
- {
8838
- size: "icon",
8839
- variant: "outline",
8840
- type: "button",
8841
- disabled,
8842
- style: { height: "unset", maxWidth: "96px" },
8843
- className: "relative w-full aspect-square h-unset rounded-[var(--l-pass-el-bdrs)]",
8844
- onClick: () => {
8845
- setRestorePassword("");
8846
- setRestoreFile(null);
8847
- setShowPassword(false);
8848
- setError(null);
8849
- setSuccess(null);
8850
- setMethod(recoveryMethod);
8851
- },
8852
- children: [
8853
- /* @__PURE__ */ jsx36(Icon2, { className: "w-5 h-5 md:w-8 md:h-8" }),
8854
- !!data?.lastBackup && /* @__PURE__ */ jsx36("div", { className: "w-6 h-6 absolute -top-2 -right-2 flex items-center justify-center bg-transparent", children: /* @__PURE__ */ jsx36(PositiveIcon, { className: "w-4 h-4" }) })
8855
- ]
8856
- }
8857
- ),
8858
- /* @__PURE__ */ jsx36("span", { className: "text-xs font-bold leading-4", children: label })
8859
- ] }, recoveryMethod))
8860
- }
8861
- )
8862
- ] });
8775
+ return /* @__PURE__ */ jsx37(Fragment8, { children: /* @__PURE__ */ jsx37(
8776
+ "div",
8777
+ {
8778
+ style: { gridTemplateColumns: `repeat(${recoveryRenderMethods.length}, minmax(0, 1fr))` },
8779
+ className: "w-full max-w-[256px] grid gap-[var(--l-pass-gap)] mx-auto py-[var(--l-pass-pd)]",
8780
+ children: recoveryRenderMethods.map(({ method: recoveryMethod, label, Icon: Icon2, data, disabled }) => /* @__PURE__ */ jsxs30("div", { className: "w-full h-full flex flex-col items-center gap-[var(--l-pass-gap)]", children: [
8781
+ /* @__PURE__ */ jsxs30(
8782
+ Button,
8783
+ {
8784
+ size: "icon",
8785
+ variant: "outline",
8786
+ type: "button",
8787
+ disabled,
8788
+ style: { height: "unset", maxWidth: "96px" },
8789
+ className: "relative w-full aspect-square h-unset rounded-[var(--l-pass-el-bdrs)]",
8790
+ onClick: () => {
8791
+ setRestorePassword("");
8792
+ setRestoreFile(null);
8793
+ setShowPassword(false);
8794
+ setError(null);
8795
+ setSuccess(null);
8796
+ setMethod(recoveryMethod);
8797
+ },
8798
+ children: [
8799
+ /* @__PURE__ */ jsx37(Icon2, { className: "w-5 h-5 md:w-8 md:h-8" }),
8800
+ !!data?.lastBackup && /* @__PURE__ */ jsx37("div", { className: "w-6 h-6 absolute -top-2 -right-2 flex items-center justify-center bg-transparent", children: /* @__PURE__ */ jsx37(PositiveIcon, { className: "w-4 h-4" }) })
8801
+ ]
8802
+ }
8803
+ ),
8804
+ /* @__PURE__ */ jsx37("span", { className: "text-xs font-bold leading-4", children: label })
8805
+ ] }, recoveryMethod))
8806
+ }
8807
+ ) });
8863
8808
  }
8864
8809
 
8865
8810
  // src/internal/components/KeyshareRestoreMenu/components/NoBackupFound.tsx
8866
8811
  import { AlertCircle, FileUp as FileUp2, Upload, User } from "lucide-react";
8867
8812
 
8868
8813
  // src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
8869
- import { ChevronRight as ChevronRight2, Eye, EyeOff, Info, Loader as Loader6 } from "lucide-react";
8870
- import { useRef as useRef12 } from "react";
8871
- import { Fragment as Fragment8, jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
8814
+ import { ChevronRight as ChevronRight2, Eye, EyeOff, Info, Key as Key4, Loader as Loader7 } from "lucide-react";
8815
+ import { useRef as useRef11 } from "react";
8816
+ import { Fragment as Fragment9, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
8872
8817
  function PasswordPasskey(props) {
8873
8818
  const {
8874
8819
  mode = "restore",
@@ -8880,32 +8825,79 @@ function PasswordPasskey(props) {
8880
8825
  actionHandler
8881
8826
  } = props;
8882
8827
  const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
8883
- const actionRef = useRef12(null);
8884
- const { showPassword, restorePassword, usePasskey, error, setRestorePassword, setShowPassword } = useRestoreStore();
8885
- return /* @__PURE__ */ jsxs30(Fragment8, { children: [
8886
- !hasServerVault && /* @__PURE__ */ jsxs30("span", { className: "block w-full text-[10px] leading-4 px-[var(--l-pass-pd)] truncate", children: [
8887
- "Use your ",
8888
- /* @__PURE__ */ jsx37("strong", { children: usePasskey ? "Passkey" : "Password" }),
8889
- " to complete account security setup."
8890
- ] }),
8891
- !usePasskey ? /* @__PURE__ */ jsxs30("div", { className: "w-full flex gap-[var(--l-pass-gap)]", children: [
8892
- /* @__PURE__ */ jsx37(
8893
- Input,
8828
+ const actionRef = useRef11(null);
8829
+ const {
8830
+ showPassword,
8831
+ restorePassword,
8832
+ usePasskey,
8833
+ error,
8834
+ setRestorePassword,
8835
+ setShowPassword,
8836
+ setUsePasskey,
8837
+ setRestoreFile
8838
+ } = useRestoreStore();
8839
+ return /* @__PURE__ */ jsxs31(Fragment9, { children: [
8840
+ mode === "backup" && /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-center px-[var(--l-pass-pd)]", children: [
8841
+ /* @__PURE__ */ jsxs31(
8842
+ Button,
8894
8843
  {
8895
- autoComplete: "off",
8896
- Icon: OtpIcon,
8897
- type: showPassword ? "text" : "password",
8898
- placeholder: "Password",
8899
- value: restorePassword,
8900
- disabled: isLoading || disabled,
8901
- className: "flex-1",
8844
+ size: "medium",
8845
+ variant: "ghost",
8846
+ onClick: () => {
8847
+ setUsePasskey(false);
8848
+ setRestoreFile(null);
8849
+ setRestorePassword("");
8850
+ },
8851
+ className: cn(usePasskey ? "opacity-50" : "opacity-100"),
8852
+ children: [
8853
+ /* @__PURE__ */ jsx38(OtpIcon, { className: "w-4 h-4 inline-block mr-1" }),
8854
+ "Password"
8855
+ ]
8856
+ }
8857
+ ),
8858
+ /* @__PURE__ */ jsxs31(
8859
+ Button,
8860
+ {
8861
+ size: "medium",
8862
+ variant: "ghost",
8863
+ onClick: () => {
8864
+ setUsePasskey(true);
8865
+ setRestoreFile(null);
8866
+ setRestorePassword("");
8867
+ },
8868
+ className: cn(usePasskey ? "opacity-100" : "opacity-50"),
8869
+ children: [
8870
+ /* @__PURE__ */ jsx38(Key4, { className: "w-4 h-4 inline-block mr-1" }),
8871
+ "Passkey"
8872
+ ]
8873
+ }
8874
+ )
8875
+ ] }),
8876
+ !hasServerVault && /* @__PURE__ */ jsxs31("span", { className: "block w-full text-[10px] leading-8 px-[var(--l-pass-pd)] truncate", children: [
8877
+ "Use your ",
8878
+ /* @__PURE__ */ jsx38("strong", { children: usePasskey ? "Passkey" : "Password" }),
8879
+ " to",
8880
+ " ",
8881
+ /* @__PURE__ */ jsx38("span", { children: mode === "backup" ? "complete account security setup." : "get access to your account." })
8882
+ ] }),
8883
+ !usePasskey ? /* @__PURE__ */ jsxs31("div", { className: "w-full flex gap-[var(--l-pass-gap)]", children: [
8884
+ /* @__PURE__ */ jsx38(
8885
+ Input,
8886
+ {
8887
+ autoComplete: "off",
8888
+ Icon: OtpIcon,
8889
+ type: showPassword ? "text" : "password",
8890
+ placeholder: "Password",
8891
+ value: restorePassword,
8892
+ disabled: isLoading || disabled,
8893
+ className: "flex-1",
8902
8894
  onChange: (e) => {
8903
8895
  setRestorePassword(e.target.value);
8904
8896
  },
8905
8897
  onKeyDown: (e) => {
8906
8898
  if (e.key === "Enter" && !isLoading && restorePassword) actionRef.current?.click();
8907
8899
  },
8908
- element: /* @__PURE__ */ jsx37(
8900
+ element: /* @__PURE__ */ jsx38(
8909
8901
  Button,
8910
8902
  {
8911
8903
  variant: "ghost",
@@ -8914,12 +8906,12 @@ function PasswordPasskey(props) {
8914
8906
  title: "Toggle Password Visibility",
8915
8907
  disabled: isLoading || disabled,
8916
8908
  onClick: () => setShowPassword(!showPassword),
8917
- children: showPassword ? /* @__PURE__ */ jsx37(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx37(Eye, { className: "h-4 w-4" })
8909
+ children: showPassword ? /* @__PURE__ */ jsx38(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx38(Eye, { className: "h-4 w-4" })
8918
8910
  }
8919
8911
  )
8920
8912
  }
8921
8913
  ),
8922
- /* @__PURE__ */ jsx37(
8914
+ /* @__PURE__ */ jsx38(
8923
8915
  Button,
8924
8916
  {
8925
8917
  ref: actionRef,
@@ -8929,10 +8921,10 @@ function PasswordPasskey(props) {
8929
8921
  title: actionCaption,
8930
8922
  disabled: isLoading || disabled || error?.includes("Invalid backup file") || !usePasskey && !restorePassword,
8931
8923
  className: "w-full w-12 h-12 flex-shrink-0 rounded-[var(--l-pass-el-bdrs)]",
8932
- children: isLoading ? /* @__PURE__ */ jsx37(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx37(ChevronRight2, { className: "h-4 w-4" })
8924
+ children: isLoading ? /* @__PURE__ */ jsx38(Loader7, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx38(ChevronRight2, { className: "h-4 w-4" })
8933
8925
  }
8934
8926
  )
8935
- ] }) : /* @__PURE__ */ jsxs30(
8927
+ ] }) : /* @__PURE__ */ jsxs31(
8936
8928
  Button,
8937
8929
  {
8938
8930
  ref: actionRef,
@@ -8943,18 +8935,18 @@ function PasswordPasskey(props) {
8943
8935
  disabled: isLoading || disabled || !!error || !usePasskey && !restorePassword,
8944
8936
  className: "w-full",
8945
8937
  children: [
8946
- isLoading ? /* @__PURE__ */ jsx37(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx37(ActionIcon, { className: "h-4 w-4" }),
8947
- !isLoading && /* @__PURE__ */ jsx37("span", { children: actionCaption })
8938
+ isLoading ? /* @__PURE__ */ jsx38(Loader7, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx38(ActionIcon, { className: "h-4 w-4" }),
8939
+ !isLoading && /* @__PURE__ */ jsx38("span", { children: actionCaption })
8948
8940
  ]
8949
8941
  }
8950
8942
  ),
8951
- !isEncryptionMethod && !!usePasskey && /* @__PURE__ */ jsx37(Highlight, { type: "info", className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-[10px]", children: mode === "backup" && /* @__PURE__ */ jsxs30("div", { className: "flex gap-[var(--l-pass-gap)]", children: [
8952
- /* @__PURE__ */ jsx37(Info, { className: "h-4 w-4 flex-shrink-0" }),
8953
- /* @__PURE__ */ jsxs30("span", { className: "text-[var(--l-pass-fg-muted)] block flex-1", children: [
8954
- /* @__PURE__ */ jsx37("span", { className: "block mb-1", children: "Your Backup must be encrypted with a password or a passkey, so only you can decrypt it no matter where backup is stored." }),
8955
- /* @__PURE__ */ jsxs30("span", { className: "block", children: [
8943
+ !isEncryptionMethod && !!usePasskey && /* @__PURE__ */ jsx38(Highlight, { type: "info", className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-[10px]", children: mode === "backup" && /* @__PURE__ */ jsxs31("div", { className: "flex gap-[var(--l-pass-gap)]", children: [
8944
+ /* @__PURE__ */ jsx38(Info, { className: "h-4 w-4 flex-shrink-0" }),
8945
+ /* @__PURE__ */ jsxs31("span", { className: "text-[var(--l-pass-fg-muted)] block flex-1", children: [
8946
+ /* @__PURE__ */ jsx38("span", { className: "block mb-1", children: "Your Backup must be encrypted with a password or a passkey, so only you can decrypt it no matter where backup is stored." }),
8947
+ /* @__PURE__ */ jsxs31("span", { className: "block", children: [
8956
8948
  " Passkeys are a password-free alternative. ",
8957
- /* @__PURE__ */ jsx37(
8949
+ /* @__PURE__ */ jsx38(
8958
8950
  "a",
8959
8951
  {
8960
8952
  target: "_blank",
@@ -8971,7 +8963,7 @@ function PasswordPasskey(props) {
8971
8963
  }
8972
8964
 
8973
8965
  // src/internal/components/KeyshareRestoreMenu/components/NoBackupFound.tsx
8974
- import { Fragment as Fragment9, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
8966
+ import { Fragment as Fragment10, jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
8975
8967
  function NoBackupFound(props) {
8976
8968
  const { isLoading, restoreFromFile } = props;
8977
8969
  const restoreFile = useRestoreStore((st) => st.restoreFile);
@@ -8980,33 +8972,33 @@ function NoBackupFound(props) {
8980
8972
  const setRestoreFile = useRestoreStore((st) => st.setRestoreFile);
8981
8973
  const setError = useRestoreStore((st) => st.setError);
8982
8974
  useValidateFileBackup();
8983
- return /* @__PURE__ */ jsxs31(Fragment9, { children: [
8984
- /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
8985
- /* @__PURE__ */ jsx38(User, { className: "w-6 h-6" }),
8986
- /* @__PURE__ */ jsx38("span", { className: "font-bold text-xl leading-6", children: "Account Recovery" })
8975
+ return /* @__PURE__ */ jsxs32(Fragment10, { children: [
8976
+ /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
8977
+ /* @__PURE__ */ jsx39(User, { className: "w-6 h-6" }),
8978
+ /* @__PURE__ */ jsx39("span", { className: "font-bold text-xl leading-6", children: "Account Recovery" })
8987
8979
  ] }),
8988
- !restoreFile && /* @__PURE__ */ jsxs31(Highlight, { type: "warning", className: "animate-glow-warning flex gap-[var(--l-pass-gap)]", children: [
8989
- /* @__PURE__ */ jsx38(AlertCircle, { className: "h-4 w-4 flex-0" }),
8990
- /* @__PURE__ */ jsxs31("div", { className: "w-full flex-1 flex flex-col gap-2", children: [
8991
- /* @__PURE__ */ jsx38("span", { className: "block w-full text-sm leading-4 font-bold", children: "No Backup Found" }),
8992
- /* @__PURE__ */ jsxs31("span", { className: "block w-full text-xs", children: [
8993
- /* @__PURE__ */ jsx38("span", { className: "block mb-1", children: "This device doesn't have access to your wallet keyshare, and no backup was found." }),
8994
- /* @__PURE__ */ jsx38("span", { className: "block w-full", children: "If you're using a different device, please return to the one where you created your account to create a backup, then restore access on this device." })
8980
+ !restoreFile && /* @__PURE__ */ jsxs32(Highlight, { type: "warning", className: "animate-glow-warning flex gap-[var(--l-pass-gap)]", children: [
8981
+ /* @__PURE__ */ jsx39(AlertCircle, { className: "h-4 w-4 flex-0" }),
8982
+ /* @__PURE__ */ jsxs32("div", { className: "w-full flex-1 flex flex-col gap-2", children: [
8983
+ /* @__PURE__ */ jsx39("span", { className: "block w-full text-sm leading-4 font-bold", children: "No Backup Found" }),
8984
+ /* @__PURE__ */ jsxs32("span", { className: "block w-full text-xs", children: [
8985
+ /* @__PURE__ */ jsx39("span", { className: "block mb-1", children: "This device doesn't have access to your wallet keyshare, and no backup was found." }),
8986
+ /* @__PURE__ */ jsx39("span", { className: "block w-full", children: "If you're using a different device, please return to the one where you created your account to create a backup, then restore access on this device." })
8995
8987
  ] })
8996
8988
  ] })
8997
8989
  ] }),
8998
- !restoreFile && /* @__PURE__ */ jsxs31(Highlight, { type: "info", className: "flex gap-[var(--l-pass-gap)]", children: [
8999
- /* @__PURE__ */ jsx38(Upload, { className: "h-4 w-4 flex-0" }),
9000
- /* @__PURE__ */ jsx38("span", { className: "block w-full text-xs", children: "Upload a backup file if you have one" })
8990
+ !restoreFile && /* @__PURE__ */ jsxs32(Highlight, { type: "info", className: "flex gap-[var(--l-pass-gap)]", children: [
8991
+ /* @__PURE__ */ jsx39(Upload, { className: "h-4 w-4 flex-0" }),
8992
+ /* @__PURE__ */ jsx39("span", { className: "block w-full text-xs", children: "Upload a backup file if you have one" })
9001
8993
  ] }),
9002
- /* @__PURE__ */ jsx38(
8994
+ /* @__PURE__ */ jsx39(
9003
8995
  "label",
9004
8996
  {
9005
8997
  className: cn(
9006
8998
  "block w-full flex items-center justify-center cursor-pointer",
9007
8999
  "p-[var(--l-pass-gap)] bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]"
9008
9000
  ),
9009
- children: /* @__PURE__ */ jsx38(
9001
+ children: /* @__PURE__ */ jsx39(
9010
9002
  "input",
9011
9003
  {
9012
9004
  type: "file",
@@ -9027,7 +9019,7 @@ function NoBackupFound(props) {
9027
9019
  )
9028
9020
  }
9029
9021
  ),
9030
- restoreFile && /* @__PURE__ */ jsx38(
9022
+ restoreFile && /* @__PURE__ */ jsx39(
9031
9023
  PasswordPasskey,
9032
9024
  {
9033
9025
  mode: "restore",
@@ -9042,125 +9034,16 @@ function NoBackupFound(props) {
9042
9034
  }
9043
9035
 
9044
9036
  // src/internal/components/KeyshareRestoreMenu/methods/File.tsx
9045
- import { ArrowLeft as ArrowLeft6, FileDown as FileDown2, FileUp as FileUp3 } from "lucide-react";
9046
-
9047
- // src/internal/components/ui/switch.tsx
9048
- import { forwardRef as forwardRef4, useState as useState9 } from "react";
9049
- import { jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
9050
- var Switch = forwardRef4((props, ref) => {
9051
- const { className, labels, ...inputProps } = props;
9052
- const colorMode = useLayoutStore((st) => st.colorMode);
9053
- const [labelW, setLabelW] = useState9(0);
9054
- return /* @__PURE__ */ jsx39(
9055
- "div",
9056
- {
9057
- role: "switch",
9058
- "aria-checked": inputProps.checked,
9059
- className: cn(
9060
- "block rounded-full w-fit h-7 p-1 outline-none flex-none",
9061
- inputProps.checked ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-info)]",
9062
- className
9063
- ),
9064
- children: /* @__PURE__ */ jsxs32(
9065
- "label",
9066
- {
9067
- className: "relative inline-block h-5 outline-none",
9068
- style: {
9069
- width: `calc(20px + ${labelW}px)`,
9070
- transition: "width 200ms ease",
9071
- cursor: inputProps.disabled ? "not-allowed" : "pointer"
9072
- },
9073
- children: [
9074
- /* @__PURE__ */ jsx39("input", { type: "checkbox", className: "hidden sr-only peer outline-none", ref, ...inputProps }),
9075
- /* @__PURE__ */ jsx39(
9076
- "span",
9077
- {
9078
- ref: (inst) => {
9079
- if (inst) setLabelW(inst.clientWidth);
9080
- },
9081
- style: {
9082
- left: inputProps.checked ? "0px" : "20px",
9083
- color: inputProps.checked ? colorMode === "dark" ? "var(--l-pass-fg-inverted)" : "var(--l-pass-fg)" : "var(--l-pass-fg)",
9084
- transition: "left 200ms ease"
9085
- },
9086
- className: "absolute top-0 px-2 text-xs leading-5 font-semibold min-w-5 select-none",
9087
- children: inputProps.checked ? labels?.checked : labels?.unchecked
9088
- }
9089
- ),
9090
- /* @__PURE__ */ jsx39(
9091
- "span",
9092
- {
9093
- style: {
9094
- left: inputProps.checked ? `${labelW}px` : "0px",
9095
- transition: "left 200ms ease"
9096
- },
9097
- className: cn("absolute top-0 w-5 h-5 rounded-full bg-[var(--l-pass-fg)]", {
9098
- // 'bg-[var(--l-pass-fg-inverted)]': inputProps.checked,
9099
- // 'bg-[var(--l-pass-fg)]': !inputProps.checked
9100
- })
9101
- }
9102
- )
9103
- ]
9104
- }
9105
- )
9106
- }
9107
- );
9108
- });
9109
- Switch.displayName = "Switch";
9110
-
9111
- // src/internal/components/KeyshareRestoreMenu/methods/File.tsx
9112
- import { Fragment as Fragment10, jsx as jsx40, jsxs as jsxs33 } from "react/jsx-runtime";
9037
+ import { FileDown as FileDown2, FileUp as FileUp3 } from "lucide-react";
9038
+ import { Fragment as Fragment11, jsx as jsx40, jsxs as jsxs33 } from "react/jsx-runtime";
9113
9039
  function File2(props) {
9114
9040
  const { isLoading, mode = "restore", fileHandler } = props;
9115
- const {
9116
- restoreFile,
9117
- error,
9118
- usePasskey,
9119
- setRestorePassword,
9120
- setMethod,
9121
- setRestoreFile,
9122
- setUsePasskey,
9123
- setError,
9124
- setSuccess
9125
- } = useRestoreStore();
9041
+ const { restoreFile, error, setRestoreFile, setError } = useRestoreStore();
9126
9042
  useValidateFileBackup();
9127
9043
  const actionText = mode === "backup" ? "Download" : "Restore with";
9128
9044
  const isPasswordPasskey = mode === "restore" && !!restoreFile || mode === "backup";
9129
- return /* @__PURE__ */ jsxs33(Fragment10, { children: [
9130
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between", children: [
9131
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9132
- /* @__PURE__ */ jsx40(
9133
- Button,
9134
- {
9135
- variant: "ghost",
9136
- size: "icon",
9137
- title: "Back",
9138
- onClick: () => {
9139
- setRestoreFile(null);
9140
- setError(null);
9141
- setSuccess(null);
9142
- setUsePasskey(false);
9143
- setMethod(null);
9144
- },
9145
- children: /* @__PURE__ */ jsx40(ArrowLeft6, { className: "h-4 w-4" })
9146
- }
9147
- ),
9148
- /* @__PURE__ */ jsx40("span", { className: "text-xl font-semibold", children: `${mode === "restore" ? "Restore with" : ""} File ${mode === "restore" ? "by" : "Backup by"}`.trim() })
9149
- ] }),
9150
- mode !== "restore" && /* @__PURE__ */ jsx40(
9151
- Switch,
9152
- {
9153
- name: "password-passkey-toggle",
9154
- labels: { checked: "Password", unchecked: "Passkey" },
9155
- disabled: isLoading || !!error,
9156
- checked: !usePasskey,
9157
- onChange: (e) => {
9158
- if (!!e.target.checked) setRestorePassword("");
9159
- setUsePasskey(!e.target.checked);
9160
- }
9161
- }
9162
- )
9163
- ] }),
9045
+ return /* @__PURE__ */ jsxs33(Fragment11, { children: [
9046
+ /* @__PURE__ */ jsx40("span", { className: "block w-full text-[10px] text-center leading-8 px-[var(--l-pass-pd)] truncate", children: `${mode === "restore" ? "Restore with" : ""} File ${mode === "restore" ? "" : "Backup by"}`.trim() }),
9164
9047
  mode === "restore" && /* @__PURE__ */ jsx40(
9165
9048
  "label",
9166
9049
  {
@@ -9204,61 +9087,23 @@ function File2(props) {
9204
9087
  }
9205
9088
 
9206
9089
  // src/internal/components/KeyshareRestoreMenu/methods/Server.tsx
9207
- import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
9090
+ import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
9208
9091
  import dayjs from "dayjs";
9209
- import { ArrowLeft as ArrowLeft7, Download, Key as Key4, Upload as Upload2 } from "lucide-react";
9210
- import { useEffect as useEffect19 } from "react";
9211
- import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime";
9092
+ import { Download, Key as Key5, Upload as Upload2 } from "lucide-react";
9093
+ import { useEffect as useEffect16 } from "react";
9094
+ import { Fragment as Fragment12, jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime";
9212
9095
  function Server(props) {
9213
9096
  const { isLoading, mode = "restore", serverHandler } = props;
9214
- const qc = useQueryClient7();
9097
+ const qc = useQueryClient6();
9215
9098
  const address = useLumiaPassportSession((st) => st.address);
9216
- const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
9217
- const { usePasskey, error, setUsePasskey, setRestorePassword, setShowPassword, setMethod, setError, setSuccess } = useRestoreStore();
9099
+ const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
9218
9100
  const serverRecoveryStatus = qc.getQueryData([CHECK_BACKUP_QUERY_KEY, address]);
9219
- useEffect19(() => {
9101
+ useEffect16(() => {
9220
9102
  if (mode === "backup" || !serverRecoveryStatus?.created?.encryptionMethod) return;
9221
9103
  setUsePasskey(serverRecoveryStatus.created.encryptionMethod === "passkey");
9222
9104
  }, [mode, serverRecoveryStatus, setUsePasskey]);
9223
9105
  const isEncryptionMethod = mode === "restore" && !!serverRecoveryStatus?.created?.encryptionMethod;
9224
- return /* @__PURE__ */ jsxs34(Fragment11, { children: [
9225
- /* @__PURE__ */ jsxs34("div", { className: cn("flex items-center justify-between", { "px-[var(--l-pass-pd)]": !hasServerVault }), children: [
9226
- /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9227
- !!hasServerVault && /* @__PURE__ */ jsx41(
9228
- Button,
9229
- {
9230
- variant: "ghost",
9231
- size: "icon",
9232
- title: "Back",
9233
- onClick: () => {
9234
- setShowPassword(false);
9235
- setUsePasskey(false);
9236
- setRestorePassword("");
9237
- setUsePasskey(false);
9238
- setError(null);
9239
- setSuccess(null);
9240
- setMethod(null);
9241
- },
9242
- children: /* @__PURE__ */ jsx41(ArrowLeft7, { className: "h-4 w-4" })
9243
- }
9244
- ),
9245
- /* @__PURE__ */ jsx41("span", { className: "text-xl font-semibold", children: mode === "restore" ? "Restore with" : usePasskey ? "Passkey" : "Password" })
9246
- ] }),
9247
- !isEncryptionMethod && /* @__PURE__ */ jsx41(
9248
- Switch,
9249
- {
9250
- name: "password-passkey-toggle",
9251
- labels: { checked: "Password", unchecked: "Passkey" },
9252
- disabled: isLoading,
9253
- checked: !usePasskey,
9254
- onChange: (e) => {
9255
- if (!!error) setError(null);
9256
- if (!!e.target.checked) setRestorePassword("");
9257
- setUsePasskey(!e.target.checked);
9258
- }
9259
- }
9260
- )
9261
- ] }),
9106
+ return /* @__PURE__ */ jsxs34(Fragment12, { children: [
9262
9107
  /* @__PURE__ */ jsx41(
9263
9108
  PasswordPasskey,
9264
9109
  {
@@ -9271,7 +9116,7 @@ function Server(props) {
9271
9116
  }
9272
9117
  ),
9273
9118
  !!serverRecoveryStatus?.created?.at && /* @__PURE__ */ jsxs34(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
9274
- serverRecoveryStatus.created.encryptionMethod === "password" ? /* @__PURE__ */ jsx41(OtpIcon, { className: "w-4 h-4 inline" }) : /* @__PURE__ */ jsx41(Key4, { className: "w-4 h-4 inline" }),
9119
+ serverRecoveryStatus.created.encryptionMethod === "password" ? /* @__PURE__ */ jsx41(OtpIcon, { className: "w-4 h-4 inline" }) : /* @__PURE__ */ jsx41(Key5, { className: "w-4 h-4 inline" }),
9275
9120
  /* @__PURE__ */ jsxs34("span", { className: "text-[10px] flex-1 block", children: [
9276
9121
  /* @__PURE__ */ jsx41("span", { children: `We found a ${serverRecoveryStatus.created.encryptionMethod?.toUpperCase()} Backup` }),
9277
9122
  /* @__PURE__ */ jsx41("br", {}),
@@ -9285,9 +9130,9 @@ function Server(props) {
9285
9130
  }
9286
9131
 
9287
9132
  // src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
9288
- import { useQuery as useQuery7 } from "@tanstack/react-query";
9289
- import { ArrowLeft as ArrowLeft8, CloudDownload, CloudUpload, Loader as Loader7 } from "lucide-react";
9290
- import { useEffect as useEffect20 } from "react";
9133
+ import { useQuery as useQuery6 } from "@tanstack/react-query";
9134
+ import { ArrowLeft as ArrowLeft6, CloudDownload, CloudUpload, Loader as Loader8 } from "lucide-react";
9135
+ import { useEffect as useEffect17 } from "react";
9291
9136
 
9292
9137
  // src/internal/components/ui/select.tsx
9293
9138
  import * as SelectPrimitive from "@radix-ui/react-select";
@@ -9415,7 +9260,7 @@ function SelectScrollDownButton({
9415
9260
  }
9416
9261
 
9417
9262
  // src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
9418
- import { Fragment as Fragment12, jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
9263
+ import { Fragment as Fragment13, jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
9419
9264
  function Cloud2(props) {
9420
9265
  const { isLoading, mode = "restore", cloudHandler } = props;
9421
9266
  const session = useLumiaPassportSession((st) => st.session);
@@ -9425,7 +9270,7 @@ function Cloud2(props) {
9425
9270
  data: cloudProviders = [],
9426
9271
  isLoading: isCloudProvidersLoading,
9427
9272
  error: cloudProvidersError
9428
- } = useQuery7({
9273
+ } = useQuery6({
9429
9274
  retry: false,
9430
9275
  enabled: !!passportUserId,
9431
9276
  queryKey: [AVAILABLE_CLOUD_PROVIDERS_QUERY_KEY, passportUserId],
@@ -9435,7 +9280,7 @@ function Cloud2(props) {
9435
9280
  return availableProviders.map((p) => ({ id: p.id, name: p.name, available: p.isAvailable() }));
9436
9281
  }
9437
9282
  });
9438
- useEffect20(() => {
9283
+ useEffect17(() => {
9439
9284
  if (isCloudProvidersLoading) return;
9440
9285
  if (!!cloudProvidersError) {
9441
9286
  console.error("[KeyshareBackup] Failed to load cloud providers:", cloudProvidersError);
@@ -9443,7 +9288,7 @@ function Cloud2(props) {
9443
9288
  }
9444
9289
  if (cloudProviders.length > 0 && !selectedCloudProvider) setSelectedCloudProvider(cloudProviders[0].id);
9445
9290
  }, [cloudProviders, selectedCloudProvider, cloudProvidersError, isCloudProvidersLoading]);
9446
- return /* @__PURE__ */ jsxs36(Fragment12, { children: [
9291
+ return /* @__PURE__ */ jsxs36(Fragment13, { children: [
9447
9292
  /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9448
9293
  /* @__PURE__ */ jsx43(
9449
9294
  Button,
@@ -9457,12 +9302,12 @@ function Cloud2(props) {
9457
9302
  setSelectedCloudProvider(null);
9458
9303
  setMethod(null);
9459
9304
  },
9460
- children: /* @__PURE__ */ jsx43(ArrowLeft8, { className: "h-4 w-4" })
9305
+ children: /* @__PURE__ */ jsx43(ArrowLeft6, { className: "h-4 w-4" })
9461
9306
  }
9462
9307
  ),
9463
9308
  /* @__PURE__ */ jsx43("span", { className: "text-lg font-semibold", children: `${mode === "restore" ? "Restore" : "Create"} Cloud Backup` })
9464
9309
  ] }),
9465
- isCloudProvidersLoading && /* @__PURE__ */ jsx43(Loader7, { className: "animate-spin w-4 h-4 mx-auto" }),
9310
+ isCloudProvidersLoading && /* @__PURE__ */ jsx43(Loader8, { className: "animate-spin w-4 h-4 mx-auto" }),
9466
9311
  /* @__PURE__ */ jsx43("span", { className: "block text-[10px] text-[var(--l-pass-fg-muted)]", children: "1. Select Cloud Backup Vault" }),
9467
9312
  /* @__PURE__ */ jsxs36(
9468
9313
  Select,
@@ -9501,30 +9346,21 @@ function Cloud2(props) {
9501
9346
  }
9502
9347
 
9503
9348
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
9504
- import { Fragment as Fragment13, jsx as jsx44, jsxs as jsxs37 } from "react/jsx-runtime";
9349
+ import { Fragment as Fragment14, jsx as jsx44, jsxs as jsxs37 } from "react/jsx-runtime";
9505
9350
  var RESTORE_COMPONENTS = {
9506
9351
  server: Server,
9507
9352
  cloud: Cloud2,
9508
9353
  file: File2
9509
9354
  };
9510
9355
  var KeyshareRestoreMenu = () => {
9511
- const qc = useQueryClient8();
9356
+ const qc = useQueryClient7();
9512
9357
  const callbacks = useLumiaPassportConfig().callbacks;
9513
9358
  const { address, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
9514
- const { data: serverRecoveryStatus, isLoading: isBackupStatusLoading } = useQuery8({
9515
- retry: false,
9516
- queryKey: [CHECK_BACKUP_QUERY_KEY, address],
9517
- queryFn: async () => await getShareRecoveryStats()
9518
- });
9519
9359
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
9520
9360
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
9521
9361
  const setPage = useLayoutDataStore((st) => st.setPage);
9522
- useEffect21(() => setIsDialogForced(true), []);
9523
- useCheckBackupAvailability();
9524
9362
  const {
9525
9363
  method: currentRestoreMethod,
9526
- checkingBackup,
9527
- hasServerBackup,
9528
9364
  error,
9529
9365
  success,
9530
9366
  setError,
@@ -9535,6 +9371,16 @@ var KeyshareRestoreMenu = () => {
9535
9371
  setSuccess,
9536
9372
  setMethod
9537
9373
  } = useRestoreStore();
9374
+ useEffect18(() => {
9375
+ setIsDialogForced(true);
9376
+ return () => {
9377
+ setRestoreFile(null);
9378
+ setShowPassword(false);
9379
+ setUsePasskey(false);
9380
+ setMethod(null);
9381
+ setIsDialogForced(false);
9382
+ };
9383
+ }, []);
9538
9384
  const {
9539
9385
  restoreFromServer: restoreFromServer2,
9540
9386
  isRestoringFromServer,
@@ -9543,7 +9389,16 @@ var KeyshareRestoreMenu = () => {
9543
9389
  restoreFromCloud,
9544
9390
  isRestoringFromCloud
9545
9391
  } = useRestoreAccount();
9546
- const { mutate: disconnect, isPending: isDisconnecting } = useMutation10({
9392
+ const { data: serverRecoveryStatus, isLoading: isBackupStatusLoading } = useQuery7({
9393
+ retry: false,
9394
+ queryKey: [CHECK_BACKUP_QUERY_KEY, address],
9395
+ queryFn: async () => await getShareRecoveryStats()
9396
+ });
9397
+ const hasServerBackup = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
9398
+ useEffect18(() => {
9399
+ if (!!hasServerBackup) setMethod("server");
9400
+ }, [hasServerBackup]);
9401
+ const { mutate: disconnect, isPending: isDisconnecting } = useMutation9({
9547
9402
  mutationFn: async () => {
9548
9403
  setError(null);
9549
9404
  setMethod(null);
@@ -9574,29 +9429,47 @@ var KeyshareRestoreMenu = () => {
9574
9429
  }
9575
9430
  });
9576
9431
  const RestoreComponent = currentRestoreMethod ? RESTORE_COMPONENTS[currentRestoreMethod] : null;
9577
- const isBackupChecking = checkingBackup || isBackupStatusLoading;
9578
9432
  return /* @__PURE__ */ jsx44(
9579
9433
  "div",
9580
9434
  {
9581
9435
  style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
9582
9436
  className: "list-scrollbar-y w-full",
9583
9437
  children: /* @__PURE__ */ jsxs37(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9584
- isBackupChecking && /* @__PURE__ */ jsxs37("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
9585
- /* @__PURE__ */ jsx44(Loader8, { className: "w-5 h-5 animate-spin" }),
9586
- /* @__PURE__ */ jsx44("span", { className: "block w-full text-xs leading-4", children: "Checking for backups..." }),
9587
- /* @__PURE__ */ jsx44("span", { className: "block w-full text-xs leading-4", children: "Please wait while we check for available backups..." })
9438
+ isBackupStatusLoading && /* @__PURE__ */ jsxs37("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
9439
+ /* @__PURE__ */ jsx44(Loader9, { className: "w-5 h-5 animate-spin" }),
9440
+ /* @__PURE__ */ jsx44("span", { className: "block w-full text-xs leading-4", children: "Checking for backups..." })
9588
9441
  ] }),
9589
- !success && !isBackupChecking && !isDisconnecting && !hasServerBackup && /* @__PURE__ */ jsx44(
9442
+ !success && !isBackupStatusLoading && !isDisconnecting && !hasServerBackup && /* @__PURE__ */ jsx44(
9590
9443
  NoBackupFound,
9591
9444
  {
9592
9445
  isLoading: isRestoringFromServer || isRestoringFromCloud || isRestoringFromFile || isDisconnecting,
9593
9446
  restoreFromFile
9594
9447
  }
9595
9448
  ),
9596
- !success && !isBackupChecking && !isDisconnecting && hasServerBackup && /* @__PURE__ */ jsxs37(Fragment13, { children: [
9597
- /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] py-[var(--l-pass-gap)]", children: [
9598
- /* @__PURE__ */ jsx44(CloudDownload2, { className: "w-6 h-6" }),
9599
- /* @__PURE__ */ jsx44("span", { className: "font-bold text-xl leading-6", children: "Restore Account" })
9449
+ !success && !isBackupStatusLoading && !isDisconnecting && hasServerBackup && /* @__PURE__ */ jsxs37(Fragment14, { children: [
9450
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9451
+ /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9452
+ /* @__PURE__ */ jsx44(CloudDownload2, { className: "w-6 h-6" }),
9453
+ /* @__PURE__ */ jsx44("span", { className: "font-bold text-xl leading-6", children: "Restore Account" })
9454
+ ] }),
9455
+ /* @__PURE__ */ jsx44(
9456
+ Switch,
9457
+ {
9458
+ name: "advanced-restore-flow-toggle",
9459
+ labels: { checked: "Standard", unchecked: "Advanced" },
9460
+ checked: currentRestoreMethod !== "server",
9461
+ onChange: () => {
9462
+ if (!!error) setError(null);
9463
+ if (currentRestoreMethod === "server") {
9464
+ setRestorePassword("");
9465
+ setMethod(null);
9466
+ } else {
9467
+ setRestoreFile(null);
9468
+ setMethod("server");
9469
+ }
9470
+ }
9471
+ }
9472
+ )
9600
9473
  ] }),
9601
9474
  /* @__PURE__ */ jsx44(MethodSelector, { mode: "restore", serverRecoveryStatus }),
9602
9475
  !!currentRestoreMethod && /* @__PURE__ */ jsx44(
@@ -9609,32 +9482,29 @@ var KeyshareRestoreMenu = () => {
9609
9482
  }
9610
9483
  )
9611
9484
  ] }),
9612
- !success && !currentRestoreMethod && !isBackupChecking && /* @__PURE__ */ jsxs37(Fragment13, { children: [
9613
- /* @__PURE__ */ jsx44("div", { className: "w-full mt-[var(--l-pass-gap)]", style: { borderTop: "1px solid var(--l-pass-bd)" } }),
9614
- /* @__PURE__ */ jsxs37(
9615
- Button,
9616
- {
9617
- size: "large",
9618
- variant: "ghost",
9619
- onClick: () => {
9620
- setError(null);
9621
- setShowPassword(false);
9622
- setUsePasskey(false);
9623
- setRestoreFile(null);
9624
- setRestorePassword("");
9625
- setSuccess(null);
9626
- setMethod(null);
9627
- disconnect();
9628
- },
9629
- disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
9630
- className: "w-fit mx-auto",
9631
- children: [
9632
- isDisconnecting ? /* @__PURE__ */ jsx44(Loader8, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx44(UserCircle2, { className: "w-4 h-4" }),
9633
- /* @__PURE__ */ jsx44("span", { children: "Try Another Account" })
9634
- ]
9635
- }
9636
- )
9637
- ] }),
9485
+ !success && !isBackupStatusLoading && /* @__PURE__ */ jsxs37(
9486
+ Button,
9487
+ {
9488
+ size: "large",
9489
+ variant: "ghost",
9490
+ onClick: () => {
9491
+ setError(null);
9492
+ setShowPassword(false);
9493
+ setUsePasskey(false);
9494
+ setRestoreFile(null);
9495
+ setRestorePassword("");
9496
+ setSuccess(null);
9497
+ setMethod(null);
9498
+ disconnect();
9499
+ },
9500
+ disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
9501
+ className: "w-fit mx-auto",
9502
+ children: [
9503
+ isDisconnecting ? /* @__PURE__ */ jsx44(Loader9, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx44(UserCircle2, { className: "w-4 h-4" }),
9504
+ /* @__PURE__ */ jsx44("span", { children: "Try Another Account" })
9505
+ ]
9506
+ }
9507
+ ),
9638
9508
  error && /* @__PURE__ */ jsxs37(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
9639
9509
  /* @__PURE__ */ jsx44(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
9640
9510
  /* @__PURE__ */ jsx44("span", { className: "w-full flex-1 block", children: error })
@@ -9649,11 +9519,11 @@ var KeyshareRestoreMenu = () => {
9649
9519
  };
9650
9520
 
9651
9521
  // src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
9652
- import { useQuery as useQuery9 } from "@tanstack/react-query";
9653
- import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft9, CheckCircle2 as CheckCircle22, LockIcon } from "lucide-react";
9654
- import { useEffect as useEffect22 } from "react";
9522
+ import { useQuery as useQuery8 } from "@tanstack/react-query";
9523
+ import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft7, CheckCircle2 as CheckCircle22, Loader as Loader10, LockIcon } from "lucide-react";
9524
+ import { useEffect as useEffect19 } from "react";
9655
9525
  init_vaultClient();
9656
- import { Fragment as Fragment14, jsx as jsx45, jsxs as jsxs38 } from "react/jsx-runtime";
9526
+ import { Fragment as Fragment15, jsx as jsx45, jsxs as jsxs38 } from "react/jsx-runtime";
9657
9527
  var COMPONENTS = {
9658
9528
  server: Server,
9659
9529
  file: File2,
@@ -9661,7 +9531,6 @@ var COMPONENTS = {
9661
9531
  };
9662
9532
  function KeyshareBackupMenu() {
9663
9533
  const address = useLumiaPassportSession((st) => st.address);
9664
- const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
9665
9534
  const setPage = useLayoutDataStore((st) => st.setPage);
9666
9535
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
9667
9536
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
@@ -9678,18 +9547,21 @@ function KeyshareBackupMenu() {
9678
9547
  setUsePasskey,
9679
9548
  setMethod
9680
9549
  } = useRestoreStore();
9681
- useEffect22(() => {
9550
+ useEffect19(() => {
9682
9551
  setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT);
9683
9552
  return () => {
9684
9553
  setMethod(null);
9685
9554
  };
9686
9555
  }, []);
9687
- const { data: serverRecoveryStatus } = useQuery9({
9556
+ const { data: serverRecoveryStatus, isLoading: isRecoveryLoading } = useQuery8({
9688
9557
  retry: false,
9689
9558
  queryKey: [CHECK_BACKUP_QUERY_KEY, address],
9690
9559
  queryFn: async () => await getShareRecoveryStats()
9691
9560
  });
9692
- const { hasRecoveryData, isRecoveryLoading } = useCheckBackupAvailability();
9561
+ const hasRecoveryData = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
9562
+ useEffect19(() => {
9563
+ if (!!hasRecoveryData) setMethod("server");
9564
+ }, [hasRecoveryData]);
9693
9565
  const {
9694
9566
  isPasswordBackupCreating,
9695
9567
  createPasswordBackup,
@@ -9705,35 +9577,56 @@ function KeyshareBackupMenu() {
9705
9577
  style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
9706
9578
  className: "list-scrollbar-y w-full",
9707
9579
  children: /* @__PURE__ */ jsxs38(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
9708
- !hasServerVault && /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
9580
+ !!isRecoveryLoading && /* @__PURE__ */ jsx45("div", { className: "w-full flex items-center justify-center p-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsx45(Loader10, { className: "h-5 w-5 animate-spin" }) }),
9581
+ !isRecoveryLoading && !hasRecoveryData && /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2 px-5 py-[var(--l-pass-pd)]", children: [
9709
9582
  /* @__PURE__ */ jsx45(LockIcon, { className: "w-6 h-6" }),
9710
9583
  /* @__PURE__ */ jsx45("span", { className: "font-bold text-xl leading-6", children: "Secure Account" })
9711
9584
  ] }),
9712
- !!hasServerVault && !currentBackupMethod && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9585
+ !isRecoveryLoading && !!hasRecoveryData && /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
9586
+ /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9587
+ /* @__PURE__ */ jsx45(
9588
+ Button,
9589
+ {
9590
+ variant: "ghost",
9591
+ size: "icon",
9592
+ title: "Back",
9593
+ onClick: () => {
9594
+ setRestorePassword("");
9595
+ setRestoreFile(null);
9596
+ setShowPassword(false);
9597
+ setSelectedCloudProvider(null);
9598
+ setUsePasskey(false);
9599
+ setError(null);
9600
+ setSuccess(null);
9601
+ setMethod(null);
9602
+ setPage("settings" /* SETTINGS */);
9603
+ },
9604
+ children: /* @__PURE__ */ jsx45(ArrowLeft7, { className: "h-4 w-4" })
9605
+ }
9606
+ ),
9607
+ /* @__PURE__ */ jsx45("span", { className: "text-xl font-semibold leading-8", children: "Create Backup" })
9608
+ ] }),
9713
9609
  /* @__PURE__ */ jsx45(
9714
- Button,
9610
+ Switch,
9715
9611
  {
9716
- variant: "ghost",
9717
- size: "icon",
9718
- title: "Back",
9719
- onClick: () => {
9720
- setRestorePassword("");
9721
- setRestoreFile(null);
9722
- setShowPassword(false);
9723
- setSelectedCloudProvider(null);
9724
- setUsePasskey(false);
9725
- setError(null);
9726
- setSuccess(null);
9727
- setMethod(null);
9728
- setPage("settings" /* SETTINGS */);
9729
- },
9730
- children: /* @__PURE__ */ jsx45(ArrowLeft9, { className: "h-4 w-4" })
9612
+ name: "advanced-restore-flow-toggle",
9613
+ labels: { checked: "Standard", unchecked: "Advanced" },
9614
+ checked: currentBackupMethod !== "server",
9615
+ onChange: () => {
9616
+ if (!!error) setError(null);
9617
+ if (currentBackupMethod === "server") {
9618
+ setRestorePassword("");
9619
+ setMethod(null);
9620
+ } else {
9621
+ setRestoreFile(null);
9622
+ setMethod("server");
9623
+ }
9624
+ }
9731
9625
  }
9732
- ),
9733
- /* @__PURE__ */ jsx45("span", { className: "text-xl font-semibold leading-8", children: "Create Backup" })
9626
+ )
9734
9627
  ] }),
9735
- !!hasServerVault && !currentBackupMethod && /* @__PURE__ */ jsx45(MethodSelector, { mode: "backup", serverRecoveryStatus }),
9736
- !!currentBackupMethod && /* @__PURE__ */ jsx45(Fragment14, { children: /* @__PURE__ */ jsx45(
9628
+ !isRecoveryLoading && !!hasRecoveryData && /* @__PURE__ */ jsx45(MethodSelector, { mode: "backup", serverRecoveryStatus }),
9629
+ !isRecoveryLoading && !!currentBackupMethod && /* @__PURE__ */ jsx45(Fragment15, { children: /* @__PURE__ */ jsx45(
9737
9630
  BackupComponent,
9738
9631
  {
9739
9632
  mode: "backup",
@@ -9745,13 +9638,7 @@ function KeyshareBackupMenu() {
9745
9638
  ) }),
9746
9639
  !isRecoveryLoading && !currentBackupMethod && !hasRecoveryData && /* @__PURE__ */ jsxs38(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
9747
9640
  /* @__PURE__ */ jsx45(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
9748
- /* @__PURE__ */ jsxs38("span", { className: "block flex-1", children: [
9749
- /* @__PURE__ */ jsx45("span", { className: "font-semibold", children: "No Backup Found" }),
9750
- /* @__PURE__ */ jsx45("br", {}),
9751
- /* @__PURE__ */ jsx45("span", { className: "text-[10px]", children: "Create a backup to restore access if you switch devices or clear your browser." }),
9752
- /* @__PURE__ */ jsx45("br", {}),
9753
- /* @__PURE__ */ jsx45("span", { className: "text-[10px]", children: "You can ignore this if you already have a backup or don't want to use Keyshare Vault." })
9754
- ] })
9641
+ /* @__PURE__ */ jsx45("span", { className: "block flex-1 font-semibold", children: "No Backup Found" })
9755
9642
  ] }),
9756
9643
  error && /* @__PURE__ */ jsxs38(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
9757
9644
  /* @__PURE__ */ jsx45(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
@@ -9768,16 +9655,16 @@ function KeyshareBackupMenu() {
9768
9655
 
9769
9656
  // src/internal/components/MainMenu/MainMenu.tsx
9770
9657
  import { ChevronLeft, ChevronRight as ChevronRight3, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
9771
- import { useEffect as useEffect23 } from "react";
9658
+ import { useEffect as useEffect20 } from "react";
9772
9659
 
9773
9660
  // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9774
9661
  init_common();
9775
- import { useQuery as useQuery10 } from "@tanstack/react-query";
9662
+ import { useQuery as useQuery9 } from "@tanstack/react-query";
9776
9663
  var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
9777
9664
  function useProvidersList() {
9778
9665
  const address = useLumiaPassportSession((st) => st.address);
9779
9666
  const page = useLayoutDataStore((st) => st.page);
9780
- return useQuery10({
9667
+ return useQuery9({
9781
9668
  retry: false,
9782
9669
  // hook is invoked on multiple pages to preload cache
9783
9670
  enabled: !!address && (page === "manage-wallet" /* MANAGE_WALLET */ || page === "settings" /* SETTINGS */ || page === "main-menu" /* MAIN_MENU */),
@@ -9798,7 +9685,7 @@ function MainMenu() {
9798
9685
  const address = useLumiaPassportSession((st) => st.address);
9799
9686
  const setPage = useLayoutDataStore((st) => st.setPage);
9800
9687
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
9801
- useEffect23(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
9688
+ useEffect20(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
9802
9689
  useProvidersList();
9803
9690
  return /* @__PURE__ */ jsx46("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: /* @__PURE__ */ jsx46("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--l-pass-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon2 }) => /* @__PURE__ */ jsxs39(
9804
9691
  Button,
@@ -9819,11 +9706,11 @@ function MainMenu() {
9819
9706
 
9820
9707
  // src/internal/components/ManageWalletMenu/ManageWallet.tsx
9821
9708
  import { fromPairs } from "lodash-es";
9822
- import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft10, Loader as Loader10 } from "lucide-react";
9709
+ import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft8, Loader as Loader12 } from "lucide-react";
9823
9710
  import { useMemo as useMemo3 } from "react";
9824
9711
 
9825
9712
  // src/modules/linkedProfiles.ts
9826
- import { useQuery as useQuery11, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
9713
+ import { useQuery as useQuery10, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
9827
9714
  import { useCallback as useCallback10 } from "react";
9828
9715
  init_auth();
9829
9716
  init_common();
@@ -9844,13 +9731,13 @@ async function getLinkProfilesData() {
9844
9731
  return { profiles: loadedProfiles, avatar };
9845
9732
  }
9846
9733
  function useLumiaPassportLinkedProfiles() {
9847
- const qc = useQueryClient9();
9734
+ const qc = useQueryClient8();
9848
9735
  const address = useLumiaPassportSession((st) => st.address);
9849
9736
  const {
9850
9737
  data,
9851
9738
  isFetching: isLoading,
9852
9739
  error
9853
- } = useQuery11({
9740
+ } = useQuery10({
9854
9741
  retry: false,
9855
9742
  enabled: !!address,
9856
9743
  queryKey: [LINKED_PROFILES_QUERY_KEY, address],
@@ -9864,14 +9751,14 @@ function useLumiaPassportLinkedProfiles() {
9864
9751
  }
9865
9752
 
9866
9753
  // src/internal/components/ManageWalletMenu/AddProvider.tsx
9867
- import { useQueryClient as useQueryClient11 } from "@tanstack/react-query";
9754
+ import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
9868
9755
  init_passkey2();
9869
9756
 
9870
9757
  // src/internal/components/ManageWalletMenu/EmailForm.tsx
9871
9758
  init_lumiaPassport();
9872
9759
  init_projectId();
9873
- import { useMutation as useMutation11 } from "@tanstack/react-query";
9874
- import { ChevronRight as ChevronRight4, Loader as Loader9, Mail as Mail4 } from "lucide-react";
9760
+ import { useMutation as useMutation10 } from "@tanstack/react-query";
9761
+ import { ChevronRight as ChevronRight4, Loader as Loader11, Mail as Mail4 } from "lucide-react";
9875
9762
 
9876
9763
  // src/internal/components/ManageWalletMenu/hooks/useStore.ts
9877
9764
  import { create as create5 } from "zustand";
@@ -9904,7 +9791,7 @@ function EmailForm() {
9904
9791
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
9905
9792
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
9906
9793
  const { email, setEmail, setAlert, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
9907
- const { mutate: onSendVerificationCode } = useMutation11({
9794
+ const { mutate: onSendVerificationCode } = useMutation10({
9908
9795
  mutationFn: async () => {
9909
9796
  if (!email) return;
9910
9797
  setIsLoading(true);
@@ -9984,7 +9871,7 @@ function EmailForm() {
9984
9871
  size: "large",
9985
9872
  disabled: !email || isLoading,
9986
9873
  onClick: () => onSendVerificationCode(),
9987
- children: isLoading ? /* @__PURE__ */ jsx47(Loader9, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx47(ChevronRight4, { className: "w-4 h-4" })
9874
+ children: isLoading ? /* @__PURE__ */ jsx47(Loader11, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx47(ChevronRight4, { className: "w-4 h-4" })
9988
9875
  }
9989
9876
  )
9990
9877
  ] });
@@ -9992,12 +9879,12 @@ function EmailForm() {
9992
9879
 
9993
9880
  // src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
9994
9881
  init_email();
9995
- import { useMutation as useMutation12 } from "@tanstack/react-query";
9882
+ import { useMutation as useMutation11 } from "@tanstack/react-query";
9996
9883
  function useSendVerificationCode() {
9997
9884
  const setAlert = useManageWalletStore((st) => st.setAlert);
9998
9885
  const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
9999
9886
  const setEmailCodeExpiresIn = useManageWalletStore((st) => st.setEmailCodeExpiresIn);
10000
- return useMutation12({
9887
+ return useMutation11({
10001
9888
  mutationFn: async (email) => {
10002
9889
  if (!email) {
10003
9890
  throw new Error("Email is required");
@@ -10020,15 +9907,15 @@ function useSendVerificationCode() {
10020
9907
  }
10021
9908
 
10022
9909
  // src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
10023
- import { useMutation as useMutation13, useQueryClient as useQueryClient10 } from "@tanstack/react-query";
9910
+ import { useMutation as useMutation12, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
10024
9911
  init_email();
10025
9912
  function useVerifyCode() {
10026
9913
  const { callbacks } = useLumiaPassportConfig();
10027
- const qc = useQueryClient10();
9914
+ const qc = useQueryClient9();
10028
9915
  const address = useLumiaPassportSession((st) => st.address);
10029
9916
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
10030
9917
  const { email, emailCode, setEmail, setEmailStep, setEmailCode, setProviderType, setLinkIsLoading, setAlert } = useManageWalletStore();
10031
- return useMutation13({
9918
+ return useMutation12({
10032
9919
  mutationFn: async (codeToVerify) => {
10033
9920
  const code = codeToVerify ?? emailCode;
10034
9921
  if (!code) {
@@ -10064,7 +9951,7 @@ function useVerifyCode() {
10064
9951
  }
10065
9952
 
10066
9953
  // src/internal/components/ManageWalletMenu/AddProvider.tsx
10067
- import { Fragment as Fragment15, jsx as jsx48, jsxs as jsxs41 } from "react/jsx-runtime";
9954
+ import { Fragment as Fragment16, jsx as jsx48, jsxs as jsxs41 } from "react/jsx-runtime";
10068
9955
  function normalizePasskeyLinkError(msg) {
10069
9956
  const lower = msg.toLowerCase();
10070
9957
  if (lower.includes("already registered") || lower.includes("credential") && lower.includes("exists")) {
@@ -10076,7 +9963,7 @@ function normalizePasskeyLinkError(msg) {
10076
9963
  return msg;
10077
9964
  }
10078
9965
  function AddProvider() {
10079
- const qc = useQueryClient11();
9966
+ const qc = useQueryClient10();
10080
9967
  const callbacks = useLumiaPassportConfig().callbacks;
10081
9968
  const address = useLumiaPassportSession((st) => st.address);
10082
9969
  const {
@@ -10094,7 +9981,7 @@ function AddProvider() {
10094
9981
  const { mutate: onVerifyCode, isPending: isCodeVerifying } = useVerifyCode();
10095
9982
  const isLoading = linkIsLoading || isCodeSending || isCodeVerifying;
10096
9983
  if (!providerType) return null;
10097
- return /* @__PURE__ */ jsxs41(Fragment15, { children: [
9984
+ return /* @__PURE__ */ jsxs41(Fragment16, { children: [
10098
9985
  providerType === "email" && emailStep === "input" && /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10099
9986
  /* @__PURE__ */ jsx48("div", { className: "w-full flex flex-col gap-1 text-center", children: /* @__PURE__ */ jsx48("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Provide Email to connect" }) }),
10100
9987
  /* @__PURE__ */ jsx48(EmailForm, {})
@@ -10236,11 +10123,11 @@ function EmailNotConnectedWarning() {
10236
10123
  }
10237
10124
 
10238
10125
  // src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
10239
- import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
10240
- import React5, { useEffect as useEffect24 } from "react";
10126
+ import { useQueryClient as useQueryClient11 } from "@tanstack/react-query";
10127
+ import React5, { useEffect as useEffect21 } from "react";
10241
10128
  init_auth();
10242
10129
  function useLinkSocial() {
10243
- const qc = useQueryClient12();
10130
+ const qc = useQueryClient11();
10244
10131
  const address = useLumiaPassportSession((st) => st.address);
10245
10132
  const {
10246
10133
  config: { current: config },
@@ -10302,7 +10189,7 @@ function useLinkSocial() {
10302
10189
  [config.social?.providers, callbacks]
10303
10190
  );
10304
10191
  const [socialLinkStarted, setSocialLinkStarted] = React5.useState(false);
10305
- useEffect24(() => {
10192
+ useEffect21(() => {
10306
10193
  const key = providerType?.toLowerCase();
10307
10194
  console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
10308
10195
  if (isWalletLinking) {
@@ -10323,14 +10210,14 @@ function useLinkSocial() {
10323
10210
 
10324
10211
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
10325
10212
  init_telegram2();
10326
- import { useQueryClient as useQueryClient13 } from "@tanstack/react-query";
10327
- import { useCallback as useCallback11, useEffect as useEffect25, useState as useState10 } from "react";
10213
+ import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
10214
+ import { useCallback as useCallback11, useEffect as useEffect22, useState as useState10 } from "react";
10328
10215
  function useLinkTelegram() {
10329
10216
  const {
10330
10217
  config: { current: config },
10331
10218
  callbacks
10332
10219
  } = useLumiaPassportConfig();
10333
- const qc = useQueryClient13();
10220
+ const qc = useQueryClient12();
10334
10221
  const address = useLumiaPassportSession((st) => st.address);
10335
10222
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
10336
10223
  const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setAlert } = useManageWalletStore();
@@ -10378,7 +10265,7 @@ function useLinkTelegram() {
10378
10265
  }
10379
10266
  }, [config.social?.providers, callbacks]);
10380
10267
  const [telegramLinkStarted, setTelegramLinkStarted] = useState10(false);
10381
- useEffect25(() => {
10268
+ useEffect22(() => {
10382
10269
  console.log("[useLinkTelegram] Effect triggered:", {
10383
10270
  providerType,
10384
10271
  linkIsLoading,
@@ -10395,7 +10282,7 @@ function useLinkTelegram() {
10395
10282
  handleLinkTelegram();
10396
10283
  }
10397
10284
  }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
10398
- useEffect25(() => {
10285
+ useEffect22(() => {
10399
10286
  if (providerType !== "telegram") {
10400
10287
  setTelegramLinkStarted(false);
10401
10288
  }
@@ -10456,7 +10343,7 @@ function ProviderCard(props) {
10456
10343
  }
10457
10344
 
10458
10345
  // src/internal/components/ManageWalletMenu/ManageWallet.tsx
10459
- import { Fragment as Fragment16, jsx as jsx51, jsxs as jsxs44 } from "react/jsx-runtime";
10346
+ import { Fragment as Fragment17, jsx as jsx51, jsxs as jsxs44 } from "react/jsx-runtime";
10460
10347
  var POSSIBLE_PROVIDERS = [
10461
10348
  "email",
10462
10349
  // 'google',
@@ -10597,19 +10484,19 @@ function ManageWalletMenu() {
10597
10484
  if (!providerType) setPage("settings" /* SETTINGS */);
10598
10485
  setProviderType(null);
10599
10486
  },
10600
- children: /* @__PURE__ */ jsx51(ArrowLeft10, { className: "h-4 w-4" })
10487
+ children: /* @__PURE__ */ jsx51(ArrowLeft8, { className: "h-4 w-4" })
10601
10488
  }
10602
10489
  ),
10603
10490
  /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Profiles" })
10604
10491
  ] }),
10605
- isProvidersLoading && /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx51(Loader10, { className: "w-5 h-5 animate-spin" }) }),
10492
+ isProvidersLoading && /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx51(Loader12, { className: "w-5 h-5 animate-spin" }) }),
10606
10493
  /* @__PURE__ */ jsx51(EmailNotConnectedWarning, {}),
10607
10494
  showCurrentProviders && renderProviders.map((node) => node),
10608
10495
  showExtraProvidersUi && /* @__PURE__ */ jsx51(AddProvider, {}),
10609
10496
  combinedAlertMessage && /* @__PURE__ */ jsxs44(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
10610
10497
  /* @__PURE__ */ jsx51(AlertTriangle3, { className: "w-4 h-4 shrink-0" }),
10611
10498
  /* @__PURE__ */ jsxs44("span", { className: "break-words whitespace-pre-wrap", children: [
10612
- alert2?.title && /* @__PURE__ */ jsxs44(Fragment16, { children: [
10499
+ alert2?.title && /* @__PURE__ */ jsxs44(Fragment17, { children: [
10613
10500
  /* @__PURE__ */ jsx51("strong", { children: alert2.title }),
10614
10501
  /* @__PURE__ */ jsx51("br", {})
10615
10502
  ] }),
@@ -10622,19 +10509,19 @@ function ManageWalletMenu() {
10622
10509
  }
10623
10510
 
10624
10511
  // src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
10625
- import { useMutation as useMutation14, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
10626
- import { Key as Key5, Loader as Loader11 } from "lucide-react";
10512
+ import { useMutation as useMutation13, useQueryClient as useQueryClient13 } from "@tanstack/react-query";
10513
+ import { Key as Key6, Loader as Loader13 } from "lucide-react";
10627
10514
  import { useState as useState11 } from "react";
10628
10515
  init_auth();
10629
10516
  import { jsx as jsx52, jsxs as jsxs45 } from "react/jsx-runtime";
10630
10517
  function UnlinkProviderMenu() {
10631
- const qc = useQueryClient14();
10518
+ const qc = useQueryClient13();
10632
10519
  const address = useLumiaPassportSession((st) => st.address);
10633
10520
  const { callbacks } = useLumiaPassportConfig();
10634
10521
  const setPage = useLayoutDataStore((st) => st.setPage);
10635
10522
  const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
10636
10523
  const [confirmInput, setConfirmInput] = useState11("");
10637
- const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation14({
10524
+ const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation13({
10638
10525
  mutationFn: async () => {
10639
10526
  if (!confirmUnlink) {
10640
10527
  throw new Error("No provider to unlink");
@@ -10666,7 +10553,7 @@ function UnlinkProviderMenu() {
10666
10553
  /* @__PURE__ */ jsx52(
10667
10554
  Input,
10668
10555
  {
10669
- Icon: Key5,
10556
+ Icon: Key6,
10670
10557
  value: confirmInput,
10671
10558
  onChange: (e) => setConfirmInput(e.target.value),
10672
10559
  placeholder: "Enter provider ID"
@@ -10697,7 +10584,7 @@ function UnlinkProviderMenu() {
10697
10584
  disabled: !!isProviderUnlinking || !confirmUnlink || confirmInput !== confirmUnlink.externalId,
10698
10585
  className: "w-full flex-1",
10699
10586
  children: [
10700
- isProviderUnlinking && /* @__PURE__ */ jsx52(Loader11, { className: "animate-spin h-4 w-4" }),
10587
+ isProviderUnlinking && /* @__PURE__ */ jsx52(Loader13, { className: "animate-spin h-4 w-4" }),
10701
10588
  isProviderUnlinking ? "Removing\u2026" : "Remove"
10702
10589
  ]
10703
10590
  }
@@ -10707,14 +10594,14 @@ function UnlinkProviderMenu() {
10707
10594
  }
10708
10595
 
10709
10596
  // src/internal/components/NicknameSettings/NicknameSettings.tsx
10710
- import { ArrowLeft as ArrowLeft11, AtSign, Loader as Loader14 } from "lucide-react";
10597
+ import { ArrowLeft as ArrowLeft9, Loader as Loader16 } from "lucide-react";
10711
10598
 
10712
10599
  // src/internal/hooks/useNicknameInfo.ts
10713
10600
  init_nickname();
10714
10601
  init_profile();
10715
- import { useQuery as useQuery12 } from "@tanstack/react-query";
10602
+ import { useQuery as useQuery11 } from "@tanstack/react-query";
10716
10603
  function useNicknameInfo(enabled = true) {
10717
- const query = useQuery12({
10604
+ const query = useQuery11({
10718
10605
  queryKey: [QUERY_KEYS.nicknameInfo],
10719
10606
  queryFn: getNicknameInfo,
10720
10607
  enabled,
@@ -10731,82 +10618,17 @@ function useNicknameInfo(enabled = true) {
10731
10618
  };
10732
10619
  }
10733
10620
 
10734
- // src/internal/lib/nickname-cooldown.ts
10735
- function getDaysRemaining(cooldownEndsAt) {
10736
- if (!cooldownEndsAt) return 0;
10737
- const endDate = new Date(cooldownEndsAt);
10738
- const now = /* @__PURE__ */ new Date();
10739
- if (isNaN(endDate.getTime())) return 0;
10740
- if (endDate <= now) return 0;
10741
- const diffMs = endDate.getTime() - now.getTime();
10742
- const diffDays = Math.ceil(diffMs / (1e3 * 60 * 60 * 24));
10743
- return Math.max(0, diffDays);
10744
- }
10745
- function formatCooldownEndDate(cooldownEndsAt) {
10746
- if (!cooldownEndsAt) return "";
10747
- const endDate = new Date(cooldownEndsAt);
10748
- if (isNaN(endDate.getTime())) return "";
10749
- return endDate.toLocaleDateString(void 0, {
10750
- year: "numeric",
10751
- month: "short",
10752
- day: "numeric"
10753
- });
10754
- }
10755
-
10756
- // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
10757
- import { jsx as jsx53, jsxs as jsxs46 } from "react/jsx-runtime";
10758
- function NicknameInfoDisplay({ info }) {
10759
- const daysRemaining = getDaysRemaining(info.cooldownEndsAt);
10760
- const cooldownEndDate = formatCooldownEndDate(info.cooldownEndsAt);
10761
- return /* @__PURE__ */ jsxs46("div", { className: "w-full flex flex-col gap-3", children: [
10762
- /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-1", children: [
10763
- /* @__PURE__ */ jsx53("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Your nickname" }),
10764
- /* @__PURE__ */ jsx53("span", { className: "text-lg font-bold text-[var(--l-pass-fg)]", children: info.displayHandle })
10765
- ] }),
10766
- /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-4 text-xs text-[var(--l-pass-fg-muted)]", children: [
10767
- /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-0.5", children: [
10768
- /* @__PURE__ */ jsx53("span", { children: "Created" }),
10769
- /* @__PURE__ */ jsx53("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.createdAt).toLocaleDateString(void 0, {
10770
- year: "numeric",
10771
- month: "short",
10772
- day: "numeric"
10773
- }) })
10774
- ] }),
10775
- info.changedAt && /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-0.5", children: [
10776
- /* @__PURE__ */ jsx53("span", { children: "Last changed" }),
10777
- /* @__PURE__ */ jsx53("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.changedAt).toLocaleDateString(void 0, {
10778
- year: "numeric",
10779
- month: "short",
10780
- day: "numeric"
10781
- }) })
10782
- ] }),
10783
- /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-0.5", children: [
10784
- /* @__PURE__ */ jsx53("span", { children: "Times changed" }),
10785
- /* @__PURE__ */ jsx53("span", { className: "text-[var(--l-pass-fg)]", children: info.changeCount })
10786
- ] })
10787
- ] }),
10788
- !info.canChange && info.cooldownEndsAt && /* @__PURE__ */ jsx53("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-warning)]", children: /* @__PURE__ */ jsxs46("span", { className: "text-sm text-[var(--l-pass-warning)]", children: [
10789
- "You can change your nickname again on ",
10790
- cooldownEndDate,
10791
- " (",
10792
- daysRemaining,
10793
- " days remaining)"
10794
- ] }) }),
10795
- info.canChange && /* @__PURE__ */ jsx53("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-success)]", children: /* @__PURE__ */ jsx53("span", { className: "text-sm text-[var(--l-pass-success)]", children: "You can change your nickname" }) })
10796
- ] });
10797
- }
10798
-
10799
10621
  // src/internal/components/NicknameSettings/NicknameEditForm.tsx
10800
- import { useState as useState13, useCallback as useCallback13 } from "react";
10801
- import { Loader as Loader13, Check as Check2 } from "lucide-react";
10622
+ import { Check as Check2, Loader as Loader15 } from "lucide-react";
10623
+ import { useCallback as useCallback13, useState as useState13 } from "react";
10802
10624
 
10803
10625
  // src/internal/hooks/useChangeNickname.ts
10804
10626
  init_nickname();
10805
10627
  init_profile();
10806
- import { useMutation as useMutation15, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
10628
+ import { useMutation as useMutation14, useQueryClient as useQueryClient14 } from "@tanstack/react-query";
10807
10629
  function useChangeNickname(options) {
10808
- const queryClient3 = useQueryClient15();
10809
- const mutation = useMutation15({
10630
+ const queryClient3 = useQueryClient14();
10631
+ const mutation = useMutation14({
10810
10632
  mutationFn: (handle) => changeNickname(handle),
10811
10633
  onSuccess: (result) => {
10812
10634
  queryClient3.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
@@ -10843,8 +10665,8 @@ function useChangeNickname(options) {
10843
10665
  // src/internal/hooks/useNicknameAvailability.ts
10844
10666
  init_nickname();
10845
10667
  init_profile();
10846
- import { useQuery as useQuery13 } from "@tanstack/react-query";
10847
- import { useState as useState12, useEffect as useEffect26 } from "react";
10668
+ import { useQuery as useQuery12 } from "@tanstack/react-query";
10669
+ import { useState as useState12, useEffect as useEffect23 } from "react";
10848
10670
 
10849
10671
  // src/internal/lib/nickname-validation.ts
10850
10672
  var NICKNAME_MIN_LENGTH = 3;
@@ -10878,7 +10700,7 @@ function useNicknameAvailability(handle, enabled = true) {
10878
10700
  const normalized = normalizeNickname(handle);
10879
10701
  const validation = validateNickname(handle);
10880
10702
  const isValidForCheck = validation.valid && normalized.length > 0;
10881
- useEffect26(() => {
10703
+ useEffect23(() => {
10882
10704
  if (!isValidForCheck || !enabled) {
10883
10705
  setDebouncedHandle("");
10884
10706
  setIsDebouncing(false);
@@ -10893,7 +10715,7 @@ function useNicknameAvailability(handle, enabled = true) {
10893
10715
  clearTimeout(timer);
10894
10716
  };
10895
10717
  }, [normalized, isValidForCheck, enabled]);
10896
- const query = useQuery13({
10718
+ const query = useQuery12({
10897
10719
  queryKey: QUERY_KEYS.nicknameAvailability(debouncedHandle),
10898
10720
  queryFn: () => checkNicknameAvailability(debouncedHandle),
10899
10721
  enabled: enabled && isValidForCheck && debouncedHandle.length > 0,
@@ -10935,8 +10757,8 @@ function getNicknameErrorMessage(code, params) {
10935
10757
  }
10936
10758
 
10937
10759
  // src/internal/components/NicknameSettings/NicknameAvailabilityIndicator.tsx
10938
- import { Loader as Loader12, Check, X as X2 } from "lucide-react";
10939
- import { jsx as jsx54, jsxs as jsxs47 } from "react/jsx-runtime";
10760
+ import { Loader as Loader14, Check, X as X2 } from "lucide-react";
10761
+ import { jsx as jsx53, jsxs as jsxs46 } from "react/jsx-runtime";
10940
10762
  function NicknameAvailabilityIndicator({
10941
10763
  isChecking,
10942
10764
  availability,
@@ -10946,29 +10768,29 @@ function NicknameAvailabilityIndicator({
10946
10768
  return null;
10947
10769
  }
10948
10770
  if (isChecking) {
10949
- return /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-fg-muted)]", children: [
10950
- /* @__PURE__ */ jsx54(Loader12, { className: "w-3 h-3 animate-spin" }),
10951
- /* @__PURE__ */ jsx54("span", { children: "Checking availability..." })
10771
+ return /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-fg-muted)]", children: [
10772
+ /* @__PURE__ */ jsx53(Loader14, { className: "w-3 h-3 animate-spin" }),
10773
+ /* @__PURE__ */ jsx53("span", { children: "Checking availability..." })
10952
10774
  ] });
10953
10775
  }
10954
10776
  if (!availability) {
10955
10777
  return null;
10956
10778
  }
10957
10779
  if (availability.available) {
10958
- return /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-success)]", children: [
10959
- /* @__PURE__ */ jsx54(Check, { className: "w-3 h-3" }),
10960
- /* @__PURE__ */ jsx54("span", { children: "Nickname is available" })
10780
+ return /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-success)]", children: [
10781
+ /* @__PURE__ */ jsx53(Check, { className: "w-3 h-3" }),
10782
+ /* @__PURE__ */ jsx53("span", { children: "Nickname is available" })
10961
10783
  ] });
10962
10784
  }
10963
10785
  const reason = availability.reason ? getNicknameErrorMessage(availability.reason) : "This nickname is not available";
10964
- return /* @__PURE__ */ jsxs47("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-error)]", children: [
10965
- /* @__PURE__ */ jsx54(X2, { className: "w-3 h-3" }),
10966
- /* @__PURE__ */ jsx54("span", { children: reason })
10786
+ return /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-error)]", children: [
10787
+ /* @__PURE__ */ jsx53(X2, { className: "w-3 h-3" }),
10788
+ /* @__PURE__ */ jsx53("span", { children: reason })
10967
10789
  ] });
10968
10790
  }
10969
10791
 
10970
10792
  // src/internal/components/NicknameSettings/NicknameEditForm.tsx
10971
- import { Fragment as Fragment17, jsx as jsx55, jsxs as jsxs48 } from "react/jsx-runtime";
10793
+ import { Fragment as Fragment18, jsx as jsx54, jsxs as jsxs47 } from "react/jsx-runtime";
10972
10794
  function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
10973
10795
  const [inputValue, setInputValue] = useState13("");
10974
10796
  const [clientError, setClientError] = useState13(null);
@@ -11025,29 +10847,97 @@ function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
11025
10847
  if (!canChange) {
11026
10848
  return null;
11027
10849
  }
11028
- return /* @__PURE__ */ jsxs48("form", { onSubmit: handleSubmit, className: "w-full flex flex-col gap-3", children: [
10850
+ return /* @__PURE__ */ jsxs47("form", { onSubmit: handleSubmit, className: "w-full flex flex-col gap-3", children: [
10851
+ /* @__PURE__ */ jsxs47("div", { className: "flex flex-col gap-1", children: [
10852
+ /* @__PURE__ */ jsx54("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "New nickname" }),
10853
+ /* @__PURE__ */ jsx54(
10854
+ Input,
10855
+ {
10856
+ value: inputValue,
10857
+ onChange: handleInputChange,
10858
+ placeholder: "Enter new nickname",
10859
+ disabled: isLoading,
10860
+ error: displayError || void 0
10861
+ }
10862
+ ),
10863
+ /* @__PURE__ */ jsx54("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx54("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "3-20 characters, letters, numbers, and underscores only" }) }),
10864
+ shouldCheckAvailability && !clientError && /* @__PURE__ */ jsx54(NicknameAvailabilityIndicator, { isChecking, availability })
10865
+ ] }),
10866
+ /* @__PURE__ */ jsx54(Button, { type: "submit", size: "large", disabled: isSubmitDisabled, className: "w-full", children: isLoading ? /* @__PURE__ */ jsxs47(Fragment18, { children: [
10867
+ /* @__PURE__ */ jsx54(Loader15, { className: "w-4 h-4 mr-2 animate-spin" }),
10868
+ "Changing..."
10869
+ ] }) : isSuccess ? /* @__PURE__ */ jsxs47(Fragment18, { children: [
10870
+ /* @__PURE__ */ jsx54(Check2, { className: "w-4 h-4 mr-2" }),
10871
+ "Nickname changed!"
10872
+ ] }) : "Change Nickname" })
10873
+ ] });
10874
+ }
10875
+
10876
+ // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
10877
+ import { Fragment as Fragment19 } from "react";
10878
+
10879
+ // src/internal/lib/nickname-cooldown.ts
10880
+ function getDaysRemaining(cooldownEndsAt) {
10881
+ if (!cooldownEndsAt) return 0;
10882
+ const endDate = new Date(cooldownEndsAt);
10883
+ const now = /* @__PURE__ */ new Date();
10884
+ if (isNaN(endDate.getTime())) return 0;
10885
+ if (endDate <= now) return 0;
10886
+ const diffMs = endDate.getTime() - now.getTime();
10887
+ const diffDays = Math.ceil(diffMs / (1e3 * 60 * 60 * 24));
10888
+ return Math.max(0, diffDays);
10889
+ }
10890
+ function formatCooldownEndDate(cooldownEndsAt) {
10891
+ if (!cooldownEndsAt) return "";
10892
+ const endDate = new Date(cooldownEndsAt);
10893
+ if (isNaN(endDate.getTime())) return "";
10894
+ return endDate.toLocaleDateString(void 0, {
10895
+ year: "numeric",
10896
+ month: "short",
10897
+ day: "numeric"
10898
+ });
10899
+ }
10900
+
10901
+ // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
10902
+ import { jsx as jsx55, jsxs as jsxs48 } from "react/jsx-runtime";
10903
+ function NicknameInfoDisplay({ info }) {
10904
+ const daysRemaining = getDaysRemaining(info.cooldownEndsAt);
10905
+ const cooldownEndDate = formatCooldownEndDate(info.cooldownEndsAt);
10906
+ return /* @__PURE__ */ jsxs48(Fragment19, { children: [
11029
10907
  /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-1", children: [
11030
- /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "New nickname" }),
11031
- /* @__PURE__ */ jsx55(
11032
- Input,
11033
- {
11034
- value: inputValue,
11035
- onChange: handleInputChange,
11036
- placeholder: "Enter new nickname",
11037
- disabled: isLoading,
11038
- error: displayError || void 0
11039
- }
11040
- ),
11041
- /* @__PURE__ */ jsx55("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "3-20 characters, letters, numbers, and underscores only" }) }),
11042
- shouldCheckAvailability && !clientError && /* @__PURE__ */ jsx55(NicknameAvailabilityIndicator, { isChecking, availability })
10908
+ /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Your nickname" }),
10909
+ /* @__PURE__ */ jsx55("span", { className: "text-lg font-bold text-[var(--l-pass-fg)]", children: info.displayHandle })
11043
10910
  ] }),
11044
- /* @__PURE__ */ jsx55(Button, { type: "submit", disabled: isSubmitDisabled, className: "w-full", children: isLoading ? /* @__PURE__ */ jsxs48(Fragment17, { children: [
11045
- /* @__PURE__ */ jsx55(Loader13, { className: "w-4 h-4 mr-2 animate-spin" }),
11046
- "Changing..."
11047
- ] }) : isSuccess ? /* @__PURE__ */ jsxs48(Fragment17, { children: [
11048
- /* @__PURE__ */ jsx55(Check2, { className: "w-4 h-4 mr-2" }),
11049
- "Nickname changed!"
11050
- ] }) : "Change Nickname" })
10911
+ /* @__PURE__ */ jsxs48("div", { className: "flex items-center gap-4 text-xs text-[var(--l-pass-fg-muted)]", children: [
10912
+ /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-0.5", children: [
10913
+ /* @__PURE__ */ jsx55("span", { children: "Created" }),
10914
+ /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.createdAt).toLocaleDateString(void 0, {
10915
+ year: "numeric",
10916
+ month: "short",
10917
+ day: "numeric"
10918
+ }) })
10919
+ ] }),
10920
+ info.changedAt && /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-0.5", children: [
10921
+ /* @__PURE__ */ jsx55("span", { children: "Last changed" }),
10922
+ /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.changedAt).toLocaleDateString(void 0, {
10923
+ year: "numeric",
10924
+ month: "short",
10925
+ day: "numeric"
10926
+ }) })
10927
+ ] }),
10928
+ /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-0.5", children: [
10929
+ /* @__PURE__ */ jsx55("span", { children: "Times changed" }),
10930
+ /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-fg)]", children: info.changeCount })
10931
+ ] })
10932
+ ] }),
10933
+ !info.canChange && info.cooldownEndsAt && /* @__PURE__ */ jsx55("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-warning)]", children: /* @__PURE__ */ jsxs48("span", { className: "text-sm text-[var(--l-pass-warning)]", children: [
10934
+ "You can change your nickname again on ",
10935
+ cooldownEndDate,
10936
+ " (",
10937
+ daysRemaining,
10938
+ " days remaining)"
10939
+ ] }) }),
10940
+ info.canChange && /* @__PURE__ */ jsx55("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-success)]", children: /* @__PURE__ */ jsx55("span", { className: "text-sm text-[var(--l-pass-success)]", children: "You can change your nickname" }) })
11051
10941
  ] });
11052
10942
  }
11053
10943
 
@@ -11055,54 +10945,44 @@ function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
11055
10945
  import { jsx as jsx56, jsxs as jsxs49 } from "react/jsx-runtime";
11056
10946
  function NicknameSettings() {
11057
10947
  const setPage = useLayoutDataStore((st) => st.setPage);
10948
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11058
10949
  const { data: nicknameInfo, isLoading, isError, error, refetch } = useNicknameInfo();
11059
- return /* @__PURE__ */ jsxs49("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
11060
- /* @__PURE__ */ jsxs49("div", { className: "relative flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
11061
- /* @__PURE__ */ jsx56(AtSign, { className: "w-6 h-6" }),
11062
- /* @__PURE__ */ jsx56("span", { className: "font-bold text-xl leading-6", children: "Nickname" }),
11063
- /* @__PURE__ */ jsxs49(
11064
- Button,
11065
- {
11066
- style: { opacity: 0.5, transform: "translate(-4px, -4px)" },
11067
- title: "Back to Settings",
11068
- variant: "ghost",
11069
- size: "icon",
11070
- className: "absolute left-0 top-0 w-5 h-5",
11071
- onClick: () => setPage("settings" /* SETTINGS */),
11072
- children: [
11073
- /* @__PURE__ */ jsx56(ArrowLeft11, { className: "h-4 w-4" }),
11074
- /* @__PURE__ */ jsx56("span", { className: "sr-only", children: "Back to Settings" })
11075
- ]
11076
- }
11077
- )
11078
- ] }),
11079
- isLoading && /* @__PURE__ */ jsxs49("div", { className: "w-full p-8 flex flex-col items-center justify-center gap-2", children: [
11080
- /* @__PURE__ */ jsx56(Loader14, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }),
11081
- /* @__PURE__ */ jsx56("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Loading nickname info..." })
11082
- ] }),
11083
- isError && /* @__PURE__ */ jsx56("div", { className: "w-full p-4 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)]", children: /* @__PURE__ */ jsx56("span", { className: "text-sm text-[var(--l-pass-error)]", children: error?.message || "Failed to load nickname info" }) }),
11084
- nicknameInfo && /* @__PURE__ */ jsx56(NicknameInfoDisplay, { info: nicknameInfo }),
11085
- nicknameInfo && /* @__PURE__ */ jsx56(
11086
- NicknameEditForm,
11087
- {
11088
- currentHandle: nicknameInfo.handle,
11089
- canChange: nicknameInfo.canChange,
11090
- onSuccess: refetch
11091
- }
11092
- )
11093
- ] });
10950
+ return /* @__PURE__ */ jsx56(
10951
+ "div",
10952
+ {
10953
+ style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
10954
+ className: "list-scrollbar-y w-full",
10955
+ children: /* @__PURE__ */ jsxs49(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10956
+ /* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10957
+ /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx56(ArrowLeft9, { className: "h-4 w-4" }) }),
10958
+ /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Nickname" })
10959
+ ] }),
10960
+ isLoading && /* @__PURE__ */ jsx56("div", { className: "w-full p-8 flex items-center justify-center", children: /* @__PURE__ */ jsx56(Loader16, { className: "w-5 h-5 animate-spin" }) }),
10961
+ nicknameInfo && /* @__PURE__ */ jsx56(NicknameInfoDisplay, { info: nicknameInfo }),
10962
+ nicknameInfo && /* @__PURE__ */ jsx56(
10963
+ NicknameEditForm,
10964
+ {
10965
+ currentHandle: nicknameInfo.handle,
10966
+ canChange: nicknameInfo.canChange,
10967
+ onSuccess: refetch
10968
+ }
10969
+ ),
10970
+ isError && /* @__PURE__ */ jsx56(Highlight, { type: "error", children: error?.message || "Failed to load nickname info" })
10971
+ ] })
10972
+ }
10973
+ );
11094
10974
  }
11095
10975
 
11096
10976
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
11097
- import { useQueryClient as useQueryClient17 } from "@tanstack/react-query";
11098
- import { AlertCircle as AlertCircle4, ArrowLeft as ArrowLeft12, Gem, Loader as Loader16, RefreshCw } from "lucide-react";
10977
+ import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
10978
+ import { AlertCircle as AlertCircle4, ArrowLeft as ArrowLeft10, Gem, Loader as Loader18, RefreshCw } from "lucide-react";
11099
10979
  import { useCallback as useCallback15 } from "react";
11100
10980
 
11101
10981
  // src/internal/hooks/useBlockscoutAssets.ts
11102
10982
  init_lumiaPassport();
11103
10983
  init_base();
11104
- import { useCallback as useCallback14, useMemo as useMemo4, useRef as useRef13 } from "react";
11105
- import { useQuery as useQuery14 } from "@tanstack/react-query";
10984
+ import { useCallback as useCallback14, useMemo as useMemo4, useRef as useRef12 } from "react";
10985
+ import { useQuery as useQuery13 } from "@tanstack/react-query";
11106
10986
  import { useBalance as useBalance2, usePublicClient } from "wagmi";
11107
10987
  import { formatUnits as formatUnits2 } from "viem";
11108
10988
  import {
@@ -11249,7 +11129,7 @@ function useBlockscoutAssets(options) {
11249
11129
  [blockscoutApiUrl]
11250
11130
  );
11251
11131
  const publicClient2 = usePublicClient({ chainId: lumiaBeam.id });
11252
- const lastRefreshRef = useRef13(0);
11132
+ const lastRefreshRef = useRef12(0);
11253
11133
  const {
11254
11134
  data: nativeBalanceData,
11255
11135
  isLoading: nativeLoading,
@@ -11267,7 +11147,7 @@ function useBlockscoutAssets(options) {
11267
11147
  error: tokensError,
11268
11148
  refetch: refetchTokens,
11269
11149
  dataUpdatedAt
11270
- } = useQuery14({
11150
+ } = useQuery13({
11271
11151
  queryKey: [BLOCKSCOUT_QUERY_KEY, address, blockscoutApiUrl],
11272
11152
  queryFn: () => blockscoutClient.getTokenBalances(address),
11273
11153
  enabled: !!address && enabled,
@@ -11280,7 +11160,7 @@ function useBlockscoutAssets(options) {
11280
11160
  data: nftItems,
11281
11161
  isLoading: nftsLoading,
11282
11162
  refetch: refetchNfts
11283
- } = useQuery14({
11163
+ } = useQuery13({
11284
11164
  queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", address, blockscoutApiUrl],
11285
11165
  queryFn: () => blockscoutClient.getNfts(address),
11286
11166
  enabled: !!address && enabled,
@@ -11293,7 +11173,7 @@ function useBlockscoutAssets(options) {
11293
11173
  if (!tokenBalances) return [];
11294
11174
  return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address);
11295
11175
  }, [tokenBalances]);
11296
- const { data: erc3643Results } = useQuery14({
11176
+ const { data: erc3643Results } = useQuery13({
11297
11177
  queryKey: [ERC3643_DETECTION_QUERY_KEY, address, erc20TokenAddresses],
11298
11178
  queryFn: async () => {
11299
11179
  if (!publicClient2 || erc20TokenAddresses.length === 0) {
@@ -11410,11 +11290,11 @@ function useBlockscoutAssets(options) {
11410
11290
 
11411
11291
  // src/internal/components/PortfolioMenu/PortfolioItem.tsx
11412
11292
  init_base();
11413
- import { useQuery as useQuery15, useQueryClient as useQueryClient16 } from "@tanstack/react-query";
11414
- import { Image as ImageIcon, Loader as Loader15, Shield, Sparkles } from "lucide-react";
11293
+ import { useQuery as useQuery14, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
11294
+ import { Image as ImageIcon, Loader as Loader17, Shield, Sparkles } from "lucide-react";
11415
11295
  import { useState as useState14 } from "react";
11416
11296
  import { formatUnits as formatUnits3 } from "viem";
11417
- import { Fragment as Fragment18, jsx as jsx57, jsxs as jsxs50 } from "react/jsx-runtime";
11297
+ import { Fragment as Fragment20, jsx as jsx57, jsxs as jsxs50 } from "react/jsx-runtime";
11418
11298
  function openInExplorer(address) {
11419
11299
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
11420
11300
  }
@@ -11452,13 +11332,13 @@ function PortfolioItem(props) {
11452
11332
  const [nftImageError, setNftImageError] = useState14(false);
11453
11333
  const [logoError, setLogoError] = useState14(false);
11454
11334
  const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
11455
- const qc = useQueryClient16();
11335
+ const qc = useQueryClient15();
11456
11336
  const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
11457
11337
  const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
11458
11338
  const isNft = isNftAsset(asset);
11459
11339
  const nftImage = getNftImage(asset);
11460
11340
  const isSecurity = isSecurityToken(asset);
11461
- const { data: assetRate, isLoading: isRateLoading } = useQuery15({
11341
+ const { data: assetRate, isLoading: isRateLoading } = useQuery14({
11462
11342
  retry: false,
11463
11343
  staleTime: 4 * 60 * 1e3,
11464
11344
  enabled: !!address && !!isAssetRateAvailable(asset.symbol) && !isProjectAsset && !isNft && !isSecurity,
@@ -11536,18 +11416,18 @@ function PortfolioItem(props) {
11536
11416
  !isSecurity && isNft && "type" in asset && /* @__PURE__ */ jsx57("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-info)] rounded-full", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
11537
11417
  isSecurity && /* @__PURE__ */ jsx57("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-warning)] rounded-full", children: "Security Token" })
11538
11418
  ] }),
11539
- /* @__PURE__ */ jsx57("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs50(Fragment18, { children: [
11419
+ /* @__PURE__ */ jsx57("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs50(Fragment20, { children: [
11540
11420
  /* @__PURE__ */ jsx57("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
11541
11421
  "tokenId" in asset && asset.tokenId && /* @__PURE__ */ jsxs50("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11542
11422
  "#",
11543
11423
  asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
11544
11424
  ] })
11545
- ] }) : /* @__PURE__ */ jsxs50(Fragment18, { children: [
11425
+ ] }) : /* @__PURE__ */ jsxs50(Fragment20, { children: [
11546
11426
  /* @__PURE__ */ jsxs50("span", { children: [
11547
11427
  /* @__PURE__ */ jsx57("span", { children: formatPrice(Number(renderBalance)) }),
11548
11428
  /* @__PURE__ */ jsx57("span", { children: " " + asset.symbol })
11549
11429
  ] }),
11550
- isRateLoading && /* @__PURE__ */ jsx57(Loader15, { className: "h-4 w-4 animate-spin" }),
11430
+ isRateLoading && /* @__PURE__ */ jsx57(Loader17, { className: "h-4 w-4 animate-spin" }),
11551
11431
  !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ jsxs50("span", { children: [
11552
11432
  /* @__PURE__ */ jsx57("span", { children: "$" }),
11553
11433
  /* @__PURE__ */ jsx57("span", { children: formatPrice(usdRenderBalance) })
@@ -11563,7 +11443,7 @@ function PortfolioItem(props) {
11563
11443
  import { jsx as jsx58, jsxs as jsxs51 } from "react/jsx-runtime";
11564
11444
  function PortfolioMenu() {
11565
11445
  const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
11566
- const qc = useQueryClient17();
11446
+ const qc = useQueryClient16();
11567
11447
  const address = useLumiaPassportSession((st) => st.address);
11568
11448
  const setPage = useLayoutDataStore((st) => st.setPage);
11569
11449
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
@@ -11590,7 +11470,7 @@ function PortfolioMenu() {
11590
11470
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11591
11471
  children: /* @__PURE__ */ jsxs51(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11592
11472
  /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11593
- /* @__PURE__ */ jsx58(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx58(ArrowLeft12, { className: "h-4 w-4" }) }),
11473
+ /* @__PURE__ */ jsx58(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx58(ArrowLeft10, { className: "h-4 w-4" }) }),
11594
11474
  /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11595
11475
  /* @__PURE__ */ jsx58(
11596
11476
  Button,
@@ -11600,11 +11480,11 @@ function PortfolioMenu() {
11600
11480
  size: "icon",
11601
11481
  onClick: refreshAllAssetsBalances,
11602
11482
  disabled: isBlockscoutLoading,
11603
- children: isBlockscoutLoading ? /* @__PURE__ */ jsx58(Loader16, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx58(RefreshCw, { className: "h-4 w-4" })
11483
+ children: isBlockscoutLoading ? /* @__PURE__ */ jsx58(Loader18, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx58(RefreshCw, { className: "h-4 w-4" })
11604
11484
  }
11605
11485
  )
11606
11486
  ] }),
11607
- isBlockscoutLoading && /* @__PURE__ */ jsx58("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsx58(Loader16, { className: "h-5 w-5 animate-spin" }) }),
11487
+ isBlockscoutLoading && /* @__PURE__ */ jsx58("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ jsx58(Loader18, { className: "h-5 w-5 animate-spin" }) }),
11608
11488
  !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs51(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11609
11489
  /* @__PURE__ */ jsx58(Gem, { className: "w-8 h-8" }),
11610
11490
  /* @__PURE__ */ jsx58("span", { className: "block", children: "No assets found" })
@@ -11630,9 +11510,9 @@ function PortfolioMenu() {
11630
11510
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
11631
11511
  init_auth();
11632
11512
  init_keyshare();
11633
- import { useQuery as useQuery16, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
11513
+ import { useQuery as useQuery15, useQueryClient as useQueryClient17 } from "@tanstack/react-query";
11634
11514
  import dayjs3 from "dayjs";
11635
- import { ArrowLeft as ArrowLeft13, Loader as Loader19, Trash2 as Trash22 } from "lucide-react";
11515
+ import { ArrowLeft as ArrowLeft11, Loader as Loader21, Trash2 as Trash22 } from "lucide-react";
11636
11516
  import { useState as useState15 } from "react";
11637
11517
  init_iframe_manager();
11638
11518
  init_vaultClient();
@@ -11641,7 +11521,7 @@ init_vaultClient();
11641
11521
  var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
11642
11522
 
11643
11523
  // src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
11644
- import { Cloud as Cloud4, Laptop, Loader as Loader18, RefreshCw as RefreshCw2, Server as Server3 } from "lucide-react";
11524
+ import { Cloud as Cloud4, Laptop, Loader as Loader20, RefreshCw as RefreshCw2, Server as Server3 } from "lucide-react";
11645
11525
 
11646
11526
  // src/internal/assets/NegativeIcon.tsx
11647
11527
  import { jsx as jsx59, jsxs as jsxs52 } from "react/jsx-runtime";
@@ -11658,11 +11538,11 @@ function NegativeIcon(props) {
11658
11538
  init_vaultClient();
11659
11539
 
11660
11540
  // src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
11661
- import { Loader as Loader17 } from "lucide-react";
11541
+ import { Loader as Loader19 } from "lucide-react";
11662
11542
  import { jsx as jsx60, jsxs as jsxs53 } from "react/jsx-runtime";
11663
11543
  function KeyshareStatus(props) {
11664
11544
  const { isLoading, content, icon: Icon2, children } = props;
11665
- if (isLoading) return /* @__PURE__ */ jsx60(Loader17, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11545
+ if (isLoading) return /* @__PURE__ */ jsx60(Loader19, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11666
11546
  return /* @__PURE__ */ jsxs53("div", { className: "group relative w-full h-full", children: [
11667
11547
  children,
11668
11548
  /* @__PURE__ */ jsx60(
@@ -11696,7 +11576,7 @@ function KeyshareStatus(props) {
11696
11576
  // src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx
11697
11577
  import dayjs2 from "dayjs";
11698
11578
  import { Cloud as Cloud3, HardDrive, Server as Server2 } from "lucide-react";
11699
- import { Fragment as Fragment19, jsx as jsx61, jsxs as jsxs54 } from "react/jsx-runtime";
11579
+ import { Fragment as Fragment21, jsx as jsx61, jsxs as jsxs54 } from "react/jsx-runtime";
11700
11580
  function parseOS(ua) {
11701
11581
  if (!ua) return null;
11702
11582
  if (ua.includes("Mac OS X")) return "macOS";
@@ -11723,7 +11603,7 @@ function LastBackup(props) {
11723
11603
  /* @__PURE__ */ jsx61(Server2, { className: "w-4 h-4 inline" }),
11724
11604
  /* @__PURE__ */ jsx61("span", { children: "Last Keyshare Vault Backup" })
11725
11605
  ] }),
11726
- recoveryCreatedAt && /* @__PURE__ */ jsxs54(Fragment19, { children: [
11606
+ recoveryCreatedAt && /* @__PURE__ */ jsxs54(Fragment21, { children: [
11727
11607
  /* @__PURE__ */ jsx61("span", { children: dayjs2(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") }),
11728
11608
  /* @__PURE__ */ jsx61("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
11729
11609
  ] }),
@@ -11745,14 +11625,14 @@ function LastBackup(props) {
11745
11625
  }
11746
11626
 
11747
11627
  // src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
11748
- import { Fragment as Fragment20, jsx as jsx62, jsxs as jsxs55 } from "react/jsx-runtime";
11628
+ import { Fragment as Fragment22, jsx as jsx62, jsxs as jsxs55 } from "react/jsx-runtime";
11749
11629
  function Keyshare(props) {
11750
11630
  const { userId, serverHasKeyshare, localInfo, hasServerBackup, createdRecoveryStats, isLoading, refresh } = props;
11751
11631
  const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
11752
- return /* @__PURE__ */ jsxs55(Fragment20, { children: [
11632
+ return /* @__PURE__ */ jsxs55(Fragment22, { children: [
11753
11633
  /* @__PURE__ */ jsxs55("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11754
11634
  /* @__PURE__ */ jsx62("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
11755
- /* @__PURE__ */ jsx62(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ jsx62(Loader18, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx62(RefreshCw2, { className: "h-4 w-4" }) })
11635
+ /* @__PURE__ */ jsx62(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ jsx62(Loader20, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx62(RefreshCw2, { className: "h-4 w-4" }) })
11756
11636
  ] }),
11757
11637
  /* @__PURE__ */ jsxs55("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11758
11638
  /* @__PURE__ */ jsx62(
@@ -11816,16 +11696,16 @@ function Keyshare(props) {
11816
11696
  }
11817
11697
 
11818
11698
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
11819
- import { Fragment as Fragment21, jsx as jsx63, jsxs as jsxs56 } from "react/jsx-runtime";
11699
+ import { Fragment as Fragment23, jsx as jsx63, jsxs as jsxs56 } from "react/jsx-runtime";
11820
11700
  function SecurityMenu() {
11821
- const qc = useQueryClient18();
11701
+ const qc = useQueryClient17();
11822
11702
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11823
11703
  const setPage = useLayoutDataStore((st) => st.setPage);
11824
11704
  const userId = jwtTokenManager2.getUserId();
11825
11705
  const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
11826
11706
  const [isRemoving, setIsRemoving] = useState15(false);
11827
11707
  const [appToRemove, setAppToRemove] = useState15(null);
11828
- const { data: recoveryData, isFetching: isRecoveryLoading } = useQuery16({
11708
+ const { data: recoveryData, isFetching: isRecoveryLoading } = useQuery15({
11829
11709
  enabled: !!userId,
11830
11710
  queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
11831
11711
  queryFn: async () => {
@@ -11884,12 +11764,12 @@ function SecurityMenu() {
11884
11764
  if (!!appToRemove) setAppToRemove(null);
11885
11765
  else setPage("settings" /* SETTINGS */);
11886
11766
  },
11887
- children: /* @__PURE__ */ jsx63(ArrowLeft13, { className: "h-4 w-4" })
11767
+ children: /* @__PURE__ */ jsx63(ArrowLeft11, { className: "h-4 w-4" })
11888
11768
  }
11889
11769
  ),
11890
11770
  /* @__PURE__ */ jsx63("span", { className: "text-xl font-semibold", children: "Security" })
11891
11771
  ] }),
11892
- !appToRemove && /* @__PURE__ */ jsxs56(Fragment21, { children: [
11772
+ !appToRemove && /* @__PURE__ */ jsxs56(Fragment23, { children: [
11893
11773
  /* @__PURE__ */ jsx63(
11894
11774
  Keyshare,
11895
11775
  {
@@ -11902,7 +11782,7 @@ function SecurityMenu() {
11902
11782
  refresh: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] })
11903
11783
  }
11904
11784
  ),
11905
- trustedApps.length > 0 && /* @__PURE__ */ jsxs56(Fragment21, { children: [
11785
+ trustedApps.length > 0 && /* @__PURE__ */ jsxs56(Fragment23, { children: [
11906
11786
  /* @__PURE__ */ jsxs56("div", { className: "w-full space-y-2", children: [
11907
11787
  /* @__PURE__ */ jsx63("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
11908
11788
  /* @__PURE__ */ jsx63("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs56(
@@ -11978,7 +11858,7 @@ function SecurityMenu() {
11978
11858
  className: "flex-1 bg-[var(--l-pass-error)] hover:bg-[var(--l-pass-error)]/60 active:bg-[var(--l-pass-error)]/40",
11979
11859
  onClick: handleRemoveTrustedApp,
11980
11860
  disabled: isRemoving,
11981
- children: isRemoving ? /* @__PURE__ */ jsx63(Loader19, { className: "h-4 w-4 animate-spin" }) : "Remove"
11861
+ children: isRemoving ? /* @__PURE__ */ jsx63(Loader21, { className: "h-4 w-4 animate-spin" }) : "Remove"
11982
11862
  }
11983
11863
  )
11984
11864
  ] })
@@ -11989,21 +11869,74 @@ function SecurityMenu() {
11989
11869
  }
11990
11870
 
11991
11871
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
11992
- import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle23, Loader as Loader20, Wallet as Wallet3, AtSign as AtSign2 } from "lucide-react";
11993
- import { useEffect as useEffect28, useState as useState18 } from "react";
11872
+ import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft12, AtSign, CheckCircle2 as CheckCircle23, Loader as Loader22, Wallet as Wallet3 } from "lucide-react";
11873
+ import { useEffect as useEffect25, useState as useState18 } from "react";
11994
11874
  import { isAddress as isAddress2 } from "viem";
11995
11875
  import { useBalance as useBalance4 } from "wagmi";
11996
11876
 
11877
+ // src/hooks/useNicknameResolve.ts
11878
+ init_nickname();
11879
+ init_profile();
11880
+ import { useQuery as useQuery16 } from "@tanstack/react-query";
11881
+ import { useState as useState16, useEffect as useEffect24 } from "react";
11882
+ var DEBOUNCE_MS2 = 300;
11883
+ function looksLikeNickname(input) {
11884
+ if (!input) return false;
11885
+ if (input.startsWith("0x")) return false;
11886
+ if (input.startsWith("@")) return true;
11887
+ const normalized = input.toLowerCase().trim();
11888
+ return /^[a-z0-9_]+$/.test(normalized);
11889
+ }
11890
+ function useNicknameResolve(input, enabled = true) {
11891
+ const [debouncedInput, setDebouncedInput] = useState16("");
11892
+ const [isDebouncing, setIsDebouncing] = useState16(false);
11893
+ const normalized = normalizeNickname(input);
11894
+ const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
11895
+ useEffect24(() => {
11896
+ if (!isNicknameInput || !enabled) {
11897
+ setDebouncedInput("");
11898
+ setIsDebouncing(false);
11899
+ return;
11900
+ }
11901
+ setIsDebouncing(true);
11902
+ const timer = setTimeout(() => {
11903
+ setDebouncedInput(normalized);
11904
+ setIsDebouncing(false);
11905
+ }, DEBOUNCE_MS2);
11906
+ return () => {
11907
+ clearTimeout(timer);
11908
+ };
11909
+ }, [normalized, isNicknameInput, enabled]);
11910
+ const query = useQuery16({
11911
+ queryKey: QUERY_KEYS.nicknameResolve(debouncedInput),
11912
+ queryFn: () => resolveNickname(debouncedInput),
11913
+ enabled: enabled && isNicknameInput && debouncedInput.length > 0,
11914
+ staleTime: 1e3 * 60 * 5,
11915
+ // 5 minutes - addresses don't change often
11916
+ retry: 1
11917
+ });
11918
+ const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
11919
+ return {
11920
+ data: query.data,
11921
+ isLoading: query.isLoading,
11922
+ isResolving: isDebouncing || query.isFetching,
11923
+ isError: query.isError,
11924
+ isNotFound,
11925
+ error: query.error,
11926
+ resolvedAddress: query.data?.walletAddress || null
11927
+ };
11928
+ }
11929
+
11997
11930
  // src/hooks/useSendTransaction.ts
11998
- import { useCallback as useCallback16, useState as useState16 } from "react";
11931
+ import { useCallback as useCallback16, useState as useState17 } from "react";
11999
11932
  import { isAddress, parseEther as parseEther2 } from "viem";
12000
11933
  init_account();
12001
11934
  function useSendTransaction() {
12002
11935
  const session = useLumiaPassportSession((st) => st.session);
12003
11936
  const address = useLumiaPassportSession((st) => st.address);
12004
- const [isLoading, setIsLoading] = useState16(false);
12005
- const [error, setError] = useState16(null);
12006
- const [userOpHash, setUserOpHash] = useState16(null);
11937
+ const [isLoading, setIsLoading] = useState17(false);
11938
+ const [error, setError] = useState17(null);
11939
+ const [userOpHash, setUserOpHash] = useState17(null);
12007
11940
  const sendTransaction = useCallback16(
12008
11941
  async (params) => {
12009
11942
  if (!session || !address) {
@@ -12058,59 +11991,6 @@ function useSendTransaction() {
12058
11991
  };
12059
11992
  }
12060
11993
 
12061
- // src/hooks/useNicknameResolve.ts
12062
- init_nickname();
12063
- init_profile();
12064
- import { useQuery as useQuery17 } from "@tanstack/react-query";
12065
- import { useState as useState17, useEffect as useEffect27 } from "react";
12066
- var DEBOUNCE_MS2 = 300;
12067
- function looksLikeNickname(input) {
12068
- if (!input) return false;
12069
- if (input.startsWith("0x")) return false;
12070
- if (input.startsWith("@")) return true;
12071
- const normalized = input.toLowerCase().trim();
12072
- return /^[a-z0-9_]+$/.test(normalized);
12073
- }
12074
- function useNicknameResolve(input, enabled = true) {
12075
- const [debouncedInput, setDebouncedInput] = useState17("");
12076
- const [isDebouncing, setIsDebouncing] = useState17(false);
12077
- const normalized = normalizeNickname(input);
12078
- const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
12079
- useEffect27(() => {
12080
- if (!isNicknameInput || !enabled) {
12081
- setDebouncedInput("");
12082
- setIsDebouncing(false);
12083
- return;
12084
- }
12085
- setIsDebouncing(true);
12086
- const timer = setTimeout(() => {
12087
- setDebouncedInput(normalized);
12088
- setIsDebouncing(false);
12089
- }, DEBOUNCE_MS2);
12090
- return () => {
12091
- clearTimeout(timer);
12092
- };
12093
- }, [normalized, isNicknameInput, enabled]);
12094
- const query = useQuery17({
12095
- queryKey: QUERY_KEYS.nicknameResolve(debouncedInput),
12096
- queryFn: () => resolveNickname(debouncedInput),
12097
- enabled: enabled && isNicknameInput && debouncedInput.length > 0,
12098
- staleTime: 1e3 * 60 * 5,
12099
- // 5 minutes - addresses don't change often
12100
- retry: 1
12101
- });
12102
- const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
12103
- return {
12104
- data: query.data,
12105
- isLoading: query.isLoading,
12106
- isResolving: isDebouncing || query.isFetching,
12107
- isError: query.isError,
12108
- isNotFound,
12109
- error: query.error,
12110
- resolvedAddress: query.data?.walletAddress || null
12111
- };
12112
- }
12113
-
12114
11994
  // src/modules/assets.ts
12115
11995
  init_base();
12116
11996
  import React6 from "react";
@@ -12274,7 +12154,7 @@ function useTokenBalance(tokenAddress, userAddress) {
12274
12154
 
12275
12155
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12276
12156
  init_base();
12277
- import { Fragment as Fragment22, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
12157
+ import { Fragment as Fragment24, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
12278
12158
  function SendLumiaMenu() {
12279
12159
  const page = useLayoutDataStore((st) => st.page);
12280
12160
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -12291,11 +12171,16 @@ function SendLumiaMenu() {
12291
12171
  const [txStep, setTxStep] = useState18("input");
12292
12172
  const [validationError, setValidationError] = useState18(null);
12293
12173
  const isNicknameInput = looksLikeNickname(recipient);
12294
- const { resolvedAddress, isResolving, isNotFound, data: nicknameData } = useNicknameResolve(recipient, isNicknameInput);
12174
+ const {
12175
+ resolvedAddress,
12176
+ isResolving,
12177
+ isNotFound,
12178
+ data: nicknameData
12179
+ } = useNicknameResolve(recipient, isNicknameInput);
12295
12180
  const effectiveAddress = isNicknameInput ? resolvedAddress : recipient;
12296
12181
  const nativeAsset = assets.find((a) => a.type === "native");
12297
12182
  const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
12298
- useEffect28(() => {
12183
+ useEffect25(() => {
12299
12184
  if (open) {
12300
12185
  setTxStep("input");
12301
12186
  setValidationError(null);
@@ -12366,21 +12251,21 @@ function SendLumiaMenu() {
12366
12251
  };
12367
12252
  return /* @__PURE__ */ jsxs57("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12368
12253
  /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12369
- txStep === "input" && /* @__PURE__ */ jsx64(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx64(ArrowLeft14, { className: "h-4 w-4" }) }),
12254
+ txStep === "input" && /* @__PURE__ */ jsx64(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx64(ArrowLeft12, { className: "h-4 w-4" }) }),
12370
12255
  /* @__PURE__ */ jsx64("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
12371
12256
  ] }),
12372
- txStep === "input" && /* @__PURE__ */ jsxs57(Fragment22, { children: [
12257
+ txStep === "input" && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12373
12258
  /* @__PURE__ */ jsxs57("div", { className: "w-full flex flex-col gap-2", children: [
12374
12259
  /* @__PURE__ */ jsx64("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12375
12260
  /* @__PURE__ */ jsx64(
12376
12261
  Input,
12377
12262
  {
12378
- Icon: isNicknameInput ? AtSign2 : Wallet3,
12263
+ Icon: isNicknameInput ? AtSign : Wallet3,
12379
12264
  type: "text",
12380
12265
  value: recipient,
12381
12266
  onChange: (e) => setRecipient(e.target.value),
12382
12267
  placeholder: "0x... or @nickname",
12383
- element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx64(Loader20, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12268
+ element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx64(Loader22, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12384
12269
  }
12385
12270
  ),
12386
12271
  isNicknameInput && resolvedAddress && !isResolving && /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-success)]", children: [
@@ -12401,30 +12286,18 @@ function SendLumiaMenu() {
12401
12286
  " LUMIA"
12402
12287
  ] })
12403
12288
  ] }),
12404
- /* @__PURE__ */ jsxs57("div", { className: "w-full relative", children: [
12405
- /* @__PURE__ */ jsx64(
12406
- Input,
12407
- {
12408
- Icon: LumiaIcon,
12409
- type: "number",
12410
- value: amount,
12411
- onChange: (e) => setAmount(e.target.value),
12412
- placeholder: "0.0",
12413
- step: "0.000001"
12414
- }
12415
- ),
12416
- /* @__PURE__ */ jsx64(
12417
- Button,
12418
- {
12419
- onClick: handleMaxAmount,
12420
- variant: "ghost",
12421
- size: "medium",
12422
- style: { transform: "translateY(-50%)" },
12423
- className: "absolute right-2 top-1/2",
12424
- children: "MAX"
12425
- }
12426
- )
12427
- ] })
12289
+ /* @__PURE__ */ jsx64(
12290
+ Input,
12291
+ {
12292
+ Icon: LumiaIcon,
12293
+ type: "number",
12294
+ value: amount,
12295
+ onChange: (e) => setAmount(e.target.value),
12296
+ placeholder: "0.0",
12297
+ step: "0.000001",
12298
+ element: /* @__PURE__ */ jsx64(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
12299
+ }
12300
+ )
12428
12301
  ] }),
12429
12302
  (validationError || error) && /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
12430
12303
  /* @__PURE__ */ jsx64(AlertCircle5, { className: "h-4 w-4" }),
@@ -12432,7 +12305,7 @@ function SendLumiaMenu() {
12432
12305
  ] }),
12433
12306
  /* @__PURE__ */ jsx64(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
12434
12307
  ] }),
12435
- txStep === "confirm" && effectiveAddress && /* @__PURE__ */ jsxs57(Fragment22, { children: [
12308
+ txStep === "confirm" && effectiveAddress && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12436
12309
  /* @__PURE__ */ jsxs57("div", { className: "bg-gray-50 rounded-lg p-4", children: [
12437
12310
  /* @__PURE__ */ jsx64("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
12438
12311
  /* @__PURE__ */ jsxs57("div", { className: "space-y-2 text-sm", children: [
@@ -12459,19 +12332,19 @@ function SendLumiaMenu() {
12459
12332
  /* @__PURE__ */ jsxs57("div", { className: "flex gap-2", children: [
12460
12333
  /* @__PURE__ */ jsx64(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
12461
12334
  /* @__PURE__ */ jsxs57(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
12462
- isLoading && /* @__PURE__ */ jsx64(Loader20, { className: "h-4 w-4 animate-spin" }),
12335
+ isLoading && /* @__PURE__ */ jsx64(Loader22, { className: "h-4 w-4 animate-spin" }),
12463
12336
  "Confirm"
12464
12337
  ] })
12465
12338
  ] })
12466
12339
  ] }),
12467
12340
  txStep === "pending" && /* @__PURE__ */ jsxs57("div", { className: "py-8 text-center space-y-4", children: [
12468
- /* @__PURE__ */ jsx64(Loader20, { className: "h-5 w-5 animate-spin mx-auto" }),
12341
+ /* @__PURE__ */ jsx64(Loader22, { className: "h-5 w-5 animate-spin mx-auto" }),
12469
12342
  /* @__PURE__ */ jsxs57("div", { children: [
12470
12343
  /* @__PURE__ */ jsx64("span", { className: "block font-medium", children: "Transaction Pending" }),
12471
12344
  /* @__PURE__ */ jsx64("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
12472
12345
  ] })
12473
12346
  ] }),
12474
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs57(Fragment22, { children: [
12347
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12475
12348
  /* @__PURE__ */ jsxs57("div", { className: "text-center py-4", children: [
12476
12349
  /* @__PURE__ */ jsx64(CheckCircle23, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
12477
12350
  /* @__PURE__ */ jsx64("p", { className: "font-medium", children: "Transaction Sent!" }),
@@ -12484,10 +12357,10 @@ function SendLumiaMenu() {
12484
12357
 
12485
12358
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
12486
12359
  init_clients();
12487
- import { ArrowLeft as ArrowLeft15, CheckCircle2 as CheckCircle24, Copy as Copy2, Loader as Loader21 } from "lucide-react";
12360
+ import { ArrowLeft as ArrowLeft13, CheckCircle2 as CheckCircle24, Copy as Copy2, Loader as Loader23 } from "lucide-react";
12488
12361
  import QRCode from "qrcode";
12489
- import { useCallback as useCallback17, useEffect as useEffect29, useState as useState19 } from "react";
12490
- import { Fragment as Fragment23, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
12362
+ import { useCallback as useCallback17, useEffect as useEffect26, useState as useState19 } from "react";
12363
+ import { Fragment as Fragment25, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
12491
12364
  function ReceiveLumiaMenu() {
12492
12365
  const address = useLumiaPassportSession((st) => st.address);
12493
12366
  const page = useLayoutDataStore((st) => st.page);
@@ -12496,7 +12369,7 @@ function ReceiveLumiaMenu() {
12496
12369
  const open = page === "receive";
12497
12370
  const [qrCodeUrl, setQrCodeUrl] = useState19("");
12498
12371
  const [copied, setCopied] = useState19(false);
12499
- useEffect29(() => {
12372
+ useEffect26(() => {
12500
12373
  if (open && address) {
12501
12374
  QRCode.toDataURL(address, {
12502
12375
  width: 200,
@@ -12529,20 +12402,20 @@ function ReceiveLumiaMenu() {
12529
12402
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12530
12403
  children: [
12531
12404
  /* @__PURE__ */ jsxs58("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
12532
- /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx65(ArrowLeft15, { className: "h-4 w-4" }) }),
12405
+ /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx65(ArrowLeft13, { className: "h-4 w-4" }) }),
12533
12406
  /* @__PURE__ */ jsx65("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
12534
12407
  ] }),
12535
12408
  /* @__PURE__ */ jsxs58(Highlight, { className: "text-center", type: "warning", children: [
12536
12409
  /* @__PURE__ */ jsx65("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
12537
12410
  /* @__PURE__ */ jsx65("span", { className: "block w-full", children: "Ensure sender is on the same network" })
12538
12411
  ] }),
12539
- /* @__PURE__ */ jsx65("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx65("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx65(Loader21, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
12412
+ /* @__PURE__ */ jsx65("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx65("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx65(Loader23, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
12540
12413
  /* @__PURE__ */ jsxs58(Highlight, { type: "info", children: [
12541
12414
  /* @__PURE__ */ jsx65("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
12542
- /* @__PURE__ */ jsx65(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs58(Fragment23, { children: [
12415
+ /* @__PURE__ */ jsx65(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs58(Fragment25, { children: [
12543
12416
  /* @__PURE__ */ jsx65(CheckCircle24, { className: "h-4 w-4" }),
12544
12417
  /* @__PURE__ */ jsx65("span", { children: "Copied!" })
12545
- ] }) : /* @__PURE__ */ jsxs58(Fragment23, { children: [
12418
+ ] }) : /* @__PURE__ */ jsxs58(Fragment25, { children: [
12546
12419
  /* @__PURE__ */ jsx65(Copy2, { className: "h-4 w-4" }),
12547
12420
  /* @__PURE__ */ jsx65("span", { children: "Copy Address" })
12548
12421
  ] }) })
@@ -12554,11 +12427,11 @@ function ReceiveLumiaMenu() {
12554
12427
  }
12555
12428
 
12556
12429
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12557
- import { ArrowLeft as ArrowLeft16 } from "lucide-react";
12558
- import { useEffect as useEffect30 } from "react";
12430
+ import { ArrowLeft as ArrowLeft14 } from "lucide-react";
12431
+ import { useEffect as useEffect27 } from "react";
12559
12432
 
12560
12433
  // src/internal/components/SettingsMenu/constants.ts
12561
- import { ArrowLeftRight, AtSign as AtSign3, DatabaseBackup, LockKeyhole, UsersRound } from "lucide-react";
12434
+ import { ArrowLeftRight, AtSign as AtSign2, DatabaseBackup, LockKeyhole, UsersRound } from "lucide-react";
12562
12435
 
12563
12436
  // src/internal/assets/KycIcon.tsx
12564
12437
  import { jsx as jsx66 } from "react/jsx-runtime";
@@ -12577,7 +12450,7 @@ function KycIcon(props) {
12577
12450
  var NAV_BUTTONS = [
12578
12451
  { id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: ArrowLeftRight },
12579
12452
  { id: "kyc" /* KYC */, name: "KYC", Icon: KycIcon },
12580
- { id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "Nickname", Icon: AtSign3 },
12453
+ { id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "Nickname", Icon: AtSign2 },
12581
12454
  { id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon: UsersRound },
12582
12455
  { id: "security" /* SECURITY */, name: "Security", Icon: LockKeyhole },
12583
12456
  { id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon: DatabaseBackup }
@@ -12590,39 +12463,50 @@ function SettingsMenu() {
12590
12463
  const setPage = useLayoutDataStore((st) => st.setPage);
12591
12464
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
12592
12465
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
12593
- useEffect30(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
12466
+ const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12467
+ useEffect27(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
12594
12468
  useProvidersList();
12595
12469
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
12596
12470
  const highlightedKeys = settingsNotifications.map((n) => n.target);
12597
- return /* @__PURE__ */ jsxs59("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12598
- /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12599
- /* @__PURE__ */ jsx67(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx67(ArrowLeft16, { className: "h-4 w-4" }) }),
12600
- /* @__PURE__ */ jsx67("span", { className: "text-xl font-semibold", children: "Settings" })
12601
- ] }),
12602
- /* @__PURE__ */ jsx67("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs59(
12603
- Button,
12604
- {
12605
- variant: "outline",
12606
- size: "large",
12607
- onClick,
12608
- disabled: !address,
12609
- className: cn(
12610
- //
12611
- "w-full items-center justify-start",
12612
- highlightedKeys.includes(id) && "animate-glow-warning"
12613
- ),
12614
- children: [
12615
- /* @__PURE__ */ jsx67(Icon2, { className: "w-4 h-4" }),
12616
- /* @__PURE__ */ jsx67("span", { children: name })
12617
- ]
12471
+ return /* @__PURE__ */ jsxs59(
12472
+ "div",
12473
+ {
12474
+ style: {
12475
+ "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
12476
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
12618
12477
  },
12619
- id
12620
- )) })
12621
- ] });
12478
+ className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12479
+ children: [
12480
+ /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12481
+ /* @__PURE__ */ jsx67(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx67(ArrowLeft14, { className: "h-4 w-4" }) }),
12482
+ /* @__PURE__ */ jsx67("span", { className: "text-xl font-semibold", children: "Settings" })
12483
+ ] }),
12484
+ /* @__PURE__ */ jsx67("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs59(
12485
+ Button,
12486
+ {
12487
+ variant: "outline",
12488
+ size: "large",
12489
+ onClick,
12490
+ disabled: !address,
12491
+ className: cn(
12492
+ //
12493
+ "w-full items-center justify-start",
12494
+ highlightedKeys.includes(id) && "animate-glow-warning"
12495
+ ),
12496
+ children: [
12497
+ /* @__PURE__ */ jsx67(Icon2, { className: "w-4 h-4" }),
12498
+ /* @__PURE__ */ jsx67("span", { children: name })
12499
+ ]
12500
+ },
12501
+ id
12502
+ )) })
12503
+ ]
12504
+ }
12505
+ );
12622
12506
  }
12623
12507
 
12624
12508
  // src/internal/components/TermsOfService.tsx
12625
- import { ArrowLeft as ArrowLeft17 } from "lucide-react";
12509
+ import { ArrowLeft as ArrowLeft15 } from "lucide-react";
12626
12510
  import { jsx as jsx68, jsxs as jsxs60 } from "react/jsx-runtime";
12627
12511
  function TermsOfService() {
12628
12512
  const address = useLumiaPassportSession((st) => st.address);
@@ -12636,7 +12520,7 @@ function TermsOfService() {
12636
12520
  size: "icon",
12637
12521
  title: "Back",
12638
12522
  onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
12639
- children: /* @__PURE__ */ jsx68(ArrowLeft17, { className: "h-4 w-4" })
12523
+ children: /* @__PURE__ */ jsx68(ArrowLeft15, { className: "h-4 w-4" })
12640
12524
  }
12641
12525
  ),
12642
12526
  /* @__PURE__ */ jsx68("span", { className: "text-xl font-semibold", children: "Terms of Service" })
@@ -12649,8 +12533,8 @@ function TermsOfService() {
12649
12533
  }
12650
12534
 
12651
12535
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
12652
- import { useQuery as useQuery18, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
12653
- import { ArrowLeft as ArrowLeft18, Loader as Loader22, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
12536
+ import { useQuery as useQuery17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
12537
+ import { ArrowLeft as ArrowLeft16, Loader as Loader24, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
12654
12538
  import { useCallback as useCallback18, useState as useState20 } from "react";
12655
12539
 
12656
12540
  // src/internal/components/TransactionsMenu/api.ts
@@ -12989,7 +12873,7 @@ var formatTimestamp = (timestampMs) => {
12989
12873
  };
12990
12874
 
12991
12875
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
12992
- import { Fragment as Fragment24, jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
12876
+ import { Fragment as Fragment26, jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
12993
12877
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
12994
12878
  const internalSymbol = internal.assetSymbol || assetSymbol;
12995
12879
  const internalDecimals = internal.decimals ?? assetDecimals;
@@ -13066,7 +12950,7 @@ function TransactionsGroup(props) {
13066
12950
  )
13067
12951
  ] })
13068
12952
  ] }),
13069
- internalsToRender.length > 0 && /* @__PURE__ */ jsxs61(Fragment24, { children: [
12953
+ internalsToRender.length > 0 && /* @__PURE__ */ jsxs61(Fragment26, { children: [
13070
12954
  /* @__PURE__ */ jsxs61("div", { className: "w-full flex items-center", children: [
13071
12955
  /* @__PURE__ */ jsx69("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13072
12956
  /* @__PURE__ */ jsx69("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
@@ -13116,7 +13000,7 @@ function TransactionsGroup(props) {
13116
13000
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13117
13001
  import { jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
13118
13002
  function TransactionsMenu() {
13119
- const qc = useQueryClient19();
13003
+ const qc = useQueryClient18();
13120
13004
  const address = useLumiaPassportSession((st) => st.address);
13121
13005
  const page = useLayoutDataStore((st) => st.page);
13122
13006
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -13127,7 +13011,7 @@ function TransactionsMenu() {
13127
13011
  isLoading: isTxHistoryLoading,
13128
13012
  isFetching: isTxHistoryFetching,
13129
13013
  error: txHistoryError
13130
- } = useQuery18({
13014
+ } = useQuery17({
13131
13015
  retry: false,
13132
13016
  enabled: !!address && page === "transactions",
13133
13017
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
@@ -13143,12 +13027,12 @@ function TransactionsMenu() {
13143
13027
  {
13144
13028
  style: {
13145
13029
  "--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
13146
- "--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
13030
+ "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
13147
13031
  },
13148
13032
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
13149
13033
  children: /* @__PURE__ */ jsxs62(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13150
13034
  /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13151
- /* @__PURE__ */ jsx70(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx70(ArrowLeft18, { className: "h-4 w-4" }) }),
13035
+ /* @__PURE__ */ jsx70(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx70(ArrowLeft16, { className: "h-4 w-4" }) }),
13152
13036
  /* @__PURE__ */ jsx70("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13153
13037
  /* @__PURE__ */ jsx70(
13154
13038
  Button,
@@ -13158,11 +13042,11 @@ function TransactionsMenu() {
13158
13042
  onClick: refreshTxHistory,
13159
13043
  disabled: isTxHistoryFetching,
13160
13044
  title: "Refresh transactions",
13161
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx70(Loader22, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx70(RefreshCw3, { className: "h-4 w-4" })
13045
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx70(Loader24, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx70(RefreshCw3, { className: "h-4 w-4" })
13162
13046
  }
13163
13047
  )
13164
13048
  ] }),
13165
- isTxHistoryLoading && /* @__PURE__ */ jsx70("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx70(Loader22, { className: "h-5 w-5 animate-spin" }) }),
13049
+ isTxHistoryLoading && /* @__PURE__ */ jsx70("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx70(Loader24, { className: "h-5 w-5 animate-spin" }) }),
13166
13050
  !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs62(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13167
13051
  /* @__PURE__ */ jsx70(XCircle2, { className: "w-4 h-4 flex-none" }),
13168
13052
  /* @__PURE__ */ jsx70("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
@@ -13287,8 +13171,6 @@ import { jsx as jsx71 } from "react/jsx-runtime";
13287
13171
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
13288
13172
  function usePageMapper() {
13289
13173
  const page = useLayoutDataStore((st) => st.page);
13290
- const session = useLumiaPassportSession((st) => st.session);
13291
- const protectedRoutes = !!session ? PAGE_MAP : PAGE_MAP;
13292
13174
  const {
13293
13175
  setDialogTitle,
13294
13176
  setDialogDescription,
@@ -13318,21 +13200,21 @@ function usePageMapper() {
13318
13200
  },
13319
13201
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
13320
13202
  );
13321
- useEffect31(() => {
13203
+ useEffect28(() => {
13322
13204
  if (page === null) return closeDialog();
13323
- const pageItem = protectedRoutes[page];
13205
+ const pageItem = PAGE_MAP[page];
13324
13206
  if (!pageItem) {
13325
13207
  alert(`[PASSPORT MAPPER]: Requested page "${page}" is not existing or not allowed. Closing dialog...`);
13326
13208
  closeDialog();
13327
13209
  return;
13328
13210
  }
13329
13211
  openDialog(pageItem);
13330
- }, [protectedRoutes, page, closeDialog, openDialog]);
13212
+ }, [page, closeDialog, openDialog]);
13331
13213
  }
13332
13214
 
13333
13215
  // src/internal/hooks/useSettingsNotifications.ts
13334
13216
  init_auth();
13335
- import { useEffect as useEffect32 } from "react";
13217
+ import { useEffect as useEffect29 } from "react";
13336
13218
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
13337
13219
  id: "email-not-connected",
13338
13220
  target: "manage-wallet" /* MANAGE_WALLET */,
@@ -13342,7 +13224,7 @@ function useSettingsNotifications() {
13342
13224
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
13343
13225
  const providers = jwtTokenManager2.getProviders();
13344
13226
  const hasEmail = providers.includes("email");
13345
- useEffect32(() => {
13227
+ useEffect29(() => {
13346
13228
  setSettingsNotifications({
13347
13229
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
13348
13230
  status: hasEmail ? "resolved" : "active"
@@ -13351,7 +13233,7 @@ function useSettingsNotifications() {
13351
13233
  }
13352
13234
 
13353
13235
  // src/internal/hooks/useWalletStatus.ts
13354
- import { useEffect as useEffect33 } from "react";
13236
+ import { useEffect as useEffect30 } from "react";
13355
13237
  init_auth();
13356
13238
  function useWalletStatus() {
13357
13239
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
@@ -13361,7 +13243,7 @@ function useWalletStatus() {
13361
13243
  config: { current: config },
13362
13244
  callbacks
13363
13245
  } = useLumiaPassportConfig();
13364
- useEffect33(() => {
13246
+ useEffect30(() => {
13365
13247
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
13366
13248
  const userId = jwtTokenManager2.getUserId();
13367
13249
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -13391,15 +13273,13 @@ function LumiaPassportDialog() {
13391
13273
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
13392
13274
  const setPage = useLayoutDataStore((st) => st.setPage);
13393
13275
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
13394
- useEffect34(() => setIsSettings(!!session), [session, setIsSettings]);
13276
+ useEffect31(() => setIsSettings(!!session), [session, setIsSettings]);
13395
13277
  usePageMapper();
13396
13278
  useAutoConnect();
13397
- useCheckVaultStatus();
13398
13279
  useBackupStatusChanges();
13399
13280
  useDetectMaxScrollHeight();
13400
13281
  useSettingsNotifications();
13401
13282
  useListenIframeAuthEvents();
13402
- useBackupWarning();
13403
13283
  useWalletStatus();
13404
13284
  const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
13405
13285
  return /* @__PURE__ */ jsx72(
@@ -13477,11 +13357,11 @@ var TssManagerWithRef = React8.forwardRef((props, ref) => {
13477
13357
  // src/internal/components/WalletConnectHandler.tsx
13478
13358
  init_wallet();
13479
13359
  import { useConnectModal } from "@rainbow-me/rainbowkit";
13480
- import { useMutation as useMutation16, useQueryClient as useQueryClient20 } from "@tanstack/react-query";
13481
- import React9, { useCallback as useCallback21, useEffect as useEffect35 } from "react";
13360
+ import { useMutation as useMutation15, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
13361
+ import React9, { useCallback as useCallback21, useEffect as useEffect32 } from "react";
13482
13362
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
13483
13363
  function WalletConnectHandler() {
13484
- const qc = useQueryClient20();
13364
+ const qc = useQueryClient19();
13485
13365
  const callbacks = useLumiaPassportConfig().callbacks;
13486
13366
  const passportWalletAddress = useLumiaPassportSession((st) => st.address);
13487
13367
  const { address: walletAddress, isConnected, chain, connector } = useAccount();
@@ -13523,7 +13403,7 @@ function WalletConnectHandler() {
13523
13403
  [qc, passportWalletAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
13524
13404
  );
13525
13405
  const [hasStartedLinking, setHasStartedLinking] = React9.useState(false);
13526
- useEffect35(() => {
13406
+ useEffect32(() => {
13527
13407
  if (isWalletLinking && !hasStartedLinking) {
13528
13408
  setHasStartedLinking(true);
13529
13409
  setProviderType(null);
@@ -13543,14 +13423,14 @@ function WalletConnectHandler() {
13543
13423
  if (isConnected) disconnect();
13544
13424
  }
13545
13425
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
13546
- useEffect35(() => {
13426
+ useEffect32(() => {
13547
13427
  if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
13548
13428
  console.log("[WalletConnectHandler] Modal closed without connecting");
13549
13429
  onLinkingComplete(false);
13550
13430
  setHasStartedLinking(false);
13551
13431
  }
13552
13432
  }, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
13553
- const { mutate: handleWalletSign, isPending: isWalletSigning } = useMutation16({
13433
+ const { mutate: handleWalletSign, isPending: isWalletSigning } = useMutation15({
13554
13434
  mutationFn: async (payload) => {
13555
13435
  const { chainId, signingWalletAddress } = payload;
13556
13436
  if (!signingWalletAddress || !chainId) {
@@ -13619,7 +13499,7 @@ function WalletConnectHandler() {
13619
13499
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
13620
13500
  }
13621
13501
  });
13622
- useEffect35(() => {
13502
+ useEffect32(() => {
13623
13503
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
13624
13504
  console.log("[WalletConnectHandler] handleWalletSign triggered");
13625
13505
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
@@ -13655,7 +13535,7 @@ var useLumiaPassportSession = create6((set) => ({
13655
13535
  }));
13656
13536
  function LumiaPassportSessionProvider({ children }) {
13657
13537
  const config = useLumiaPassportConfig().config;
13658
- return /* @__PURE__ */ jsxs64(Fragment25, { children: [
13538
+ return /* @__PURE__ */ jsxs64(Fragment27, { children: [
13659
13539
  children,
13660
13540
  config.current?.wallet?.enabled && /* @__PURE__ */ jsx73(WalletConnectHandler, {}),
13661
13541
  /* @__PURE__ */ jsx73(BalanceFeedProvider, {}),
@@ -13712,8 +13592,8 @@ function LumiaPassportProvider(props) {
13712
13592
  const { children, projectId, initialConfig = {}, callbacks } = props;
13713
13593
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
13714
13594
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
13715
- useEffect36(() => notifyNoProjetctId(projectId), [projectId]);
13716
- const config = useRef14({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
13595
+ useEffect33(() => notifyNoProjetctId(projectId), [projectId]);
13596
+ const config = useRef13({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
13717
13597
  const updateConfig = useCallback22((updates) => {
13718
13598
  const prev = config.current;
13719
13599
  const next = { ...prev };
@@ -13749,7 +13629,7 @@ function LumiaPassportProvider(props) {
13749
13629
  }
13750
13630
  config.current = next;
13751
13631
  }, []);
13752
- useEffect36(() => {
13632
+ useEffect33(() => {
13753
13633
  if (typeof window === "undefined" || !projectId) return;
13754
13634
  const mergedConfig = merge2(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
13755
13635
  updateConfig(mergedConfig);
@@ -13804,10 +13684,12 @@ var useLumiaPassportConfig = () => {
13804
13684
  };
13805
13685
 
13806
13686
  // src/components/ConnectWalletButton.tsx
13807
- import { Cloud as Cloud5, Laptop as Laptop2, Loader as Loader23, Shield as Shield2 } from "lucide-react";
13808
- import { useEffect as useEffect37, useMemo as useMemo6 } from "react";
13687
+ import { useQuery as useQuery18 } from "@tanstack/react-query";
13688
+ import { Cloud as Cloud5, Laptop as Laptop2, Loader as Loader25, Shield as Shield2 } from "lucide-react";
13689
+ import { useEffect as useEffect34, useMemo as useMemo6 } from "react";
13809
13690
  init_auth();
13810
- import { Fragment as Fragment26, jsx as jsx76, jsxs as jsxs65 } from "react/jsx-runtime";
13691
+ init_profile();
13692
+ import { Fragment as Fragment28, jsx as jsx76, jsxs as jsxs65 } from "react/jsx-runtime";
13811
13693
  function getFormattedStatus(label, status, showStatus) {
13812
13694
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
13813
13695
  if (!isStatus) return label;
@@ -13826,9 +13708,15 @@ function ConnectWalletButton(props) {
13826
13708
  const colorMode = useLayoutStore((st) => st.colorMode);
13827
13709
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
13828
13710
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
13829
- useEffect37(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
13711
+ useEffect34(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
13712
+ const { data: profile, isLoading: isProfileLoading } = useQuery18({
13713
+ retry: false,
13714
+ enabled: !!address,
13715
+ queryKey: [QUERY_KEYS.userProfile, address],
13716
+ queryFn: getUserProfile
13717
+ });
13830
13718
  const avatar = jwtTokenManager2.getAvatar();
13831
- const displayName = jwtTokenManager2.getDisplayName();
13719
+ const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
13832
13720
  const indicators = useMemo6(() => {
13833
13721
  const userId = jwtTokenManager2.getUserId();
13834
13722
  if (!userId) return { server: false, local: false, backup: false };
@@ -13839,14 +13727,14 @@ function ConnectWalletButton(props) {
13839
13727
  const isConnecting = connectButtonLabel !== label || isLoading;
13840
13728
  return /* @__PURE__ */ jsx76("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
13841
13729
  /** external Buttons can be provided */
13842
- /* @__PURE__ */ jsx76(Fragment26, { children: ConnectButton ? /* @__PURE__ */ jsxs65(
13730
+ /* @__PURE__ */ jsx76(Fragment28, { children: ConnectButton ? /* @__PURE__ */ jsxs65(
13843
13731
  ConnectButton,
13844
13732
  {
13845
13733
  type: "button",
13846
13734
  disabled: isConnecting,
13847
13735
  onClick: () => setPage("auth" /* AUTH */),
13848
13736
  children: [
13849
- isConnecting && /* @__PURE__ */ jsx76(Loader23, { className: "w-4 h-4 animate-spin" }),
13737
+ isConnecting && /* @__PURE__ */ jsx76(Loader25, { className: "w-4 h-4 animate-spin" }),
13850
13738
  connectButtonLabel
13851
13739
  ]
13852
13740
  }
@@ -13867,7 +13755,7 @@ function ConnectWalletButton(props) {
13867
13755
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
13868
13756
  ),
13869
13757
  children: [
13870
- isConnecting && /* @__PURE__ */ jsx76(Loader23, { className: "w-4 h-4 animate-spin" }),
13758
+ isConnecting && /* @__PURE__ */ jsx76(Loader25, { className: "w-4 h-4 animate-spin" }),
13871
13759
  connectButtonLabel.toUpperCase()
13872
13760
  ]
13873
13761
  }
@@ -13888,7 +13776,7 @@ function ConnectWalletButton(props) {
13888
13776
  /* @__PURE__ */ jsx76("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx76("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx76(LumiaIcon, { width: 48, height: 48 }) }),
13889
13777
  /* @__PURE__ */ jsxs65("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
13890
13778
  /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13891
- /* @__PURE__ */ jsx76("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
13779
+ isProfileLoading ? /* @__PURE__ */ jsx76(Loader25, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx76("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
13892
13780
  /* @__PURE__ */ jsx76(KYCStatus, {})
13893
13781
  ] }),
13894
13782
  /* @__PURE__ */ jsx76(BalanceView, {})
@@ -14022,7 +13910,7 @@ function useLumiaPassportOpen() {
14022
13910
  }
14023
13911
 
14024
13912
  // src/hooks/useLumiaPassportColorMode.ts
14025
- import { useCallback as useCallback24, useEffect as useEffect38 } from "react";
13913
+ import { useCallback as useCallback24, useEffect as useEffect35 } from "react";
14026
13914
  function useLumiaPassportColorMode() {
14027
13915
  const {
14028
13916
  config: { current: config }
@@ -14037,7 +13925,7 @@ function useLumiaPassportColorMode() {
14037
13925
  },
14038
13926
  [handleStoreColorMode]
14039
13927
  );
14040
- useEffect38(() => {
13928
+ useEffect35(() => {
14041
13929
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
14042
13930
  if (!targetColorMode && !preferedColorMode) {
14043
13931
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -14308,7 +14196,7 @@ var rainbowTheme = {
14308
14196
 
14309
14197
  // src/context/RainbowKitContext.tsx
14310
14198
  import "@rainbow-me/rainbowkit/styles.css";
14311
- import { Fragment as Fragment27, jsx as jsx78 } from "react/jsx-runtime";
14199
+ import { Fragment as Fragment29, jsx as jsx78 } from "react/jsx-runtime";
14312
14200
  function LumiaRainbowKitProvider({ children }) {
14313
14201
  const config = useLumiaPassportConfig().config;
14314
14202
  const colorMode = useLayoutStore((st) => st.colorMode);
@@ -14327,7 +14215,7 @@ function LumiaRainbowKitProvider({ children }) {
14327
14215
  },
14328
14216
  [colorMode]
14329
14217
  );
14330
- if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx78(Fragment27, { children });
14218
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx78(Fragment29, { children });
14331
14219
  return /* @__PURE__ */ jsx78(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx78(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
14332
14220
  }
14333
14221
 
@@ -14766,13 +14654,13 @@ var Hash = ({
14766
14654
 
14767
14655
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
14768
14656
  init_base();
14769
- import { useEffect as useEffect40, useState as useState24 } from "react";
14657
+ import { useEffect as useEffect37, useState as useState24 } from "react";
14770
14658
  import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime";
14771
14659
  var TransactionsList = ({ address, itemsCount = 10 }) => {
14772
14660
  const [transactions, setTransactions] = useState24([]);
14773
14661
  const [loading, setLoading] = useState24(true);
14774
14662
  const [error, setError] = useState24(null);
14775
- useEffect40(() => {
14663
+ useEffect37(() => {
14776
14664
  const fetchTransactions = async () => {
14777
14665
  try {
14778
14666
  setLoading(true);