@lumiapassport/ui-kit 1.15.2 → 1.15.3

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
@@ -4528,7 +4528,7 @@ var init_profile = __esm({
4528
4528
  });
4529
4529
 
4530
4530
  // src/styles/built.css
4531
- 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-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-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}';
4531
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .sticky{position:sticky}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-0{right:0}.lumia-scope .-right-0\\.5{right:-.125rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-0{top:0}.lumia-scope .-top-0\\.5{top:-.125rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-1{height:.25rem}.lumia-scope .h-1\\.5{height:.375rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-64{max-height:16rem}.lumia-scope .max-h-80{max-height:20rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .max-h-full{max-height:100%}.lumia-scope .w-1{width:.25rem}.lumia-scope .w-1\\.5{width:.375rem}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-72{width:18rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[80px\\]{max-width:80px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .rotate-180{--tw-rotate:180deg}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[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 .tracking-wider{letter-spacing:.05em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#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-bg-secondary\\)\\]:hover{background-color:var(--l-pass-bg-secondary)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\: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}';
4532
4532
 
4533
4533
  // src/context/LumiaPassportContext.tsx
4534
4534
  init_lumiaPassport();
@@ -4537,15 +4537,15 @@ import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-trackin
4537
4537
  import { merge as merge2 } from "lodash-es";
4538
4538
  import {
4539
4539
  createContext,
4540
- useCallback as useCallback22,
4540
+ useCallback as useCallback23,
4541
4541
  useContext,
4542
- useEffect as useEffect33,
4543
- useMemo as useMemo6,
4544
- useRef as useRef13
4542
+ useEffect as useEffect34,
4543
+ useMemo as useMemo7,
4544
+ useRef as useRef15
4545
4545
  } from "react";
4546
4546
 
4547
4547
  // src/context/LumiaPassportSessionContext.tsx
4548
- import { Fragment as Fragment27 } from "react";
4548
+ import { Fragment as Fragment28 } from "react";
4549
4549
  import { create as create6 } from "zustand";
4550
4550
 
4551
4551
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
@@ -4724,7 +4724,7 @@ function BalanceFeedProvider() {
4724
4724
 
4725
4725
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4726
4726
  import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
4727
- import { useEffect as useEffect31 } from "react";
4727
+ import { useEffect as useEffect32 } from "react";
4728
4728
 
4729
4729
  // src/internal/components/Footer/Footer.tsx
4730
4730
  import { useMutation, useQueryClient } from "@tanstack/react-query";
@@ -5043,8 +5043,8 @@ function LumiaIcon(props) {
5043
5043
 
5044
5044
  // src/internal/components/Header/Header.tsx
5045
5045
  import { useQuery as useQuery3 } from "@tanstack/react-query";
5046
- import { Copy, Loader as Loader3 } from "lucide-react";
5047
- import { useState as useState3 } from "react";
5046
+ import { Copy, Loader as Loader3, X } from "lucide-react";
5047
+ import { useCallback, useRef as useRef2, useState as useState3 } from "react";
5048
5048
 
5049
5049
  // src/internal/assets/PositiveIcon.tsx
5050
5050
  import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
@@ -5407,6 +5407,23 @@ function Header() {
5407
5407
  const config = useLumiaPassportConfig().config;
5408
5408
  const address = useLumiaPassportSession((st) => st.address);
5409
5409
  const [copied, setCopied] = useState3(false);
5410
+ const [showEasterEgg, setShowEasterEgg] = useState3(false);
5411
+ const clickCountRef = useRef2(0);
5412
+ const clickTimerRef = useRef2(null);
5413
+ const handleAvatarClick = useCallback(() => {
5414
+ clickCountRef.current += 1;
5415
+ if (clickTimerRef.current) {
5416
+ clearTimeout(clickTimerRef.current);
5417
+ }
5418
+ if (clickCountRef.current >= 5) {
5419
+ clickCountRef.current = 0;
5420
+ setShowEasterEgg(true);
5421
+ } else {
5422
+ clickTimerRef.current = setTimeout(() => {
5423
+ clickCountRef.current = 0;
5424
+ }, 1e3);
5425
+ }
5426
+ }, []);
5410
5427
  const { data: profile, isLoading: isProfileLoading } = useQuery3({
5411
5428
  retry: false,
5412
5429
  enabled: !!address,
@@ -5424,7 +5441,14 @@ function Header() {
5424
5441
  className: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)] pt-5",
5425
5442
  children: [
5426
5443
  /* @__PURE__ */ jsxs11("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
5427
- /* @__PURE__ */ jsx12("div", { className: "flex-none w-12 h-12 flex items-center justify-center", children: avatar ? /* @__PURE__ */ jsx12("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx12(LumiaIcon, { width: 48, height: 48 }) }),
5444
+ /* @__PURE__ */ jsx12(
5445
+ "div",
5446
+ {
5447
+ className: "flex-none w-12 h-12 flex items-center justify-center cursor-pointer select-none",
5448
+ onClick: handleAvatarClick,
5449
+ children: avatar ? /* @__PURE__ */ jsx12("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx12(LumiaIcon, { width: 48, height: 48 })
5450
+ }
5451
+ ),
5428
5452
  /* @__PURE__ */ jsxs11(
5429
5453
  "div",
5430
5454
  {
@@ -5502,7 +5526,35 @@ function Header() {
5502
5526
  }
5503
5527
  )
5504
5528
  ] })
5505
- ] })
5529
+ ] }),
5530
+ showEasterEgg && /* @__PURE__ */ jsxs11(
5531
+ "div",
5532
+ {
5533
+ className: "fixed inset-0 z-[9999] bg-black/90 flex items-center justify-center",
5534
+ onClick: () => setShowEasterEgg(false),
5535
+ children: [
5536
+ /* @__PURE__ */ jsx12(
5537
+ "button",
5538
+ {
5539
+ className: "absolute top-4 right-4 text-white hover:text-gray-300 transition-colors",
5540
+ onClick: () => setShowEasterEgg(false),
5541
+ children: /* @__PURE__ */ jsx12(X, { className: "w-8 h-8" })
5542
+ }
5543
+ ),
5544
+ /* @__PURE__ */ jsx12(
5545
+ "video",
5546
+ {
5547
+ autoPlay: true,
5548
+ controls: true,
5549
+ className: "max-w-full max-h-full",
5550
+ onEnded: () => setShowEasterEgg(false),
5551
+ onClick: (e) => e.stopPropagation(),
5552
+ children: /* @__PURE__ */ jsx12("source", { src: "https://github.com/cyberkostyan/ABrobot-ESP32-C3/raw/main/2026.webm", type: "video/webm" })
5553
+ }
5554
+ )
5555
+ ]
5556
+ }
5557
+ )
5506
5558
  ]
5507
5559
  }
5508
5560
  );
@@ -5511,7 +5563,7 @@ function Header() {
5511
5563
  // package.json
5512
5564
  var package_default = {
5513
5565
  name: "@lumiapassport/ui-kit",
5514
- version: "1.15.2",
5566
+ version: "1.15.3",
5515
5567
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
5516
5568
  type: "module",
5517
5569
  main: "./dist/index.cjs",
@@ -5602,7 +5654,7 @@ var package_default = {
5602
5654
  // src/internal/components/ui/dialog.tsx
5603
5655
  import * as DialogPrimitive from "@radix-ui/react-dialog";
5604
5656
  import { merge } from "lodash-es";
5605
- import { ArrowLeft as ArrowLeft2, SlidersHorizontal, X } from "lucide-react";
5657
+ import { ArrowLeft as ArrowLeft2, SlidersHorizontal, X as X2 } from "lucide-react";
5606
5658
  import { forwardRef as forwardRef3 } from "react";
5607
5659
  import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
5608
5660
  var Dialog = DialogPrimitive.Root;
@@ -5707,7 +5759,7 @@ var DialogContent = forwardRef3(
5707
5759
  }
5708
5760
  ),
5709
5761
  /* @__PURE__ */ jsx13(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs12(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
5710
- /* @__PURE__ */ jsx13(X, { className: "h-4 w-4" }),
5762
+ /* @__PURE__ */ jsx13(X2, { className: "h-4 w-4" }),
5711
5763
  /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Close" })
5712
5764
  ] }) })
5713
5765
  ]
@@ -5743,11 +5795,11 @@ import { jsx as jsx14 } from "react/jsx-runtime";
5743
5795
  var VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx14("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
5744
5796
 
5745
5797
  // src/internal/hooks/useListenIframeAuthEvents.ts
5746
- import { useCallback, useEffect as useEffect3 } from "react";
5798
+ import { useCallback as useCallback2, useEffect as useEffect3 } from "react";
5747
5799
  function useListenIframeAuthEvents() {
5748
5800
  const setPage = useLayoutDataStore((state) => state.setPage);
5749
5801
  const setIsIframeReady = useLumiaPassportSession((state) => state.setIsIframeReady);
5750
- const handleIframeMessage = useCallback(
5802
+ const handleIframeMessage = useCallback2(
5751
5803
  (event) => {
5752
5804
  if (event.data?.type === "LUMIA_PASSPORT_IFRAME_READY") {
5753
5805
  console.log("[ IFRAME MESSAGE CACTHED ] Iframe is ready");
@@ -5769,7 +5821,7 @@ function useListenIframeAuthEvents() {
5769
5821
  }
5770
5822
 
5771
5823
  // src/internal/hooks/useAutoConnect.ts
5772
- import { useCallback as useCallback2, useEffect as useEffect4, useRef as useRef2 } from "react";
5824
+ import { useCallback as useCallback3, useEffect as useEffect4, useRef as useRef3 } from "react";
5773
5825
  function useAutoConnect() {
5774
5826
  const {
5775
5827
  config: { current: config },
@@ -5789,7 +5841,7 @@ function useAutoConnect() {
5789
5841
  setIsIframeReady,
5790
5842
  setIsLoading
5791
5843
  } = useLumiaPassportSession();
5792
- const createSessionWithKeyshare = useCallback2(
5844
+ const createSessionWithKeyshare = useCallback3(
5793
5845
  async (userId, hasServerKeyshare, isNewUser) => {
5794
5846
  try {
5795
5847
  try {
@@ -5823,7 +5875,7 @@ function useAutoConnect() {
5823
5875
  },
5824
5876
  [usePaymaster, setStatus, callbacks]
5825
5877
  );
5826
- const autoConnectAttemptedRef = useRef2(false);
5878
+ const autoConnectAttemptedRef = useRef3(false);
5827
5879
  useEffect4(() => {
5828
5880
  if (autoConnectAttemptedRef.current) return;
5829
5881
  setIsLoading(true);
@@ -5990,13 +6042,13 @@ function useBackupStatusChanges() {
5990
6042
 
5991
6043
  // src/internal/hooks/useDetectMaxScrollHeight.ts
5992
6044
  import { debounce } from "lodash-es";
5993
- import { useCallback as useCallback3, useEffect as useEffect6 } from "react";
6045
+ import { useCallback as useCallback4, useEffect as useEffect6 } from "react";
5994
6046
  var DEBOUNCE_DELAY = 50;
5995
6047
  function useDetectMaxScrollHeight() {
5996
6048
  const page = useLayoutDataStore((state) => state.page);
5997
6049
  const setIsMobileView = useLayoutStore((state) => state.setIsMobileView);
5998
6050
  const setMaxScrollHeight = useLayoutStore((state) => state.setMaxScrollHeight);
5999
- const onResize = useCallback3(
6051
+ const onResize = useCallback4(
6000
6052
  debounce(({ width, height }) => {
6001
6053
  const headerHeight = page === "auth" /* AUTH */ || page === "keyshare-restore" /* KEYSHARE_RESTORE */ ? 0 : 116;
6002
6054
  const limContentHeight = height * 0.92 - headerHeight - 57;
@@ -6014,24 +6066,24 @@ function useDetectMaxScrollHeight() {
6014
6066
  }
6015
6067
 
6016
6068
  // src/internal/hooks/usePageMapper.tsx
6017
- import { useCallback as useCallback19, useEffect as useEffect28 } from "react";
6069
+ import { useCallback as useCallback20, useEffect as useEffect29 } from "react";
6018
6070
 
6019
6071
  // src/internal/components/AuthMenu/AuthMenu.tsx
6020
6072
  import { AnimatePresence, motion } from "framer-motion";
6021
6073
  import { AlertTriangle as AlertTriangle2, Loader as Loader6 } from "lucide-react";
6022
- import { useEffect as useEffect9, useMemo, useRef as useRef8, useState as useState6 } from "react";
6074
+ import { useEffect as useEffect9, useMemo, useRef as useRef9, useState as useState6 } from "react";
6023
6075
 
6024
6076
  // src/internal/components/Expandable/hooks/useExpandable.ts
6025
- import { useCallback as useCallback4, useEffect as useEffect7, useRef as useRef3 } from "react";
6077
+ import { useCallback as useCallback5, useEffect as useEffect7, useRef as useRef4 } from "react";
6026
6078
  var useExpandable = (props) => {
6027
6079
  const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
6028
- const expandableRef = useRef3(null);
6029
- const contentRef = useRef3(null);
6080
+ const expandableRef = useRef4(null);
6081
+ const contentRef = useRef4(null);
6030
6082
  useEffect7(() => {
6031
6083
  if (!expandableRef.current) return;
6032
6084
  expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
6033
6085
  }, []);
6034
- const setExpandableHeight = useCallback4(
6086
+ const setExpandableHeight = useCallback5(
6035
6087
  (isExpnd) => {
6036
6088
  if (!contentRef.current || !expandableRef.current) return;
6037
6089
  expandableRef.current.style.setProperty(
@@ -6172,7 +6224,7 @@ function AuthFailedStep() {
6172
6224
 
6173
6225
  // src/internal/components/AuthMenu/PassKeyStep.tsx
6174
6226
  import { ArrowLeft as ArrowLeft3, Key as Key3 } from "lucide-react";
6175
- import { useCallback as useCallback5 } from "react";
6227
+ import { useCallback as useCallback6 } from "react";
6176
6228
 
6177
6229
  // src/internal/assets/PasskeyAddIcon.tsx
6178
6230
  import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
@@ -6226,7 +6278,7 @@ function PassKeyStep(props) {
6226
6278
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6227
6279
  const autoCloseOnSuccess = !recoveryUserId;
6228
6280
  const { passkeyStatus, setStep, setPasskeyStatus, setAlert, setEmail, setFailedType } = useAuthStore();
6229
- const onPasskeyRegister = useCallback5(async () => {
6281
+ const onPasskeyRegister = useCallback6(async () => {
6230
6282
  setAlert(null);
6231
6283
  setPasskeyStatus("registering passkey...");
6232
6284
  setIsLoading(true);
@@ -6285,7 +6337,7 @@ function PassKeyStep(props) {
6285
6337
  setIsLoading(false);
6286
6338
  }
6287
6339
  }, [onAuthSuccess, setPage, callbacks]);
6288
- const onPasskeyAuth = useCallback5(async () => {
6340
+ const onPasskeyAuth = useCallback6(async () => {
6289
6341
  setAlert(null);
6290
6342
  setPasskeyStatus("checking available passkeys...");
6291
6343
  setIsLoading(true);
@@ -6417,14 +6469,14 @@ init_lumiaPassport();
6417
6469
  init_projectId();
6418
6470
  import { useMutation as useMutation3 } from "@tanstack/react-query";
6419
6471
  import { ChevronRight, Loader as Loader4, Mail as Mail3 } from "lucide-react";
6420
- import { useRef as useRef5 } from "react";
6472
+ import { useRef as useRef6 } from "react";
6421
6473
 
6422
6474
  // src/internal/components/ui/input.tsx
6423
- import React, { useImperativeHandle, useRef as useRef4 } from "react";
6475
+ import React, { useImperativeHandle, useRef as useRef5 } from "react";
6424
6476
  import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
6425
6477
  var Input = React.forwardRef((props, ref) => {
6426
6478
  const { className, disabled, error, Icon: Icon2, element, ...inputProps } = props;
6427
- const internalRef = useRef4(null);
6479
+ const internalRef = useRef5(null);
6428
6480
  useImperativeHandle(ref, () => internalRef.current);
6429
6481
  return /* @__PURE__ */ jsxs16("div", { className: cn("w-full flex flex-col gap-1", className), children: [
6430
6482
  /* @__PURE__ */ jsxs16(
@@ -6472,7 +6524,7 @@ Input.displayName = "Input";
6472
6524
  import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
6473
6525
  function Email() {
6474
6526
  const { config, callbacks } = useLumiaPassportConfig();
6475
- const buttonRef = useRef5(null);
6527
+ const buttonRef = useRef6(null);
6476
6528
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
6477
6529
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6478
6530
  const { email, alert: alert2, setEmail, setExpiresIn, setStep, setAlert } = useAuthStore();
@@ -6575,7 +6627,7 @@ function Email() {
6575
6627
  init_assets();
6576
6628
  init_lumiaPassport();
6577
6629
  init_auth();
6578
- import { useCallback as useCallback6 } from "react";
6630
+ import { useCallback as useCallback7 } from "react";
6579
6631
  init_projectId();
6580
6632
 
6581
6633
  // src/internal/components/AuthMenu/SignInStep/utils.ts
@@ -6746,7 +6798,7 @@ function Social(props) {
6746
6798
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6747
6799
  const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
6748
6800
  const { alert: alert2, setStep, setEmail, setFailedType, setAlert, setPasskeyStatus } = useAuthStore();
6749
- const onSocialAuth = useCallback6(
6801
+ const onSocialAuth = useCallback7(
6750
6802
  async (providerId) => {
6751
6803
  const normalizedProviderId = providerId.toLowerCase();
6752
6804
  const provider = config.current?.social?.providers?.find(
@@ -7074,11 +7126,11 @@ function SignInStep(props) {
7074
7126
  // src/internal/components/AuthMenu/useAuthMenuHanders.ts
7075
7127
  init_auth();
7076
7128
  import { useQueryClient as useQueryClient2 } from "@tanstack/react-query";
7077
- import { useCallback as useCallback7, useRef as useRef6, useState as useState4 } from "react";
7129
+ import { useCallback as useCallback8, useRef as useRef7, useState as useState4 } from "react";
7078
7130
  function useAuthMenuHandlers() {
7079
7131
  const { config, callbacks } = useLumiaPassportConfig();
7080
7132
  const qc = useQueryClient2();
7081
- const pendingLoginResponseRef = useRef6(null);
7133
+ const pendingLoginResponseRef = useRef7(null);
7082
7134
  const setPage = useLayoutDataStore((st) => st.setPage);
7083
7135
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
7084
7136
  const [telegramCleanup, setTelegramCleanup] = useState4(null);
@@ -7094,7 +7146,7 @@ function useAuthMenuHandlers() {
7094
7146
  } = useLumiaPassportSession();
7095
7147
  const setStep = useAuthStore((st) => st.setStep);
7096
7148
  const setAlert = useAuthStore((st) => st.setAlert);
7097
- const createSessionWithKeyshare = useCallback7(
7149
+ const createSessionWithKeyshare = useCallback8(
7098
7150
  async (userId, hasServerKeyshare, isNewUser) => {
7099
7151
  try {
7100
7152
  try {
@@ -7128,7 +7180,7 @@ function useAuthMenuHandlers() {
7128
7180
  },
7129
7181
  [setStatus, callbacks, usePaymaster]
7130
7182
  );
7131
- const onAuthSuccess = useCallback7(async () => {
7183
+ const onAuthSuccess = useCallback8(async () => {
7132
7184
  setIsLoading(true);
7133
7185
  const loginResponse = pendingLoginResponseRef.current;
7134
7186
  if (!loginResponse || !loginResponse.userId) {
@@ -7231,7 +7283,7 @@ function useAuthMenuHandlers() {
7231
7283
  setIsDialogForced,
7232
7284
  createSessionWithKeyshare
7233
7285
  ]);
7234
- const goBackToSignIn = useCallback7(() => {
7286
+ const goBackToSignIn = useCallback8(() => {
7235
7287
  setStep("signin");
7236
7288
  setAlert(null);
7237
7289
  if (telegramCleanup) {
@@ -7268,7 +7320,7 @@ function OtpIcon(props) {
7268
7320
  init_projectId();
7269
7321
 
7270
7322
  // src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
7271
- import { useEffect as useEffect8, useRef as useRef7, useState as useState5 } from "react";
7323
+ import { useEffect as useEffect8, useRef as useRef8, useState as useState5 } from "react";
7272
7324
  import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
7273
7325
  var VerificationCodeInput = (props) => {
7274
7326
  const { onVerifyCode, onResendCode, isLoading, expiresIn } = props;
@@ -7279,8 +7331,8 @@ var VerificationCodeInput = (props) => {
7279
7331
  const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
7280
7332
  return () => clearInterval(t);
7281
7333
  }, []);
7282
- const lastSubmittedRef = useRef7(null);
7283
- const inputsRef = useRef7([]);
7334
+ const lastSubmittedRef = useRef8(null);
7335
+ const inputsRef = useRef8([]);
7284
7336
  const [digits, setDigits] = useState5(["", "", "", "", "", ""]);
7285
7337
  useEffect8(() => {
7286
7338
  const code = digits.join("");
@@ -7568,7 +7620,7 @@ var AuthMenu = () => {
7568
7620
  const { step, alert: alert2, setStep, setPasskeyStatus, setEmail, setAlert } = useAuthStore();
7569
7621
  const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn } = useAuthMenuHandlers();
7570
7622
  const [isAlertShowReady, setIsAlertShowReady] = useState6(false);
7571
- const readyTimeout = useRef8(null);
7623
+ const readyTimeout = useRef9(null);
7572
7624
  useEffect9(() => {
7573
7625
  if (readyTimeout.current) {
7574
7626
  clearTimeout(readyTimeout.current);
@@ -7736,7 +7788,7 @@ function RampnowIcon() {
7736
7788
  // src/internal/components/BuyMenu/binance/Binance.tsx
7737
7789
  import { useMutation as useMutation5, useQuery as useQuery4, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
7738
7790
  import { DollarSign, LoaderIcon as LoaderIcon2 } from "lucide-react";
7739
- import { useEffect as useEffect11, useRef as useRef9 } from "react";
7791
+ import { useEffect as useEffect11, useRef as useRef10 } from "react";
7740
7792
 
7741
7793
  // src/internal/components/BuyMenu/components/PaymentSelector.tsx
7742
7794
  import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
@@ -7901,7 +7953,7 @@ function Binance(props) {
7901
7953
  queryKey: [QUERY_KEYS3.binancePaymentModes, walletAddress, isLumiaAvailable, srcQueryAmount],
7902
7954
  queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
7903
7955
  });
7904
- const lastLoadedPaymentModes = useRef9([]);
7956
+ const lastLoadedPaymentModes = useRef10([]);
7905
7957
  useEffect11(() => {
7906
7958
  if (!paymentModes?.length) return;
7907
7959
  setPaymentMode(getPayMethodID(paymentModes[0]));
@@ -8222,7 +8274,7 @@ var RAMP_PROVIDERS = {
8222
8274
  var REDIRECT_TIMEOUT_MS = 1500;
8223
8275
 
8224
8276
  // src/internal/components/BuyMenu/useSelectables.ts
8225
- import { useCallback as useCallback8, useEffect as useEffect13, useRef as useRef10, useState as useState7 } from "react";
8277
+ import { useCallback as useCallback9, useEffect as useEffect13, useRef as useRef11, useState as useState7 } from "react";
8226
8278
 
8227
8279
  // src/internal/utils/debounce.ts
8228
8280
  function debounce2(func, waitFor) {
@@ -8239,11 +8291,11 @@ var useSelectables = () => {
8239
8291
  const [redirecting, setRedirecting] = useState7(false);
8240
8292
  const [rampProvider, setrRampProvider] = useState7("binance");
8241
8293
  const [minAmount, setMinAmount] = useState7(0);
8242
- const inputRef = useRef10(null);
8294
+ const inputRef = useRef11(null);
8243
8295
  const [srcQueryAmount, setSrcQueryAmount] = useState7(0);
8244
8296
  const [srcInputAmount, setSrcInputAmount] = useState7(0);
8245
8297
  const [paymentMode, setPaymentMode] = useState7(null);
8246
- const setQueryAmountDebounced = useCallback8(
8298
+ const setQueryAmountDebounced = useCallback9(
8247
8299
  debounce2((inputAmount) => {
8248
8300
  const checkedValue = Math.max(inputAmount, minAmount);
8249
8301
  setSrcInputAmount(checkedValue);
@@ -8384,7 +8436,7 @@ import { Cloud, FileDown, FileUp } from "lucide-react";
8384
8436
  import { Fragment as Fragment8, useMemo as useMemo2 } from "react";
8385
8437
 
8386
8438
  // src/internal/components/KeyshareRestoreMenu/hooks/useOnRestoreSuccess.ts
8387
- import { useCallback as useCallback9 } from "react";
8439
+ import { useCallback as useCallback10 } from "react";
8388
8440
 
8389
8441
  // src/internal/components/KeyshareRestoreMenu/hooks/useRestoreStore.ts
8390
8442
  import { create as create4 } from "zustand";
@@ -8420,7 +8472,7 @@ function useOnRestoreSuccess() {
8420
8472
  const setPage = useLayoutDataStore((st) => st.setPage);
8421
8473
  const { usePaymaster, recoveryUserId, setRecoveryUserId, setSession, setAddress, setStatus } = useLumiaPassportSession();
8422
8474
  const { setError, setSuccess } = useRestoreStore();
8423
- const createSessionWithKeyshare = useCallback9(
8475
+ const createSessionWithKeyshare = useCallback10(
8424
8476
  async (userId, hasServerKeyshare, isNewUser) => {
8425
8477
  try {
8426
8478
  try {
@@ -8454,7 +8506,7 @@ function useOnRestoreSuccess() {
8454
8506
  },
8455
8507
  [setStatus, callbacks, usePaymaster]
8456
8508
  );
8457
- const onRestoreSuccess = useCallback9(async () => {
8509
+ const onRestoreSuccess = useCallback10(async () => {
8458
8510
  const { verifyToken: verifyToken2, jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
8459
8511
  const verify = await verifyToken2();
8460
8512
  const hasServerKeyshare = verify?.hasKeyshare ?? jwtTokenManager4.getHasKeyshare() ?? false;
@@ -8882,7 +8934,7 @@ import { AlertCircle, FileUp as FileUp2, Upload, User } from "lucide-react";
8882
8934
 
8883
8935
  // src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx
8884
8936
  import { ChevronRight as ChevronRight2, Eye, EyeOff, Info, Key as Key4, Loader as Loader7 } from "lucide-react";
8885
- import { useRef as useRef11 } from "react";
8937
+ import { useRef as useRef12 } from "react";
8886
8938
  import { Fragment as Fragment9, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
8887
8939
  function PasswordPasskey(props) {
8888
8940
  const {
@@ -8895,7 +8947,7 @@ function PasswordPasskey(props) {
8895
8947
  actionHandler
8896
8948
  } = props;
8897
8949
  const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
8898
- const actionRef = useRef11(null);
8950
+ const actionRef = useRef12(null);
8899
8951
  const {
8900
8952
  showPassword,
8901
8953
  restorePassword,
@@ -9787,7 +9839,7 @@ import { useMemo as useMemo3 } from "react";
9787
9839
 
9788
9840
  // src/modules/linkedProfiles.ts
9789
9841
  import { useQuery as useQuery10, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
9790
- import { useCallback as useCallback10 } from "react";
9842
+ import { useCallback as useCallback11 } from "react";
9791
9843
  init_auth();
9792
9844
  init_common();
9793
9845
  init_types();
@@ -9820,7 +9872,7 @@ function useLumiaPassportLinkedProfiles() {
9820
9872
  queryFn: getLinkProfilesData
9821
9873
  });
9822
9874
  const { profiles = [], avatar = null } = data || {};
9823
- const refresh = useCallback10(async () => {
9875
+ const refresh = useCallback11(async () => {
9824
9876
  await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9825
9877
  }, [qc, address]);
9826
9878
  return { profiles, avatar, isLoading, error, refresh };
@@ -10287,7 +10339,7 @@ function useLinkSocial() {
10287
10339
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
10288
10340
  init_telegram2();
10289
10341
  import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
10290
- import { useCallback as useCallback11, useEffect as useEffect22, useState as useState10 } from "react";
10342
+ import { useCallback as useCallback12, useEffect as useEffect22, useState as useState10 } from "react";
10291
10343
  function useLinkTelegram() {
10292
10344
  const {
10293
10345
  config: { current: config },
@@ -10298,7 +10350,7 @@ function useLinkTelegram() {
10298
10350
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
10299
10351
  const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setAlert } = useManageWalletStore();
10300
10352
  const setPage = useLayoutDataStore((st) => st.setPage);
10301
- const handleLinkTelegram = useCallback11(async () => {
10353
+ const handleLinkTelegram = useCallback12(async () => {
10302
10354
  try {
10303
10355
  setLinkIsLoading(true);
10304
10356
  setAlert(null);
@@ -10696,7 +10748,7 @@ function useNicknameInfo(enabled = true) {
10696
10748
 
10697
10749
  // src/internal/components/NicknameSettings/NicknameEditForm.tsx
10698
10750
  import { Check as Check2, Loader as Loader15 } from "lucide-react";
10699
- import { useCallback as useCallback13, useState as useState13 } from "react";
10751
+ import { useCallback as useCallback14, useState as useState13 } from "react";
10700
10752
 
10701
10753
  // src/internal/hooks/useChangeNickname.ts
10702
10754
  init_nickname();
@@ -10833,7 +10885,7 @@ function getNicknameErrorMessage(code, params) {
10833
10885
  }
10834
10886
 
10835
10887
  // src/internal/components/NicknameSettings/NicknameAvailabilityIndicator.tsx
10836
- import { Loader as Loader14, Check, X as X2 } from "lucide-react";
10888
+ import { Loader as Loader14, Check, X as X3 } from "lucide-react";
10837
10889
  import { jsx as jsx53, jsxs as jsxs46 } from "react/jsx-runtime";
10838
10890
  function NicknameAvailabilityIndicator({
10839
10891
  isChecking,
@@ -10860,7 +10912,7 @@ function NicknameAvailabilityIndicator({
10860
10912
  }
10861
10913
  const reason = availability.reason ? getNicknameErrorMessage(availability.reason) : "This nickname is not available";
10862
10914
  return /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-error)]", children: [
10863
- /* @__PURE__ */ jsx53(X2, { className: "w-3 h-3" }),
10915
+ /* @__PURE__ */ jsx53(X3, { className: "w-3 h-3" }),
10864
10916
  /* @__PURE__ */ jsx53("span", { children: reason })
10865
10917
  ] });
10866
10918
  }
@@ -10882,7 +10934,7 @@ function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
10882
10934
  onSuccess?.();
10883
10935
  }
10884
10936
  });
10885
- const handleInputChange = useCallback13(
10937
+ const handleInputChange = useCallback14(
10886
10938
  (e) => {
10887
10939
  const value = e.target.value;
10888
10940
  setInputValue(value);
@@ -10897,7 +10949,7 @@ function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
10897
10949
  },
10898
10950
  [clientError, isError, isSuccess, reset]
10899
10951
  );
10900
- const handleSubmit = useCallback13(
10952
+ const handleSubmit = useCallback14(
10901
10953
  (e) => {
10902
10954
  e.preventDefault();
10903
10955
  const normalized2 = normalizeNickname(inputValue);
@@ -11052,12 +11104,12 @@ function NicknameSettings() {
11052
11104
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
11053
11105
  import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
11054
11106
  import { AlertCircle as AlertCircle4, ArrowLeft as ArrowLeft10, Gem, Loader as Loader18, RefreshCw } from "lucide-react";
11055
- import { useCallback as useCallback15 } from "react";
11107
+ import { useCallback as useCallback16 } from "react";
11056
11108
 
11057
11109
  // src/internal/hooks/useBlockscoutAssets.ts
11058
11110
  init_lumiaPassport();
11059
11111
  init_base();
11060
- import { useCallback as useCallback14, useMemo as useMemo4, useRef as useRef12 } from "react";
11112
+ import { useCallback as useCallback15, useMemo as useMemo4, useRef as useRef13 } from "react";
11061
11113
  import { useQuery as useQuery13 } from "@tanstack/react-query";
11062
11114
  import { useBalance as useBalance2, usePublicClient } from "wagmi";
11063
11115
  import { formatUnits as formatUnits2 } from "viem";
@@ -11205,7 +11257,7 @@ function useBlockscoutAssets(options) {
11205
11257
  [blockscoutApiUrl]
11206
11258
  );
11207
11259
  const publicClient2 = usePublicClient({ chainId: lumiaBeam.id });
11208
- const lastRefreshRef = useRef12(0);
11260
+ const lastRefreshRef = useRef13(0);
11209
11261
  const {
11210
11262
  data: nativeBalanceData,
11211
11263
  isLoading: nativeLoading,
@@ -11337,7 +11389,7 @@ function useBlockscoutAssets(options) {
11337
11389
  if (!tokensError) return null;
11338
11390
  return createError(tokensError);
11339
11391
  }, [tokensError]);
11340
- const refreshBalances = useCallback14(async () => {
11392
+ const refreshBalances = useCallback15(async () => {
11341
11393
  const now = Date.now();
11342
11394
  if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
11343
11395
  return;
@@ -11345,7 +11397,7 @@ function useBlockscoutAssets(options) {
11345
11397
  lastRefreshRef.current = now;
11346
11398
  await Promise.all([refetchNative(), refetchTokens(), refetchNfts()]);
11347
11399
  }, [refetchNative, refetchTokens, refetchNfts]);
11348
- const getTokenBalance = useCallback14(
11400
+ const getTokenBalance = useCallback15(
11349
11401
  (tokenAddress) => {
11350
11402
  return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
11351
11403
  },
@@ -11532,7 +11584,7 @@ function PortfolioMenu() {
11532
11584
  } = useBlockscoutAssets({
11533
11585
  address
11534
11586
  });
11535
- const refreshAllAssetsBalances = useCallback15(() => {
11587
+ const refreshAllAssetsBalances = useCallback16(() => {
11536
11588
  Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
11537
11589
  refreshBlockscoutBalances();
11538
11590
  }, [qc, projectAssets, refreshBlockscoutBalances]);
@@ -11945,10 +11997,81 @@ function SecurityMenu() {
11945
11997
  }
11946
11998
 
11947
11999
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
11948
- import { AlertCircle as AlertCircle5, AlertTriangle as AlertTriangle4, ArrowLeft as ArrowLeft12, AtSign, CheckCircle2 as CheckCircle23, Loader as Loader22, Shield as Shield2, ShieldAlert, Wallet as Wallet3 } from "lucide-react";
11949
- import { useEffect as useEffect25, useState as useState18 } from "react";
11950
- import { isAddress as isAddress2 } from "viem";
11951
- import { useBalance as useBalance4 } from "wagmi";
12000
+ import {
12001
+ AlertCircle as AlertCircle5,
12002
+ AlertTriangle as AlertTriangle4,
12003
+ ArrowLeft as ArrowLeft12,
12004
+ AtSign,
12005
+ CheckCircle2 as CheckCircle23,
12006
+ Image as ImageIcon3,
12007
+ Loader as Loader22,
12008
+ Shield as Shield3,
12009
+ ShieldAlert,
12010
+ Sparkles as Sparkles3,
12011
+ Wallet as Wallet3
12012
+ } from "lucide-react";
12013
+ import { useEffect as useEffect26, useMemo as useMemo6, useState as useState19 } from "react";
12014
+ import { formatUnits as formatUnits5, isAddress as isAddress2, parseUnits as parseUnits2 } from "viem";
12015
+
12016
+ // src/hooks/useErc3643Compliance.ts
12017
+ init_base();
12018
+ import { useReadContract } from "wagmi";
12019
+ var ERC3643_CAN_TRANSFER_ABI = [
12020
+ {
12021
+ type: "function",
12022
+ name: "canTransfer",
12023
+ inputs: [
12024
+ { name: "_to", type: "address" },
12025
+ { name: "_value", type: "uint256" }
12026
+ ],
12027
+ outputs: [{ name: "", type: "bool" }]
12028
+ }
12029
+ ];
12030
+ function useErc3643Compliance(options) {
12031
+ const { tokenAddress, to, amount, enabled = true } = options;
12032
+ const isQueryEnabled = enabled && !!tokenAddress && !!to && amount !== void 0;
12033
+ const {
12034
+ data: canTransferResult,
12035
+ isLoading,
12036
+ error: queryError,
12037
+ refetch
12038
+ } = useReadContract({
12039
+ address: tokenAddress,
12040
+ abi: ERC3643_CAN_TRANSFER_ABI,
12041
+ functionName: "canTransfer",
12042
+ args: to && amount !== void 0 ? [to, amount] : void 0,
12043
+ chainId: lumiaBeam.id,
12044
+ query: {
12045
+ enabled: isQueryEnabled
12046
+ }
12047
+ });
12048
+ let error = null;
12049
+ if (queryError) {
12050
+ const errorMessage = queryError.message || "";
12051
+ if (errorMessage.includes("IDENTITY_NOT_VERIFIED")) {
12052
+ error = "Recipient identity is not verified for this security token";
12053
+ } else if (errorMessage.includes("COUNTRY_NOT_ALLOWED")) {
12054
+ error = "Transfer not allowed to recipient country";
12055
+ } else if (errorMessage.includes("INVESTOR_LIMIT_EXCEEDED")) {
12056
+ error = "Maximum investor limit exceeded for this token";
12057
+ } else if (errorMessage.includes("HOLDING_PERIOD_NOT_MET")) {
12058
+ error = "Holding period requirement not met";
12059
+ } else if (errorMessage.includes("AMOUNT_EXCEEDS_LIMIT")) {
12060
+ error = "Transfer amount exceeds allowed limit";
12061
+ } else {
12062
+ error = "Compliance check failed. Transfer may not be allowed.";
12063
+ }
12064
+ } else if (canTransferResult === false) {
12065
+ error = "Transfer not allowed by token compliance rules";
12066
+ }
12067
+ const canTransfer = typeof canTransferResult === "boolean" ? canTransferResult : void 0;
12068
+ return {
12069
+ canTransfer,
12070
+ isLoading,
12071
+ error,
12072
+ refetch
12073
+ };
12074
+ }
11952
12075
 
11953
12076
  // src/hooks/useNicknameResolve.ts
11954
12077
  init_nickname();
@@ -12096,16 +12219,53 @@ function useNicknameResolve(input, options) {
12096
12219
  }
12097
12220
 
12098
12221
  // src/hooks/useSendTransaction.ts
12099
- import { useCallback as useCallback16, useState as useState17 } from "react";
12100
- import { isAddress, parseEther as parseEther2 } from "viem";
12222
+ import { useCallback as useCallback17, useState as useState17 } from "react";
12223
+ import { encodeFunctionData as encodeFunctionData2, isAddress, parseEther as parseEther2, parseUnits } from "viem";
12101
12224
  init_account();
12225
+ var ERC20_TRANSFER_ABI = [
12226
+ {
12227
+ type: "function",
12228
+ name: "transfer",
12229
+ inputs: [
12230
+ { name: "to", type: "address" },
12231
+ { name: "amount", type: "uint256" }
12232
+ ],
12233
+ outputs: [{ name: "", type: "bool" }]
12234
+ }
12235
+ ];
12236
+ var ERC721_SAFE_TRANSFER_ABI = [
12237
+ {
12238
+ type: "function",
12239
+ name: "safeTransferFrom",
12240
+ inputs: [
12241
+ { name: "from", type: "address" },
12242
+ { name: "to", type: "address" },
12243
+ { name: "tokenId", type: "uint256" }
12244
+ ],
12245
+ outputs: []
12246
+ }
12247
+ ];
12248
+ var ERC1155_SAFE_TRANSFER_ABI = [
12249
+ {
12250
+ type: "function",
12251
+ name: "safeTransferFrom",
12252
+ inputs: [
12253
+ { name: "from", type: "address" },
12254
+ { name: "to", type: "address" },
12255
+ { name: "id", type: "uint256" },
12256
+ { name: "amount", type: "uint256" },
12257
+ { name: "data", type: "bytes" }
12258
+ ],
12259
+ outputs: []
12260
+ }
12261
+ ];
12102
12262
  function useSendTransaction() {
12103
12263
  const session = useLumiaPassportSession((st) => st.session);
12104
12264
  const address = useLumiaPassportSession((st) => st.address);
12105
12265
  const [isLoading, setIsLoading] = useState17(false);
12106
12266
  const [error, setError] = useState17(null);
12107
12267
  const [userOpHash, setUserOpHash] = useState17(null);
12108
- const sendTransaction = useCallback16(
12268
+ const sendTransaction = useCallback17(
12109
12269
  async (params) => {
12110
12270
  if (!session || !address) {
12111
12271
  setError("No active session");
@@ -12115,21 +12275,80 @@ function useSendTransaction() {
12115
12275
  setError("Invalid recipient address");
12116
12276
  return null;
12117
12277
  }
12118
- const value = parseFloat(params.value);
12119
- if (isNaN(value) || value < 0) {
12120
- setError("Invalid amount");
12278
+ const assetType = params.assetType || "native";
12279
+ if (assetType !== "erc721") {
12280
+ const value = parseFloat(params.value);
12281
+ if (isNaN(value) || value < 0) {
12282
+ setError("Invalid amount");
12283
+ return null;
12284
+ }
12285
+ }
12286
+ if (assetType !== "native" && !params.tokenAddress) {
12287
+ setError("Token address is required for token transfers");
12288
+ return null;
12289
+ }
12290
+ if ((assetType === "erc721" || assetType === "erc1155") && !params.tokenId) {
12291
+ setError("Token ID is required for NFT transfers");
12121
12292
  return null;
12122
12293
  }
12123
12294
  setIsLoading(true);
12124
12295
  setError(null);
12125
12296
  setUserOpHash(null);
12126
12297
  try {
12127
- const valueWei = parseEther2(params.value).toString();
12298
+ let callTarget;
12299
+ let valueWei;
12300
+ let innerData;
12301
+ switch (assetType) {
12302
+ case "native": {
12303
+ callTarget = params.to;
12304
+ valueWei = parseEther2(params.value).toString();
12305
+ innerData = params.data || "0x";
12306
+ break;
12307
+ }
12308
+ case "erc20":
12309
+ case "erc3643": {
12310
+ const decimals = params.decimals ?? 18;
12311
+ const amount = parseUnits(params.value, decimals);
12312
+ callTarget = params.tokenAddress;
12313
+ valueWei = "0";
12314
+ innerData = encodeFunctionData2({
12315
+ abi: ERC20_TRANSFER_ABI,
12316
+ functionName: "transfer",
12317
+ args: [params.to, amount]
12318
+ });
12319
+ break;
12320
+ }
12321
+ case "erc721": {
12322
+ callTarget = params.tokenAddress;
12323
+ valueWei = "0";
12324
+ innerData = encodeFunctionData2({
12325
+ abi: ERC721_SAFE_TRANSFER_ABI,
12326
+ functionName: "safeTransferFrom",
12327
+ args: [address, params.to, BigInt(params.tokenId)]
12328
+ });
12329
+ break;
12330
+ }
12331
+ case "erc1155": {
12332
+ const amount = params.value ? BigInt(params.value) : 1n;
12333
+ callTarget = params.tokenAddress;
12334
+ valueWei = "0";
12335
+ innerData = encodeFunctionData2({
12336
+ abi: ERC1155_SAFE_TRANSFER_ABI,
12337
+ functionName: "safeTransferFrom",
12338
+ args: [address, params.to, BigInt(params.tokenId), amount, "0x"]
12339
+ });
12340
+ break;
12341
+ }
12342
+ default: {
12343
+ setError(`Unsupported asset type: ${assetType}`);
12344
+ return null;
12345
+ }
12346
+ }
12128
12347
  const hash = await sendUserOperation(
12129
12348
  session,
12130
- params.to,
12349
+ callTarget,
12131
12350
  valueWei,
12132
- params.data || "0x",
12351
+ innerData,
12133
12352
  "standard",
12134
12353
  "v0.7"
12135
12354
  );
@@ -12145,7 +12364,7 @@ function useSendTransaction() {
12145
12364
  },
12146
12365
  [session, address]
12147
12366
  );
12148
- const reset = useCallback16(() => {
12367
+ const reset = useCallback17(() => {
12149
12368
  setError(null);
12150
12369
  setUserOpHash(null);
12151
12370
  setIsLoading(false);
@@ -12159,185 +12378,331 @@ function useSendTransaction() {
12159
12378
  };
12160
12379
  }
12161
12380
 
12162
- // src/modules/assets.ts
12381
+ // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12163
12382
  init_base();
12164
- import React6 from "react";
12165
- import { useBalance as useBalance3, useReadContract, useReadContracts } from "wagmi";
12166
- import { formatUnits as formatUnits4, erc20Abi } from "viem";
12167
- var COMMON_TOKENS = [
12168
- // Add real token addresses here when available
12169
- // {
12170
- // address: '0x....',
12171
- // name: 'USD Coin',
12172
- // symbol: 'USDC',
12173
- // decimals: 6,
12174
- // logo: 'https://...'
12175
- // }
12176
- ];
12177
- function useAssets(address) {
12178
- const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = useBalance3({
12179
- address,
12180
- chainId: lumiaBeam.id,
12181
- query: {
12182
- enabled: !!address
12183
- }
12184
- });
12185
- const tokenContracts = COMMON_TOKENS.map((token) => ({
12186
- address: token.address,
12187
- abi: erc20Abi,
12188
- functionName: "balanceOf",
12189
- args: [address],
12190
- chainId: lumiaBeam.id
12191
- }));
12192
- const readContractsResult = useReadContracts({
12193
- contracts: tokenContracts,
12194
- query: {
12195
- enabled: !!address && COMMON_TOKENS.length > 0
12196
- }
12197
- });
12198
- const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
12199
- const getAllAssets = () => {
12200
- const assets = [];
12201
- if (nativeBalance) {
12202
- assets.push({
12203
- type: "native",
12204
- name: "Lumia",
12205
- symbol: "LUMIA",
12206
- balance: nativeBalance.value.toString(),
12207
- formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
12208
- decimals: 18
12209
- });
12210
- }
12211
- if (tokenBalances && COMMON_TOKENS.length > 0) {
12212
- tokenBalances.forEach((balance, index) => {
12213
- const token = COMMON_TOKENS[index];
12214
- if (balance.status === "success" && balance.result) {
12215
- const balanceValue = balance.result;
12216
- const formattedBalance = formatUnits4(balanceValue, token.decimals);
12217
- assets.push({
12218
- type: "erc20",
12219
- address: token.address,
12220
- name: token.name,
12221
- symbol: token.symbol,
12222
- balance: balanceValue.toString(),
12223
- formattedBalance: parseFloat(formattedBalance).toFixed(4),
12224
- decimals: token.decimals,
12225
- logo: token.logo
12226
- });
12383
+
12384
+ // src/internal/components/SendRecieveMenu/AssetSelector.tsx
12385
+ import { ChevronDown, Image as ImageIcon2, Shield as Shield2, Sparkles as Sparkles2, X as X4 } from "lucide-react";
12386
+ import { useState as useState18, useRef as useRef14, useEffect as useEffect25 } from "react";
12387
+ import { formatUnits as formatUnits4 } from "viem";
12388
+ import { Fragment as Fragment24, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
12389
+ function isNftAsset2(asset) {
12390
+ return asset.type === "erc721" || asset.type === "erc1155";
12391
+ }
12392
+ function isSecurityToken2(asset) {
12393
+ return asset.type === "erc3643";
12394
+ }
12395
+ function getAssetBalance(asset) {
12396
+ if (isNftAsset2(asset)) {
12397
+ return "1";
12398
+ }
12399
+ const balance = Number(formatUnits4(BigInt(asset?.balance || "0"), asset?.decimals || 18));
12400
+ if (balance >= 1e6) {
12401
+ return `${(balance / 1e6).toFixed(2)}M`;
12402
+ }
12403
+ if (balance >= 1e3) {
12404
+ return `${(balance / 1e3).toFixed(2)}K`;
12405
+ }
12406
+ return balance.toFixed(4);
12407
+ }
12408
+ function AssetIcon({ asset, size = "sm" }) {
12409
+ const [imageError, setImageError] = useState18(false);
12410
+ const sizeClasses = size === "sm" ? "w-6 h-6" : "w-10 h-10";
12411
+ const textSize = size === "sm" ? "text-xs" : "text-sm";
12412
+ const isNft = isNftAsset2(asset);
12413
+ const nftImage = asset.image || asset.nftMetadata?.image;
12414
+ const isSecurity = isSecurityToken2(asset);
12415
+ if (isNft && nftImage && !imageError) {
12416
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] overflow-hidden relative flex-shrink-0"), children: [
12417
+ /* @__PURE__ */ jsx64(
12418
+ "img",
12419
+ {
12420
+ src: nftImage,
12421
+ alt: asset.nftMetadata?.name || asset.name,
12422
+ className: "w-full h-full object-cover",
12423
+ onError: () => setImageError(true)
12227
12424
  }
12228
- });
12229
- }
12230
- return assets;
12425
+ ),
12426
+ /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx64(Sparkles2, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12427
+ ] });
12428
+ }
12429
+ if (isNft) {
12430
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12431
+ /* @__PURE__ */ jsx64(ImageIcon2, { className: cn(size === "sm" ? "w-3 h-3" : "w-5 h-5", "text-[var(--l-pass-fg-inverted)]") }),
12432
+ /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx64(Sparkles2, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12433
+ ] });
12434
+ }
12435
+ if (asset.logo && !imageError) {
12436
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-full overflow-hidden relative flex-shrink-0"), children: [
12437
+ /* @__PURE__ */ jsx64(
12438
+ "img",
12439
+ {
12440
+ src: asset.logo,
12441
+ alt: asset.symbol,
12442
+ className: "w-full h-full object-cover",
12443
+ onError: () => setImageError(true)
12444
+ }
12445
+ ),
12446
+ isSecurity && /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ jsx64(Shield2, { className: "w-2 h-2 text-white" }) })
12447
+ ] });
12448
+ }
12449
+ return /* @__PURE__ */ jsxs57("div", { className: cn(sizeClasses, "rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12450
+ /* @__PURE__ */ jsx64("span", { className: cn("text-[var(--l-pass-fg-inverted)] font-bold", textSize), children: asset.symbol.charAt(0) }),
12451
+ isSecurity && /* @__PURE__ */ jsx64("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ jsx64(Shield2, { className: "w-2 h-2 text-white" }) })
12452
+ ] });
12453
+ }
12454
+ function AssetListItem({ asset, onSelect, isSelected }) {
12455
+ const isNft = isNftAsset2(asset);
12456
+ const handleClick = (e) => {
12457
+ e.preventDefault();
12458
+ e.stopPropagation();
12459
+ onSelect();
12231
12460
  };
12232
- const getTokenBalance = (tokenAddress) => {
12233
- const tokenIndex = COMMON_TOKENS.findIndex(
12234
- (token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
12235
- );
12236
- if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
12237
- return null;
12461
+ return /* @__PURE__ */ jsxs57(
12462
+ "button",
12463
+ {
12464
+ type: "button",
12465
+ className: cn(
12466
+ "w-full flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)]",
12467
+ "hover:bg-[var(--l-pass-bg-secondary)] transition-colors cursor-pointer",
12468
+ isSelected && "bg-[var(--l-pass-bg-secondary)]"
12469
+ ),
12470
+ onClick: handleClick,
12471
+ children: [
12472
+ /* @__PURE__ */ jsx64(AssetIcon, { asset, size: "md" }),
12473
+ /* @__PURE__ */ jsxs57("div", { className: "flex-1 min-w-0 text-left", children: [
12474
+ /* @__PURE__ */ jsx64("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
12475
+ /* @__PURE__ */ jsx64("div", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: isNft ? /* @__PURE__ */ jsxs57(Fragment24, { children: [
12476
+ asset.symbol,
12477
+ asset.tokenId && /* @__PURE__ */ jsxs57("span", { className: "ml-1", children: [
12478
+ "#",
12479
+ asset.tokenId.length > 6 ? `${asset.tokenId.slice(0, 4)}...` : asset.tokenId
12480
+ ] })
12481
+ ] }) : /* @__PURE__ */ jsxs57(Fragment24, { children: [
12482
+ getAssetBalance(asset),
12483
+ " ",
12484
+ asset.symbol
12485
+ ] }) })
12486
+ ] })
12487
+ ]
12238
12488
  }
12239
- const balance = tokenBalances[tokenIndex];
12240
- const token = COMMON_TOKENS[tokenIndex];
12241
- if (balance.status === "success" && balance.result) {
12242
- const balanceValue = balance.result;
12243
- const formattedBalance = formatUnits4(balanceValue, token.decimals);
12244
- return {
12245
- address: token.address,
12246
- name: token.name,
12247
- symbol: token.symbol,
12248
- decimals: token.decimals,
12249
- balance: balanceValue.toString(),
12250
- formattedBalance: parseFloat(formattedBalance).toFixed(4),
12251
- logo: token.logo
12252
- };
12489
+ );
12490
+ }
12491
+ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12492
+ const [isOpen, setIsOpen] = useState18(false);
12493
+ const dropdownRef = useRef14(null);
12494
+ const buttonRef = useRef14(null);
12495
+ useEffect25(() => {
12496
+ function handleClickOutside(event) {
12497
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target) && buttonRef.current && !buttonRef.current.contains(event.target)) {
12498
+ setIsOpen(false);
12499
+ }
12253
12500
  }
12254
- return null;
12501
+ if (isOpen) {
12502
+ document.addEventListener("mousedown", handleClickOutside);
12503
+ return () => document.removeEventListener("mousedown", handleClickOutside);
12504
+ }
12505
+ }, [isOpen]);
12506
+ const transferableAssets = assets.filter((asset) => {
12507
+ if (isNftAsset2(asset)) return true;
12508
+ const balance = BigInt(asset.balance || "0");
12509
+ return balance > 0n;
12510
+ });
12511
+ const nativeAssets = transferableAssets.filter((a) => a.type === "native");
12512
+ const tokenAssets = transferableAssets.filter((a) => a.type === "erc20");
12513
+ const securityAssets = transferableAssets.filter((a) => a.type === "erc3643");
12514
+ const nftAssets = transferableAssets.filter((a) => a.type === "erc721" || a.type === "erc1155");
12515
+ const handleSelect = (asset) => {
12516
+ onSelect(asset);
12517
+ setIsOpen(false);
12255
12518
  };
12256
- const refreshBalances = async () => {
12257
- await Promise.all([
12258
- refetchNativeBalance(),
12259
- refetchTokenBalances()
12260
- ]);
12519
+ const handleToggle = (e) => {
12520
+ e.preventDefault();
12521
+ e.stopPropagation();
12522
+ if (!disabled) {
12523
+ setIsOpen(!isOpen);
12524
+ }
12261
12525
  };
12262
- return {
12263
- nativeBalance,
12264
- tokenBalances,
12265
- assets: getAllAssets(),
12266
- getTokenBalance,
12267
- refreshBalances,
12268
- isLoading: nativeBalanceLoading || tokenBalancesLoading,
12269
- isConnected: !!address
12526
+ const handleClose = (e) => {
12527
+ e.preventDefault();
12528
+ e.stopPropagation();
12529
+ setIsOpen(false);
12270
12530
  };
12271
- }
12272
- function useTokenInfo(tokenAddress) {
12273
- const readContractsResult = useReadContracts({
12274
- contracts: [
12275
- { address: tokenAddress, abi: erc20Abi, functionName: "name", chainId: lumiaBeam.id },
12276
- { address: tokenAddress, abi: erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
12277
- { address: tokenAddress, abi: erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
12278
- ]
12279
- });
12280
- const { data: tokenData, isLoading } = readContractsResult;
12281
- if (!tokenData || isLoading) {
12282
- return { isLoading, tokenInfo: null };
12531
+ if (!selectedAsset) {
12532
+ return null;
12283
12533
  }
12284
- const [nameResult, symbolResult, decimalsResult] = tokenData;
12285
- if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
12286
- return {
12287
- isLoading: false,
12288
- tokenInfo: {
12289
- name: nameResult.result,
12290
- symbol: symbolResult.result,
12291
- decimals: decimalsResult.result,
12292
- address: tokenAddress
12534
+ const isNft = isNftAsset2(selectedAsset);
12535
+ return /* @__PURE__ */ jsxs57("div", { className: "relative", style: { zIndex: isOpen ? 100 : "auto" }, children: [
12536
+ /* @__PURE__ */ jsxs57(
12537
+ "button",
12538
+ {
12539
+ ref: buttonRef,
12540
+ type: "button",
12541
+ disabled,
12542
+ className: cn(
12543
+ "flex items-center gap-1.5 px-2 py-1 rounded-[var(--l-pass-el-bdrs)]",
12544
+ "bg-[var(--l-pass-bg)] hover:bg-[var(--l-pass-bg-secondary)]",
12545
+ "transition-colors cursor-pointer",
12546
+ disabled && "opacity-50 cursor-not-allowed"
12547
+ ),
12548
+ onClick: handleToggle,
12549
+ children: [
12550
+ /* @__PURE__ */ jsx64(AssetIcon, { asset: selectedAsset, size: "sm" }),
12551
+ /* @__PURE__ */ jsx64("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)] max-w-[80px] truncate", children: isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.symbol }),
12552
+ /* @__PURE__ */ jsx64(ChevronDown, { className: cn("w-4 h-4 text-[var(--l-pass-fg-muted)] transition-transform", isOpen && "rotate-180") })
12553
+ ]
12293
12554
  }
12294
- };
12295
- }
12296
- return { isLoading: false, tokenInfo: null };
12297
- }
12298
- function useTokenBalance(tokenAddress, userAddress) {
12299
- const { data: balance, isLoading, refetch } = useReadContract({
12300
- address: tokenAddress,
12301
- abi: erc20Abi,
12302
- functionName: "balanceOf",
12303
- args: userAddress ? [userAddress] : void 0,
12304
- chainId: lumiaBeam.id,
12305
- query: {
12306
- enabled: !!userAddress
12307
- }
12308
- });
12309
- const { tokenInfo } = useTokenInfo(tokenAddress);
12310
- const formattedBalance = React6.useMemo(() => {
12311
- if (!balance || !tokenInfo) return "0";
12312
- return formatUnits4(balance, tokenInfo.decimals);
12313
- }, [balance, tokenInfo]);
12314
- return {
12315
- balance,
12316
- formattedBalance,
12317
- tokenInfo,
12318
- isLoading,
12319
- refetch
12320
- };
12555
+ ),
12556
+ isOpen && /* @__PURE__ */ jsxs57(
12557
+ "div",
12558
+ {
12559
+ ref: dropdownRef,
12560
+ className: cn(
12561
+ "absolute left-0 bottom-full mb-2",
12562
+ "w-72 max-h-64 overflow-y-auto",
12563
+ "bg-[var(--l-pass-bg)] border border-[var(--l-pass-bd)]",
12564
+ "rounded-[var(--l-pass-el-bdrs)] shadow-lg"
12565
+ ),
12566
+ style: { zIndex: 100 },
12567
+ onClick: (e) => e.stopPropagation(),
12568
+ children: [
12569
+ /* @__PURE__ */ jsxs57("div", { className: "sticky top-0 flex items-center justify-between px-3 py-2 bg-[var(--l-pass-bg)] border-b border-[var(--l-pass-bd)]", children: [
12570
+ /* @__PURE__ */ jsx64("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)]", children: "Select Asset" }),
12571
+ /* @__PURE__ */ jsx64(Button, { variant: "ghost", size: "icon", onClick: handleClose, children: /* @__PURE__ */ jsx64(X4, { className: "w-4 h-4" }) })
12572
+ ] }),
12573
+ /* @__PURE__ */ jsxs57("div", { className: "p-2", children: [
12574
+ nativeAssets.length > 0 && /* @__PURE__ */ jsx64(Fragment24, { children: nativeAssets.map((asset) => /* @__PURE__ */ jsx64(
12575
+ AssetListItem,
12576
+ {
12577
+ asset,
12578
+ onSelect: () => handleSelect(asset),
12579
+ isSelected: selectedAsset?.type === asset.type && selectedAsset?.symbol === asset.symbol
12580
+ },
12581
+ `native-${asset.symbol}`
12582
+ )) }),
12583
+ tokenAssets.length > 0 && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12584
+ /* @__PURE__ */ jsx64("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Tokens" }),
12585
+ tokenAssets.map((asset) => /* @__PURE__ */ jsx64(
12586
+ AssetListItem,
12587
+ {
12588
+ asset,
12589
+ onSelect: () => handleSelect(asset),
12590
+ isSelected: selectedAsset?.address === asset.address && selectedAsset?.type === asset.type
12591
+ },
12592
+ `token-${asset.address}`
12593
+ ))
12594
+ ] }),
12595
+ securityAssets.length > 0 && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12596
+ /* @__PURE__ */ jsx64("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Security Tokens" }),
12597
+ securityAssets.map((asset) => /* @__PURE__ */ jsx64(
12598
+ AssetListItem,
12599
+ {
12600
+ asset,
12601
+ onSelect: () => handleSelect(asset),
12602
+ isSelected: selectedAsset?.address === asset.address && selectedAsset?.type === asset.type
12603
+ },
12604
+ `security-${asset.address}`
12605
+ ))
12606
+ ] }),
12607
+ nftAssets.length > 0 && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12608
+ /* @__PURE__ */ jsx64("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "NFTs" }),
12609
+ nftAssets.map((asset) => /* @__PURE__ */ jsx64(
12610
+ AssetListItem,
12611
+ {
12612
+ asset,
12613
+ onSelect: () => handleSelect(asset),
12614
+ isSelected: selectedAsset?.address === asset.address && selectedAsset?.tokenId === asset.tokenId
12615
+ },
12616
+ `nft-${asset.address}-${asset.tokenId}`
12617
+ ))
12618
+ ] }),
12619
+ transferableAssets.length === 0 && /* @__PURE__ */ jsx64("div", { className: "p-4 text-center text-sm text-[var(--l-pass-fg-muted)]", children: "No assets available" })
12620
+ ] })
12621
+ ]
12622
+ }
12623
+ )
12624
+ ] });
12321
12625
  }
12322
12626
 
12323
12627
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12324
- init_base();
12325
- import { Fragment as Fragment24, jsx as jsx64, jsxs as jsxs57 } from "react/jsx-runtime";
12628
+ import { Fragment as Fragment25, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
12629
+ function isNftAsset3(asset) {
12630
+ if (!asset) return false;
12631
+ return asset.type === "erc721" || asset.type === "erc1155";
12632
+ }
12633
+ function isSecurityToken3(asset) {
12634
+ if (!asset) return false;
12635
+ return asset.type === "erc3643";
12636
+ }
12637
+ function getAssetBalance2(asset) {
12638
+ if (!asset) return 0;
12639
+ if (isNftAsset3(asset)) return 1;
12640
+ return Number(formatUnits5(BigInt(asset.balance || "0"), asset.decimals || 18));
12641
+ }
12642
+ function formatBalance(balance, decimals = 4) {
12643
+ if (balance >= 1e6) {
12644
+ return `${(balance / 1e6).toFixed(2)}M`;
12645
+ }
12646
+ if (balance >= 1e3) {
12647
+ return `${(balance / 1e3).toFixed(2)}K`;
12648
+ }
12649
+ return balance.toFixed(decimals);
12650
+ }
12651
+ function NftDisplayCard({ asset }) {
12652
+ const [imageError, setImageError] = useState19(false);
12653
+ const nftImage = asset.image || asset.nftMetadata?.image;
12654
+ return /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12655
+ nftImage && !imageError ? /* @__PURE__ */ jsx65(
12656
+ "img",
12657
+ {
12658
+ src: nftImage,
12659
+ alt: asset.nftMetadata?.name || asset.name,
12660
+ className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] object-cover",
12661
+ onError: () => setImageError(true)
12662
+ }
12663
+ ) : /* @__PURE__ */ jsx65("div", { className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx65(ImageIcon3, { className: "w-8 h-8 text-[var(--l-pass-fg-inverted)]" }) }),
12664
+ /* @__PURE__ */ jsxs58("div", { className: "flex-1 min-w-0", children: [
12665
+ /* @__PURE__ */ jsx65("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
12666
+ /* @__PURE__ */ jsxs58("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: [
12667
+ asset.symbol,
12668
+ asset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "ml-1", children: [
12669
+ "#",
12670
+ asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
12671
+ ] })
12672
+ ] }),
12673
+ /* @__PURE__ */ jsxs58("div", { className: "text-xs text-[var(--l-pass-fg-muted)] mt-1 flex items-center gap-1", children: [
12674
+ /* @__PURE__ */ jsx65(Sparkles3, { className: "w-3 h-3" }),
12675
+ /* @__PURE__ */ jsx65("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
12676
+ ] })
12677
+ ] })
12678
+ ] });
12679
+ }
12326
12680
  function SendLumiaMenu() {
12327
12681
  const page = useLayoutDataStore((st) => st.page);
12328
12682
  const setPage = useLayoutDataStore((st) => st.setPage);
12329
12683
  const open = page === "send";
12330
12684
  const address = useLumiaPassportSession((st) => st.address);
12331
- const { assets } = useAssets(address);
12332
- const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
12333
- const { refetch: refetchBalance } = useBalance4({
12334
- address,
12335
- chainId: lumiaBeam.id
12685
+ const {
12686
+ assets,
12687
+ refreshBalances,
12688
+ isLoading: isAssetsLoading
12689
+ } = useBlockscoutAssets({
12690
+ address
12336
12691
  });
12337
- const [recipient, setRecipient] = useState18("");
12338
- const [amount, setAmount] = useState18("");
12339
- const [txStep, setTxStep] = useState18("input");
12340
- const [validationError, setValidationError] = useState18(null);
12692
+ const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
12693
+ const [recipient, setRecipient] = useState19("");
12694
+ const [amount, setAmount] = useState19("");
12695
+ const [selectedAsset, setSelectedAsset] = useState19(null);
12696
+ const [txStep, setTxStep] = useState19("input");
12697
+ const [validationError, setValidationError] = useState19(null);
12698
+ useEffect26(() => {
12699
+ if (assets.length > 0 && !selectedAsset) {
12700
+ const nativeAsset = assets.find((a) => a.type === "native");
12701
+ if (nativeAsset) {
12702
+ setSelectedAsset(nativeAsset);
12703
+ }
12704
+ }
12705
+ }, [assets, selectedAsset]);
12341
12706
  const isNicknameInput = looksLikeNickname(recipient);
12342
12707
  const {
12343
12708
  resolvedAddress,
@@ -12346,22 +12711,46 @@ function SendLumiaMenu() {
12346
12711
  isWalletNotSetup,
12347
12712
  isFrozen,
12348
12713
  isFingerprintVerified,
12349
- fingerprintVerification,
12350
12714
  data: nicknameData
12351
12715
  } = useNicknameResolve(recipient, {
12352
12716
  enabled: isNicknameInput,
12353
12717
  chainId: lumiaBeam.id
12354
12718
  });
12355
12719
  const effectiveAddress = isNicknameInput ? resolvedAddress : recipient;
12356
- const nativeAsset = assets.find((a) => a.type === "native");
12357
- const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
12358
- useEffect25(() => {
12720
+ const balance = getAssetBalance2(selectedAsset);
12721
+ const isNft = isNftAsset3(selectedAsset);
12722
+ const isSecurity = isSecurityToken3(selectedAsset);
12723
+ const complianceAmount = useMemo6(() => {
12724
+ if (!isSecurity || !amount || !selectedAsset) return void 0;
12725
+ try {
12726
+ return parseUnits2(amount, selectedAsset.decimals || 18);
12727
+ } catch {
12728
+ return void 0;
12729
+ }
12730
+ }, [isSecurity, amount, selectedAsset]);
12731
+ const {
12732
+ canTransfer: erc3643CanTransfer,
12733
+ isLoading: isComplianceLoading,
12734
+ error: complianceError
12735
+ } = useErc3643Compliance({
12736
+ tokenAddress: selectedAsset?.address,
12737
+ to: effectiveAddress,
12738
+ amount: complianceAmount,
12739
+ enabled: isSecurity && !!effectiveAddress && !!complianceAmount
12740
+ });
12741
+ useEffect26(() => {
12359
12742
  if (open) {
12360
12743
  setTxStep("input");
12361
12744
  setValidationError(null);
12745
+ setRecipient("");
12746
+ setAmount("");
12362
12747
  reset();
12748
+ const nativeAsset = assets.find((a) => a.type === "native");
12749
+ if (nativeAsset) {
12750
+ setSelectedAsset(nativeAsset);
12751
+ }
12363
12752
  }
12364
- }, [open, reset]);
12753
+ }, [open, reset, assets]);
12365
12754
  const validateInput = () => {
12366
12755
  if (!recipient) {
12367
12756
  setValidationError("Please enter a recipient address or @nickname");
@@ -12396,14 +12785,34 @@ function SendLumiaMenu() {
12396
12785
  setValidationError("Cannot send to yourself");
12397
12786
  return false;
12398
12787
  }
12399
- const amountNum = parseFloat(amount);
12400
- if (!amount || isNaN(amountNum) || amountNum <= 0) {
12401
- setValidationError("Please enter a valid amount");
12788
+ if (!selectedAsset) {
12789
+ setValidationError("Please select an asset to send");
12402
12790
  return false;
12403
12791
  }
12404
- if (amountNum > balance) {
12405
- setValidationError("Insufficient balance");
12406
- return false;
12792
+ if (!isNft) {
12793
+ const amountNum = parseFloat(amount);
12794
+ if (!amount || isNaN(amountNum) || amountNum <= 0) {
12795
+ setValidationError("Please enter a valid amount");
12796
+ return false;
12797
+ }
12798
+ if (amountNum > balance) {
12799
+ setValidationError("Insufficient balance");
12800
+ return false;
12801
+ }
12802
+ }
12803
+ if (isSecurity) {
12804
+ if (isComplianceLoading) {
12805
+ setValidationError("Checking compliance...");
12806
+ return false;
12807
+ }
12808
+ if (complianceError) {
12809
+ setValidationError(complianceError);
12810
+ return false;
12811
+ }
12812
+ if (erc3643CanTransfer === false) {
12813
+ setValidationError("Transfer not allowed by token compliance rules");
12814
+ return false;
12815
+ }
12407
12816
  }
12408
12817
  setValidationError(null);
12409
12818
  return true;
@@ -12413,34 +12822,51 @@ function SendLumiaMenu() {
12413
12822
  setTxStep("confirm");
12414
12823
  };
12415
12824
  const handleConfirm = async () => {
12416
- if (!effectiveAddress) return;
12825
+ if (!effectiveAddress || !selectedAsset) return;
12417
12826
  setTxStep("pending");
12827
+ const txAmount = isNft ? "1" : amount;
12418
12828
  const hash = await sendTransaction({
12419
12829
  to: effectiveAddress,
12420
- value: amount
12830
+ value: txAmount,
12831
+ assetType: selectedAsset.type,
12832
+ tokenAddress: selectedAsset.address,
12833
+ tokenId: selectedAsset.tokenId,
12834
+ decimals: selectedAsset.decimals
12421
12835
  });
12422
12836
  if (hash) {
12423
12837
  setTxStep("success");
12424
- setTimeout(() => {
12425
- refetchBalance();
12426
- }, 2e3);
12838
+ setTimeout(() => refreshBalances(), 3e3);
12427
12839
  } else {
12428
12840
  setTxStep("input");
12429
12841
  }
12430
12842
  };
12431
12843
  const handleMaxAmount = () => {
12432
- const maxAmount = Math.max(0, balance - 1e-3);
12433
- setAmount(maxAmount.toFixed(6));
12844
+ if (!selectedAsset || isNft) return;
12845
+ if (selectedAsset.type === "native") {
12846
+ const maxAmount = Math.max(0, balance - 1e-3);
12847
+ setAmount(maxAmount.toFixed(6));
12848
+ } else {
12849
+ setAmount(formatUnits5(BigInt(selectedAsset.balance || "0"), selectedAsset.decimals || 18));
12850
+ }
12851
+ };
12852
+ const handleAssetSelect = (asset) => {
12853
+ setSelectedAsset(asset);
12854
+ setAmount("");
12434
12855
  };
12435
- return /* @__PURE__ */ jsxs57("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12436
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12437
- 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" }) }),
12438
- /* @__PURE__ */ jsx64("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
12856
+ const getPageTitle = () => {
12857
+ if (!selectedAsset) return "Send";
12858
+ if (isNft) return `Send NFT`;
12859
+ return `Send ${selectedAsset.symbol}`;
12860
+ };
12861
+ return /* @__PURE__ */ jsxs58("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12862
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12863
+ txStep === "input" && /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx65(ArrowLeft12, { className: "h-4 w-4" }) }),
12864
+ /* @__PURE__ */ jsx65("span", { className: "text-xl font-semibold", children: getPageTitle() })
12439
12865
  ] }),
12440
- txStep === "input" && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12441
- /* @__PURE__ */ jsxs57("div", { className: "w-full flex flex-col gap-2", children: [
12442
- /* @__PURE__ */ jsx64("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12443
- /* @__PURE__ */ jsx64(
12866
+ txStep === "input" && /* @__PURE__ */ jsxs58(Fragment25, { children: [
12867
+ /* @__PURE__ */ jsxs58("div", { className: "w-full flex flex-col gap-2", children: [
12868
+ /* @__PURE__ */ jsx65("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12869
+ /* @__PURE__ */ jsx65(
12444
12870
  Input,
12445
12871
  {
12446
12872
  Icon: isNicknameInput ? AtSign : Wallet3,
@@ -12448,161 +12874,247 @@ function SendLumiaMenu() {
12448
12874
  value: recipient,
12449
12875
  onChange: (e) => setRecipient(e.target.value),
12450
12876
  placeholder: "0x... or @nickname",
12451
- element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx64(Loader22, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12877
+ element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx65(Loader22, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12452
12878
  }
12453
12879
  ),
12454
- isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ jsxs57("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12455
- nicknameData.avatarSvg ? /* @__PURE__ */ jsx64(
12880
+ isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ jsxs58("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12881
+ nicknameData.avatarSvg ? /* @__PURE__ */ jsx65(
12456
12882
  "img",
12457
12883
  {
12458
12884
  src: nicknameData.avatarSvg,
12459
12885
  alt: nicknameData.handle,
12460
12886
  className: "w-10 h-10 rounded-full object-cover flex-shrink-0"
12461
12887
  }
12462
- ) : /* @__PURE__ */ jsx64("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx64(AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
12463
- /* @__PURE__ */ jsxs57("div", { className: "flex flex-col gap-1 min-w-0", children: [
12464
- /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
12465
- /* @__PURE__ */ jsx64(CheckCircle23, { className: "w-3 h-3 flex-shrink-0" }),
12466
- /* @__PURE__ */ jsx64("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
12888
+ ) : /* @__PURE__ */ jsx65("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx65(AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
12889
+ /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-1 min-w-0", children: [
12890
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
12891
+ /* @__PURE__ */ jsx65(CheckCircle23, { className: "w-3 h-3 flex-shrink-0" }),
12892
+ /* @__PURE__ */ jsx65("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
12467
12893
  ] }),
12468
- nicknameData.fingerprint && /* @__PURE__ */ jsxs57("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12469
- isFingerprintVerified ? /* @__PURE__ */ jsx64(Shield2, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ jsx64(ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
12470
- /* @__PURE__ */ jsxs57("span", { children: [
12894
+ nicknameData.fingerprint && /* @__PURE__ */ jsxs58("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12895
+ isFingerprintVerified ? /* @__PURE__ */ jsx65(Shield3, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ jsx65(ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
12896
+ /* @__PURE__ */ jsxs58("span", { children: [
12471
12897
  "Fingerprint: ",
12472
12898
  nicknameData.fingerprint
12473
12899
  ] }),
12474
- /* @__PURE__ */ jsx64("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
12900
+ /* @__PURE__ */ jsx65("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
12475
12901
  ] })
12476
12902
  ] })
12477
12903
  ] }),
12478
- isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
12479
- /* @__PURE__ */ jsx64(AlertTriangle4, { className: "w-3 h-3" }),
12480
- /* @__PURE__ */ jsx64("span", { children: "This handle is frozen. Proceed with caution." })
12904
+ isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
12905
+ /* @__PURE__ */ jsx65(AlertTriangle4, { className: "w-3 h-3" }),
12906
+ /* @__PURE__ */ jsx65("span", { children: "This handle is frozen. Proceed with caution." })
12481
12907
  ] }),
12482
- isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12483
- /* @__PURE__ */ jsx64(AlertCircle5, { className: "w-3 h-3" }),
12484
- /* @__PURE__ */ jsx64("span", { children: "This user has not set up their wallet yet" })
12908
+ isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12909
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "w-3 h-3" }),
12910
+ /* @__PURE__ */ jsx65("span", { children: "This user has not set up their wallet yet" })
12485
12911
  ] }),
12486
- isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12487
- /* @__PURE__ */ jsx64(AlertCircle5, { className: "w-3 h-3" }),
12488
- /* @__PURE__ */ jsx64("span", { children: "Nickname not found" })
12912
+ isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12913
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "w-3 h-3" }),
12914
+ /* @__PURE__ */ jsx65("span", { children: "Nickname not found" })
12489
12915
  ] })
12490
12916
  ] }),
12491
- /* @__PURE__ */ jsxs57("div", { className: "w-full flex flex-col gap-2", children: [
12492
- /* @__PURE__ */ jsxs57("div", { className: "flex justify-between items-center", children: [
12493
- /* @__PURE__ */ jsx64("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
12494
- /* @__PURE__ */ jsxs57("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
12917
+ /* @__PURE__ */ jsxs58("div", { className: "w-full flex flex-col gap-2", children: [
12918
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between items-center", children: [
12919
+ /* @__PURE__ */ jsx65("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: isNft ? "Asset" : "Amount" }),
12920
+ !isNft && selectedAsset && /* @__PURE__ */ jsxs58("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
12495
12921
  "Balance: ",
12496
- balance.toFixed(4),
12497
- " LUMIA"
12922
+ formatBalance(balance),
12923
+ " ",
12924
+ selectedAsset.symbol
12498
12925
  ] })
12499
12926
  ] }),
12500
- /* @__PURE__ */ jsx64(
12501
- Input,
12502
- {
12503
- Icon: LumiaIcon,
12504
- type: "number",
12505
- value: amount,
12506
- onChange: (e) => setAmount(e.target.value),
12507
- placeholder: "0.0",
12508
- step: "0.000001",
12509
- element: /* @__PURE__ */ jsx64(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
12510
- }
12511
- )
12927
+ isNft && selectedAsset ? (
12928
+ // NFT display card
12929
+ /* @__PURE__ */ jsx65(NftDisplayCard, { asset: selectedAsset })
12930
+ ) : (
12931
+ // Fungible token amount input
12932
+ /* @__PURE__ */ jsxs58("div", { className: "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] transition-colors duration-200 ease-in-out focus-within:bg-[var(--l-pass-secondary-a)]", children: [
12933
+ selectedAsset && /* @__PURE__ */ jsx65(
12934
+ AssetSelector,
12935
+ {
12936
+ assets,
12937
+ selectedAsset,
12938
+ onSelect: handleAssetSelect,
12939
+ disabled: isAssetsLoading
12940
+ }
12941
+ ),
12942
+ /* @__PURE__ */ jsx65(
12943
+ "input",
12944
+ {
12945
+ type: "number",
12946
+ value: amount,
12947
+ onChange: (e) => setAmount(e.target.value),
12948
+ placeholder: "0.0",
12949
+ step: "0.000001",
12950
+ className: cn(
12951
+ "text-[16px] text-[var(--l-pass-fg)] font-semibold",
12952
+ "placeholder:text-[var(--l-pass-fg-muted)]",
12953
+ "focus-visible:outline-none focus-visible:ring-0",
12954
+ "w-full h-full flex-1 border-0 bg-transparent px-0"
12955
+ )
12956
+ }
12957
+ ),
12958
+ /* @__PURE__ */ jsx65(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
12959
+ ] })
12960
+ ),
12961
+ isNft && selectedAsset && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 mt-2", children: [
12962
+ /* @__PURE__ */ jsx65("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Change asset:" }),
12963
+ /* @__PURE__ */ jsx65(
12964
+ AssetSelector,
12965
+ {
12966
+ assets,
12967
+ selectedAsset,
12968
+ onSelect: handleAssetSelect,
12969
+ disabled: isAssetsLoading
12970
+ }
12971
+ )
12972
+ ] })
12512
12973
  ] }),
12513
- (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: [
12514
- /* @__PURE__ */ jsx64(AlertCircle5, { className: "h-4 w-4" }),
12515
- /* @__PURE__ */ jsx64("span", { className: "text-sm", children: validationError || error })
12974
+ isSecurity && effectiveAddress && amount && /* @__PURE__ */ jsx65("div", { className: cn(
12975
+ "flex items-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)]",
12976
+ isComplianceLoading && "bg-[var(--l-pass-bg-info)] text-[var(--l-pass-info)]",
12977
+ !isComplianceLoading && erc3643CanTransfer && "bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)]",
12978
+ !isComplianceLoading && !erc3643CanTransfer && "bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)]"
12979
+ ), children: isComplianceLoading ? /* @__PURE__ */ jsxs58(Fragment25, { children: [
12980
+ /* @__PURE__ */ jsx65(Loader22, { className: "h-4 w-4 animate-spin" }),
12981
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: "Checking compliance..." })
12982
+ ] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs58(Fragment25, { children: [
12983
+ /* @__PURE__ */ jsx65(CheckCircle23, { className: "h-4 w-4" }),
12984
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: "Transfer compliant" })
12985
+ ] }) : /* @__PURE__ */ jsxs58(Fragment25, { children: [
12986
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "h-4 w-4" }),
12987
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: complianceError || "Transfer not allowed" })
12988
+ ] }) }),
12989
+ (validationError || error) && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
12990
+ /* @__PURE__ */ jsx65(AlertCircle5, { className: "h-4 w-4" }),
12991
+ /* @__PURE__ */ jsx65("span", { className: "text-sm", children: validationError || error })
12516
12992
  ] }),
12517
- /* @__PURE__ */ jsx64(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
12993
+ /* @__PURE__ */ jsx65(Button, { onClick: handleSend, disabled: isLoading || isComplianceLoading, className: "w-full", size: "large", children: "Continue" })
12518
12994
  ] }),
12519
- txStep === "confirm" && effectiveAddress && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12520
- isNicknameInput && isFrozen && /* @__PURE__ */ jsxs57("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
12521
- /* @__PURE__ */ jsx64(AlertTriangle4, { className: "h-4 w-4 flex-shrink-0" }),
12522
- /* @__PURE__ */ jsx64("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
12995
+ txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ jsxs58(Fragment25, { children: [
12996
+ isNicknameInput && isFrozen && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
12997
+ /* @__PURE__ */ jsx65(AlertTriangle4, { className: "h-4 w-4 flex-shrink-0" }),
12998
+ /* @__PURE__ */ jsx65("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
12999
+ ] }),
13000
+ isSecurity && erc3643CanTransfer && /* @__PURE__ */ jsxs58("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] rounded-[var(--l-pass-el-bdrs)]", children: [
13001
+ /* @__PURE__ */ jsx65(Shield3, { className: "h-4 w-4 flex-shrink-0" }),
13002
+ /* @__PURE__ */ jsx65("span", { className: "text-sm font-medium", children: "Security token compliance verified" })
12523
13003
  ] }),
12524
- /* @__PURE__ */ jsx64("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs57(Fragment24, { children: [
12525
- /* @__PURE__ */ jsxs57("div", { className: "flex items-start gap-3 mb-4", children: [
12526
- nicknameData.avatarSvg ? /* @__PURE__ */ jsx64(
13004
+ /* @__PURE__ */ jsx65("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs58(Fragment25, { children: [
13005
+ /* @__PURE__ */ jsxs58("div", { className: "flex items-start gap-3 mb-4", children: [
13006
+ nicknameData.avatarSvg ? /* @__PURE__ */ jsx65(
12527
13007
  "img",
12528
13008
  {
12529
13009
  src: nicknameData.avatarSvg,
12530
13010
  alt: nicknameData.handle,
12531
13011
  className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
12532
13012
  }
12533
- ) : /* @__PURE__ */ jsx64("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx64(AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
12534
- /* @__PURE__ */ jsxs57("div", { className: "flex flex-col gap-1 min-w-0", children: [
12535
- /* @__PURE__ */ jsx64("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
12536
- nicknameData.fingerprint && /* @__PURE__ */ jsxs57("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12537
- isFingerprintVerified ? /* @__PURE__ */ jsx64(Shield2, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx64(ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
12538
- /* @__PURE__ */ jsxs57("span", { children: [
13013
+ ) : /* @__PURE__ */ jsx65("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx65(AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
13014
+ /* @__PURE__ */ jsxs58("div", { className: "flex flex-col gap-1 min-w-0", children: [
13015
+ /* @__PURE__ */ jsx65("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
13016
+ nicknameData.fingerprint && /* @__PURE__ */ jsxs58("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13017
+ isFingerprintVerified ? /* @__PURE__ */ jsx65(Shield3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx65(ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
13018
+ /* @__PURE__ */ jsxs58("span", { children: [
12539
13019
  "Fingerprint: ",
12540
13020
  nicknameData.fingerprint
12541
13021
  ] }),
12542
- isFingerprintVerified && /* @__PURE__ */ jsx64(CheckCircle23, { className: "w-3 h-3" }),
12543
- /* @__PURE__ */ jsx64("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
13022
+ isFingerprintVerified && /* @__PURE__ */ jsx65(CheckCircle23, { className: "w-3 h-3" }),
13023
+ /* @__PURE__ */ jsx65("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
12544
13024
  ] }),
12545
- /* @__PURE__ */ jsxs57("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
13025
+ /* @__PURE__ */ jsxs58("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
12546
13026
  "Address: ",
12547
13027
  `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-6)}`
12548
13028
  ] })
12549
13029
  ] })
12550
13030
  ] }),
12551
- /* @__PURE__ */ jsxs57("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
12552
- /* @__PURE__ */ jsxs57("div", { className: "flex justify-between", children: [
12553
- /* @__PURE__ */ jsx64("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
12554
- /* @__PURE__ */ jsxs57("span", { className: "font-semibold", children: [
12555
- amount,
12556
- " LUMIA"
13031
+ /* @__PURE__ */ jsxs58("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13032
+ isNft ? (
13033
+ // NFT details
13034
+ /* @__PURE__ */ jsx65(Fragment25, { children: /* @__PURE__ */ jsxs58("div", { className: "flex justify-between items-start", children: [
13035
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13036
+ /* @__PURE__ */ jsxs58("div", { className: "text-right", children: [
13037
+ /* @__PURE__ */ jsx65("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13038
+ selectedAsset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13039
+ "#",
13040
+ selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13041
+ ] })
13042
+ ] })
13043
+ ] }) })
13044
+ ) : (
13045
+ // Fungible token details
13046
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13047
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13048
+ /* @__PURE__ */ jsxs58("span", { className: "font-semibold", children: [
13049
+ amount,
13050
+ " ",
13051
+ selectedAsset.symbol
13052
+ ] })
12557
13053
  ] })
12558
- ] }),
12559
- /* @__PURE__ */ jsxs57("div", { className: "flex justify-between", children: [
12560
- /* @__PURE__ */ jsx64("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
12561
- /* @__PURE__ */ jsx64("span", { children: "Lumia Beam" })
13054
+ ),
13055
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13056
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13057
+ /* @__PURE__ */ jsx65("span", { children: "Lumia Beam" })
12562
13058
  ] })
12563
13059
  ] })
12564
- ] }) : /* @__PURE__ */ jsxs57(Fragment24, { children: [
12565
- /* @__PURE__ */ jsx64("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
12566
- /* @__PURE__ */ jsxs57("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
12567
- /* @__PURE__ */ jsxs57("div", { className: "flex justify-between", children: [
12568
- /* @__PURE__ */ jsx64("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
12569
- /* @__PURE__ */ jsx64("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
13060
+ ] }) : /* @__PURE__ */ jsxs58(Fragment25, { children: [
13061
+ /* @__PURE__ */ jsx65("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
13062
+ /* @__PURE__ */ jsxs58("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13063
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13064
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
13065
+ /* @__PURE__ */ jsx65("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
12570
13066
  ] }),
12571
- /* @__PURE__ */ jsxs57("div", { className: "flex justify-between", children: [
12572
- /* @__PURE__ */ jsx64("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
12573
- /* @__PURE__ */ jsxs57("span", { className: "font-semibold", children: [
12574
- amount,
12575
- " LUMIA"
13067
+ isNft ? (
13068
+ // NFT details
13069
+ /* @__PURE__ */ jsx65(Fragment25, { children: /* @__PURE__ */ jsxs58("div", { className: "flex justify-between items-start", children: [
13070
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13071
+ /* @__PURE__ */ jsxs58("div", { className: "text-right", children: [
13072
+ /* @__PURE__ */ jsx65("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13073
+ selectedAsset.tokenId && /* @__PURE__ */ jsxs58("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13074
+ "#",
13075
+ selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13076
+ ] })
13077
+ ] })
13078
+ ] }) })
13079
+ ) : (
13080
+ // Fungible token details
13081
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13082
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13083
+ /* @__PURE__ */ jsxs58("span", { className: "font-semibold", children: [
13084
+ amount,
13085
+ " ",
13086
+ selectedAsset.symbol
13087
+ ] })
12576
13088
  ] })
12577
- ] }),
12578
- /* @__PURE__ */ jsxs57("div", { className: "flex justify-between", children: [
12579
- /* @__PURE__ */ jsx64("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
12580
- /* @__PURE__ */ jsx64("span", { children: "Lumia Beam" })
13089
+ ),
13090
+ /* @__PURE__ */ jsxs58("div", { className: "flex justify-between", children: [
13091
+ /* @__PURE__ */ jsx65("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13092
+ /* @__PURE__ */ jsx65("span", { children: "Lumia Beam" })
12581
13093
  ] })
12582
13094
  ] })
12583
13095
  ] }) }),
12584
- /* @__PURE__ */ jsxs57("div", { className: "flex gap-2", children: [
12585
- /* @__PURE__ */ jsx64(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
12586
- /* @__PURE__ */ jsxs57(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
12587
- isLoading && /* @__PURE__ */ jsx64(Loader22, { className: "h-4 w-4 animate-spin" }),
13096
+ /* @__PURE__ */ jsxs58("div", { className: "flex gap-2", children: [
13097
+ /* @__PURE__ */ jsx65(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
13098
+ /* @__PURE__ */ jsxs58(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
13099
+ isLoading && /* @__PURE__ */ jsx65(Loader22, { className: "h-4 w-4 animate-spin" }),
12588
13100
  "Confirm"
12589
13101
  ] })
12590
13102
  ] })
12591
13103
  ] }),
12592
- txStep === "pending" && /* @__PURE__ */ jsxs57("div", { className: "py-8 text-center space-y-4", children: [
12593
- /* @__PURE__ */ jsx64(Loader22, { className: "h-5 w-5 animate-spin mx-auto" }),
12594
- /* @__PURE__ */ jsxs57("div", { children: [
12595
- /* @__PURE__ */ jsx64("span", { className: "block font-medium", children: "Transaction Pending" }),
12596
- /* @__PURE__ */ jsx64("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
13104
+ txStep === "pending" && /* @__PURE__ */ jsxs58("div", { className: "py-8 text-center space-y-4", children: [
13105
+ /* @__PURE__ */ jsx65(Loader22, { className: "h-5 w-5 animate-spin mx-auto" }),
13106
+ /* @__PURE__ */ jsxs58("div", { children: [
13107
+ /* @__PURE__ */ jsx65("span", { className: "block font-medium", children: "Transaction Pending" }),
13108
+ /* @__PURE__ */ jsx65("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
12597
13109
  ] })
12598
13110
  ] }),
12599
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs57(Fragment24, { children: [
12600
- /* @__PURE__ */ jsxs57("div", { className: "text-center py-4", children: [
12601
- /* @__PURE__ */ jsx64(CheckCircle23, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
12602
- /* @__PURE__ */ jsx64("p", { className: "font-medium", children: "Transaction Sent!" }),
12603
- /* @__PURE__ */ jsx64("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
13111
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs58(Fragment25, { children: [
13112
+ /* @__PURE__ */ jsxs58("div", { className: "text-center py-4", children: [
13113
+ /* @__PURE__ */ jsx65(CheckCircle23, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
13114
+ /* @__PURE__ */ jsx65("p", { className: "font-medium", children: "Transaction Sent!" }),
13115
+ /* @__PURE__ */ jsx65("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
12604
13116
  ] }),
12605
- /* @__PURE__ */ jsx64(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
13117
+ /* @__PURE__ */ jsx65(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
12606
13118
  ] })
12607
13119
  ] });
12608
13120
  }
@@ -12611,17 +13123,17 @@ function SendLumiaMenu() {
12611
13123
  init_clients();
12612
13124
  import { ArrowLeft as ArrowLeft13, CheckCircle2 as CheckCircle24, Copy as Copy2, Loader as Loader23 } from "lucide-react";
12613
13125
  import QRCode from "qrcode";
12614
- import { useCallback as useCallback17, useEffect as useEffect26, useState as useState19 } from "react";
12615
- import { Fragment as Fragment25, jsx as jsx65, jsxs as jsxs58 } from "react/jsx-runtime";
13126
+ import { useCallback as useCallback18, useEffect as useEffect27, useState as useState20 } from "react";
13127
+ import { Fragment as Fragment26, jsx as jsx66, jsxs as jsxs59 } from "react/jsx-runtime";
12616
13128
  function ReceiveLumiaMenu() {
12617
13129
  const address = useLumiaPassportSession((st) => st.address);
12618
13130
  const page = useLayoutDataStore((st) => st.page);
12619
13131
  const setPage = useLayoutDataStore((st) => st.setPage);
12620
13132
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12621
13133
  const open = page === "receive";
12622
- const [qrCodeUrl, setQrCodeUrl] = useState19("");
12623
- const [copied, setCopied] = useState19(false);
12624
- useEffect26(() => {
13134
+ const [qrCodeUrl, setQrCodeUrl] = useState20("");
13135
+ const [copied, setCopied] = useState20(false);
13136
+ useEffect27(() => {
12625
13137
  if (open && address) {
12626
13138
  QRCode.toDataURL(address, {
12627
13139
  width: 200,
@@ -12634,7 +13146,7 @@ function ReceiveLumiaMenu() {
12634
13146
  });
12635
13147
  }
12636
13148
  }, [open, address]);
12637
- const handleCopy = useCallback17(async () => {
13149
+ const handleCopy = useCallback18(async () => {
12638
13150
  if (!address) return;
12639
13151
  try {
12640
13152
  await navigator.clipboard.writeText(address);
@@ -12644,7 +13156,7 @@ function ReceiveLumiaMenu() {
12644
13156
  console.error("Failed to copy address:", error);
12645
13157
  }
12646
13158
  }, [address]);
12647
- return /* @__PURE__ */ jsxs58(
13159
+ return /* @__PURE__ */ jsxs59(
12648
13160
  "div",
12649
13161
  {
12650
13162
  style: {
@@ -12653,26 +13165,26 @@ function ReceiveLumiaMenu() {
12653
13165
  },
12654
13166
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12655
13167
  children: [
12656
- /* @__PURE__ */ jsxs58("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
12657
- /* @__PURE__ */ jsx65(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx65(ArrowLeft13, { className: "h-4 w-4" }) }),
12658
- /* @__PURE__ */ jsx65("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
13168
+ /* @__PURE__ */ jsxs59("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
13169
+ /* @__PURE__ */ jsx66(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx66(ArrowLeft13, { className: "h-4 w-4" }) }),
13170
+ /* @__PURE__ */ jsx66("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
12659
13171
  ] }),
12660
- /* @__PURE__ */ jsxs58(Highlight, { className: "text-center", type: "warning", children: [
12661
- /* @__PURE__ */ jsx65("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
12662
- /* @__PURE__ */ jsx65("span", { className: "block w-full", children: "Ensure sender is on the same network" })
13172
+ /* @__PURE__ */ jsxs59(Highlight, { className: "text-center", type: "warning", children: [
13173
+ /* @__PURE__ */ jsx66("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
13174
+ /* @__PURE__ */ jsx66("span", { className: "block w-full", children: "Ensure sender is on the same network" })
12663
13175
  ] }),
12664
- /* @__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)]" }) }),
12665
- /* @__PURE__ */ jsxs58(Highlight, { type: "info", children: [
12666
- /* @__PURE__ */ jsx65("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
12667
- /* @__PURE__ */ jsx65(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs58(Fragment25, { children: [
12668
- /* @__PURE__ */ jsx65(CheckCircle24, { className: "h-4 w-4" }),
12669
- /* @__PURE__ */ jsx65("span", { children: "Copied!" })
12670
- ] }) : /* @__PURE__ */ jsxs58(Fragment25, { children: [
12671
- /* @__PURE__ */ jsx65(Copy2, { className: "h-4 w-4" }),
12672
- /* @__PURE__ */ jsx65("span", { children: "Copy Address" })
13176
+ /* @__PURE__ */ jsx66("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx66("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx66(Loader23, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
13177
+ /* @__PURE__ */ jsxs59(Highlight, { type: "info", children: [
13178
+ /* @__PURE__ */ jsx66("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
13179
+ /* @__PURE__ */ jsx66(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ jsxs59(Fragment26, { children: [
13180
+ /* @__PURE__ */ jsx66(CheckCircle24, { className: "h-4 w-4" }),
13181
+ /* @__PURE__ */ jsx66("span", { children: "Copied!" })
13182
+ ] }) : /* @__PURE__ */ jsxs59(Fragment26, { children: [
13183
+ /* @__PURE__ */ jsx66(Copy2, { className: "h-4 w-4" }),
13184
+ /* @__PURE__ */ jsx66("span", { children: "Copy Address" })
12673
13185
  ] }) })
12674
13186
  ] }),
12675
- /* @__PURE__ */ jsx65("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx65("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
13187
+ /* @__PURE__ */ jsx66("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx66("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
12676
13188
  ]
12677
13189
  }
12678
13190
  );
@@ -12680,16 +13192,16 @@ function ReceiveLumiaMenu() {
12680
13192
 
12681
13193
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12682
13194
  import { ArrowLeft as ArrowLeft14 } from "lucide-react";
12683
- import { useEffect as useEffect27 } from "react";
13195
+ import { useEffect as useEffect28 } from "react";
12684
13196
 
12685
13197
  // src/internal/components/SettingsMenu/constants.ts
12686
13198
  import { ArrowLeftRight, AtSign as AtSign2, DatabaseBackup, LockKeyhole, UsersRound } from "lucide-react";
12687
13199
 
12688
13200
  // src/internal/assets/KycIcon.tsx
12689
- import { jsx as jsx66 } from "react/jsx-runtime";
13201
+ import { jsx as jsx67 } from "react/jsx-runtime";
12690
13202
  function KycIcon(props) {
12691
13203
  const { width = "24", height = "24", ...rest } = props;
12692
- return /* @__PURE__ */ jsx66("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx66(
13204
+ return /* @__PURE__ */ jsx67("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx67(
12693
13205
  "path",
12694
13206
  {
12695
13207
  d: "M12 18.5455C10.1727 18.5455 8.625 17.9114 7.35682 16.6432C6.08864 15.375 5.45455 13.8273 5.45455 12C5.45455 10.1727 6.08864 8.625 7.35682 7.35682C8.625 6.08864 10.1727 5.45455 12 5.45455C13.8273 5.45455 15.375 6.08864 16.6432 7.35682C17.9114 8.625 18.5455 10.1727 18.5455 12C18.5455 13.8273 17.9114 15.375 16.6432 16.6432C15.375 17.9114 13.8273 18.5455 12 18.5455ZM12 16.9091C13.3636 16.9091 14.5227 16.4318 15.4773 15.4773C16.4318 14.5227 16.9091 13.3636 16.9091 12C16.9091 11.7682 16.892 11.5398 16.858 11.3148C16.8239 11.0898 16.7727 10.8682 16.7045 10.65C16.5 10.6909 16.2955 10.7216 16.0909 10.742C15.8864 10.7625 15.6818 10.7727 15.4773 10.7727C14.6182 10.7727 13.8 10.6091 13.0227 10.2818C12.2455 9.95455 11.55 9.47727 10.9364 8.85C10.5545 9.62727 10.0295 10.3023 9.36136 10.875C8.69318 11.4477 7.93636 11.8636 7.09091 12.1227C7.13182 13.4591 7.62614 14.5909 8.57386 15.5182C9.52159 16.4455 10.6636 16.9091 12 16.9091ZM7.41818 10.2409C8.01818 9.92727 8.475 9.5625 8.78864 9.14659C9.10227 8.73068 9.40909 8.23636 9.70909 7.66364C9.19091 7.93636 8.73409 8.29432 8.33864 8.7375C7.94318 9.18068 7.63636 9.68182 7.41818 10.2409ZM9.95455 13.6364C9.72273 13.6364 9.52841 13.558 9.37159 13.4011C9.21477 13.2443 9.13636 13.05 9.13636 12.8182C9.13636 12.5864 9.21477 12.392 9.37159 12.2352C9.52841 12.0784 9.72273 12 9.95455 12C10.1864 12 10.3807 12.0784 10.5375 12.2352C10.6943 12.392 10.7727 12.5864 10.7727 12.8182C10.7727 13.05 10.6943 13.2443 10.5375 13.4011C10.3807 13.558 10.1864 13.6364 9.95455 13.6364ZM15.4773 9.13636H15.7227C15.8045 9.13636 15.8864 9.12955 15.9682 9.11591C15.5182 8.50227 14.9489 8.01136 14.2602 7.64318C13.5716 7.275 12.8182 7.09091 12 7.09091H11.7545C11.6727 7.09091 11.5977 7.09773 11.5295 7.11136C12.0614 7.725 12.6239 8.21591 13.217 8.58409C13.8102 8.95227 14.5636 9.13636 15.4773 9.13636ZM14.0455 13.6364C13.8136 13.6364 13.6193 13.558 13.4625 13.4011C13.3057 13.2443 13.2273 13.05 13.2273 12.8182C13.2273 12.5864 13.3057 12.392 13.4625 12.2352C13.6193 12.0784 13.8136 12 14.0455 12C14.2773 12 14.4716 12.0784 14.6284 12.2352C14.7852 12.392 14.8636 12.5864 14.8636 12.8182C14.8636 13.05 14.7852 13.2443 14.6284 13.4011C14.4716 13.558 14.2773 13.6364 14.0455 13.6364ZM3 7.09091V4.63636C3 4.18636 3.16023 3.80114 3.48068 3.48068C3.80114 3.16023 4.18636 3 4.63636 3H7.09091V4.63636H4.63636V7.09091H3ZM7.09091 21H4.63636C4.18636 21 3.80114 20.8398 3.48068 20.5193C3.16023 20.1989 3 19.8136 3 19.3636V16.9091H4.63636V19.3636H7.09091V21ZM16.9091 21V19.3636H19.3636V16.9091H21V19.3636C21 19.8136 20.8398 20.1989 20.5193 20.5193C20.1989 20.8398 19.8136 21 19.3636 21H16.9091ZM19.3636 7.09091V4.63636H16.9091V3H19.3636C19.8136 3 20.1989 3.16023 20.5193 3.48068C20.8398 3.80114 21 4.18636 21 4.63636V7.09091H19.3636Z",
@@ -12709,18 +13221,18 @@ var NAV_BUTTONS = [
12709
13221
  ];
12710
13222
 
12711
13223
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12712
- import { jsx as jsx67, jsxs as jsxs59 } from "react/jsx-runtime";
13224
+ import { jsx as jsx68, jsxs as jsxs60 } from "react/jsx-runtime";
12713
13225
  function SettingsMenu() {
12714
13226
  const address = useLumiaPassportSession((st) => st.address);
12715
13227
  const setPage = useLayoutDataStore((st) => st.setPage);
12716
13228
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
12717
13229
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
12718
13230
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12719
- useEffect27(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
13231
+ useEffect28(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
12720
13232
  useProvidersList();
12721
13233
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
12722
13234
  const highlightedKeys = settingsNotifications.map((n) => n.target);
12723
- return /* @__PURE__ */ jsxs59(
13235
+ return /* @__PURE__ */ jsxs60(
12724
13236
  "div",
12725
13237
  {
12726
13238
  style: {
@@ -12729,11 +13241,11 @@ function SettingsMenu() {
12729
13241
  },
12730
13242
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12731
13243
  children: [
12732
- /* @__PURE__ */ jsxs59("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12733
- /* @__PURE__ */ jsx67(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx67(ArrowLeft14, { className: "h-4 w-4" }) }),
12734
- /* @__PURE__ */ jsx67("span", { className: "text-xl font-semibold", children: "Settings" })
13244
+ /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13245
+ /* @__PURE__ */ jsx68(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx68(ArrowLeft14, { className: "h-4 w-4" }) }),
13246
+ /* @__PURE__ */ jsx68("span", { className: "text-xl font-semibold", children: "Settings" })
12735
13247
  ] }),
12736
- /* @__PURE__ */ jsx67("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs59(
13248
+ /* @__PURE__ */ jsx68("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs60(
12737
13249
  Button,
12738
13250
  {
12739
13251
  variant: "outline",
@@ -12746,8 +13258,8 @@ function SettingsMenu() {
12746
13258
  highlightedKeys.includes(id) && "animate-glow-warning"
12747
13259
  ),
12748
13260
  children: [
12749
- /* @__PURE__ */ jsx67(Icon2, { className: "w-4 h-4" }),
12750
- /* @__PURE__ */ jsx67("span", { children: name })
13261
+ /* @__PURE__ */ jsx68(Icon2, { className: "w-4 h-4" }),
13262
+ /* @__PURE__ */ jsx68("span", { children: name })
12751
13263
  ]
12752
13264
  },
12753
13265
  id
@@ -12759,27 +13271,27 @@ function SettingsMenu() {
12759
13271
 
12760
13272
  // src/internal/components/TermsOfService.tsx
12761
13273
  import { ArrowLeft as ArrowLeft15 } from "lucide-react";
12762
- import { jsx as jsx68, jsxs as jsxs60 } from "react/jsx-runtime";
13274
+ import { jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
12763
13275
  function TermsOfService() {
12764
13276
  const address = useLumiaPassportSession((st) => st.address);
12765
13277
  const setPage = useLayoutDataStore((st) => st.setPage);
12766
- return /* @__PURE__ */ jsxs60("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12767
- /* @__PURE__ */ jsxs60("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12768
- /* @__PURE__ */ jsx68(
13278
+ return /* @__PURE__ */ jsxs61("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13279
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13280
+ /* @__PURE__ */ jsx69(
12769
13281
  Button,
12770
13282
  {
12771
13283
  variant: "ghost",
12772
13284
  size: "icon",
12773
13285
  title: "Back",
12774
13286
  onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
12775
- children: /* @__PURE__ */ jsx68(ArrowLeft15, { className: "h-4 w-4" })
13287
+ children: /* @__PURE__ */ jsx69(ArrowLeft15, { className: "h-4 w-4" })
12776
13288
  }
12777
13289
  ),
12778
- /* @__PURE__ */ jsx68("span", { className: "text-xl font-semibold", children: "Terms of Service" })
13290
+ /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold", children: "Terms of Service" })
12779
13291
  ] }),
12780
- /* @__PURE__ */ jsxs60(Highlight, { type: "warning", className: "text-center", children: [
12781
- /* @__PURE__ */ jsx68("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
12782
- /* @__PURE__ */ jsx68("span", { className: "block text-xs", children: "To be updated..." })
13292
+ /* @__PURE__ */ jsxs61(Highlight, { type: "warning", className: "text-center", children: [
13293
+ /* @__PURE__ */ jsx69("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
13294
+ /* @__PURE__ */ jsx69("span", { className: "block text-xs", children: "To be updated..." })
12783
13295
  ] })
12784
13296
  ] });
12785
13297
  }
@@ -12787,7 +13299,7 @@ function TermsOfService() {
12787
13299
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
12788
13300
  import { useQuery as useQuery17, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
12789
13301
  import { ArrowLeft as ArrowLeft16, Loader as Loader24, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
12790
- import { useCallback as useCallback18, useState as useState20 } from "react";
13302
+ import { useCallback as useCallback19, useState as useState21 } from "react";
12791
13303
 
12792
13304
  // src/internal/components/TransactionsMenu/api.ts
12793
13305
  init_base();
@@ -13043,7 +13555,7 @@ async function getTransactionsListQuery(address) {
13043
13555
  });
13044
13556
  });
13045
13557
  tokenTransfersData.forEach((transfer, index) => {
13046
- const rawValue = transfer.value ?? "0";
13558
+ const rawValue = transfer.total?.value ?? transfer.value ?? "0";
13047
13559
  const amount = toBigInt(rawValue);
13048
13560
  if (amount === 0n) {
13049
13561
  return;
@@ -13059,7 +13571,7 @@ async function getTransactionsListQuery(address) {
13059
13571
  }
13060
13572
  const tsInput = transfer.timestamp;
13061
13573
  const timestampMs = typeof tsInput === "number" ? tsInput > 1e12 ? tsInput : tsInput * 1e3 : tsInput ? new Date(tsInput).getTime() : now;
13062
- const decimalsRaw = transfer.token?.decimals;
13574
+ const decimalsRaw = transfer.total?.decimals ?? transfer.token?.decimals;
13063
13575
  const decimals = typeof decimalsRaw === "string" ? parseInt(decimalsRaw, 10) : typeof decimalsRaw === "number" ? decimalsRaw : 18;
13064
13576
  const assetSymbol = transfer.token?.symbol || "Token";
13065
13577
  const tokenItem = {
@@ -13158,22 +13670,22 @@ var formatTimestamp = (timestampMs) => {
13158
13670
  };
13159
13671
 
13160
13672
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
13161
- import { Fragment as Fragment26, jsx as jsx69, jsxs as jsxs61 } from "react/jsx-runtime";
13673
+ import { Fragment as Fragment27, jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
13162
13674
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
13163
13675
  const internalSymbol = internal.assetSymbol || assetSymbol;
13164
13676
  const internalDecimals = internal.decimals ?? assetDecimals;
13165
- return /* @__PURE__ */ jsxs61("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13166
- /* @__PURE__ */ jsxs61("div", { className: "flex gap-2 items-center justify-between", children: [
13167
- /* @__PURE__ */ jsx69("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13168
- /* @__PURE__ */ jsxs61("span", { children: [
13677
+ return /* @__PURE__ */ jsxs62("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13678
+ /* @__PURE__ */ jsxs62("div", { className: "flex gap-2 items-center justify-between", children: [
13679
+ /* @__PURE__ */ jsx70("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13680
+ /* @__PURE__ */ jsxs62("span", { children: [
13169
13681
  formatValue2(internal.value, internalDecimals),
13170
13682
  " ",
13171
13683
  internalSymbol
13172
13684
  ] })
13173
13685
  ] }),
13174
- /* @__PURE__ */ jsxs61("div", { className: "flex gap-2 items-center justify-between", children: [
13175
- /* @__PURE__ */ jsx69("span", { children: internal.direction === "in" ? "From" : "To" }),
13176
- /* @__PURE__ */ jsx69("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13686
+ /* @__PURE__ */ jsxs62("div", { className: "flex gap-2 items-center justify-between", children: [
13687
+ /* @__PURE__ */ jsx70("span", { children: internal.direction === "in" ? "From" : "To" }),
13688
+ /* @__PURE__ */ jsx70("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13177
13689
  ] })
13178
13690
  ] });
13179
13691
  }
@@ -13184,7 +13696,7 @@ function TransactionsGroup(props) {
13184
13696
  const assetSymbol = parent.assetSymbol || "LUMIA";
13185
13697
  const assetDecimals = parent.decimals ?? 18;
13186
13698
  const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
13187
- return /* @__PURE__ */ jsxs61(
13699
+ return /* @__PURE__ */ jsxs62(
13188
13700
  "div",
13189
13701
  {
13190
13702
  onClick: () => openInExplorer2(parent.parentHash),
@@ -13194,28 +13706,28 @@ function TransactionsGroup(props) {
13194
13706
  "bg-transparent hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
13195
13707
  ),
13196
13708
  children: [
13197
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13198
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13199
- parent.direction === "in" ? /* @__PURE__ */ jsx69(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx69(ChevronRight5, { className: "w-4 h-4" }),
13200
- /* @__PURE__ */ jsx69("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13201
- parent.status === "ok" ? /* @__PURE__ */ jsx69(PositiveIcon, {}) : /* @__PURE__ */ jsx69(NegativeIcon, {})
13709
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13710
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13711
+ parent.direction === "in" ? /* @__PURE__ */ jsx70(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx70(ChevronRight5, { className: "w-4 h-4" }),
13712
+ /* @__PURE__ */ jsx70("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13713
+ parent.status === "ok" ? /* @__PURE__ */ jsx70(PositiveIcon, {}) : /* @__PURE__ */ jsx70(NegativeIcon, {})
13202
13714
  ] }),
13203
- /* @__PURE__ */ jsx69("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13715
+ /* @__PURE__ */ jsx70("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13204
13716
  ] }),
13205
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13206
- /* @__PURE__ */ jsxs61("div", { className: "flex flex-col gap-0", children: [
13207
- /* @__PURE__ */ jsxs61("span", { className: "font-bold", children: [
13717
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13718
+ /* @__PURE__ */ jsxs62("div", { className: "flex flex-col gap-0", children: [
13719
+ /* @__PURE__ */ jsxs62("span", { className: "font-bold", children: [
13208
13720
  formatValue2(parent.value, assetDecimals),
13209
13721
  " ",
13210
13722
  assetSymbol
13211
13723
  ] }),
13212
- /* @__PURE__ */ jsxs61("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13724
+ /* @__PURE__ */ jsxs62("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13213
13725
  isIncoming ? "From: " : "To: ",
13214
13726
  parent.counterpartyName || formatAddress2(parent.counterparty)
13215
13727
  ] })
13216
13728
  ] }),
13217
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-0", children: [
13218
- /* @__PURE__ */ jsx69(
13729
+ /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-0", children: [
13730
+ /* @__PURE__ */ jsx70(
13219
13731
  Button,
13220
13732
  {
13221
13733
  variant: "ghost",
@@ -13224,10 +13736,10 @@ function TransactionsGroup(props) {
13224
13736
  onClick: (e) => {
13225
13737
  e.stopPropagation();
13226
13738
  },
13227
- children: /* @__PURE__ */ jsx69(Copy3, { className: "w-4 h-4" })
13739
+ children: /* @__PURE__ */ jsx70(Copy3, { className: "w-4 h-4" })
13228
13740
  }
13229
13741
  ),
13230
- /* @__PURE__ */ jsx69(
13742
+ /* @__PURE__ */ jsx70(
13231
13743
  Button,
13232
13744
  {
13233
13745
  variant: "ghost",
@@ -13236,24 +13748,24 @@ function TransactionsGroup(props) {
13236
13748
  onClick: (e) => {
13237
13749
  e.stopPropagation();
13238
13750
  },
13239
- children: /* @__PURE__ */ jsx69(LumiaIcon, { className: "w-4 h-4" })
13751
+ children: /* @__PURE__ */ jsx70(LumiaIcon, { className: "w-4 h-4" })
13240
13752
  }
13241
13753
  )
13242
13754
  ] })
13243
13755
  ] }),
13244
- internalsToRender.length > 0 && /* @__PURE__ */ jsxs61(Fragment26, { children: [
13245
- /* @__PURE__ */ jsxs61("div", { className: "w-full flex items-center", children: [
13246
- /* @__PURE__ */ jsx69("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13247
- /* @__PURE__ */ jsx69("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13248
- /* @__PURE__ */ jsx69("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13756
+ internalsToRender.length > 0 && /* @__PURE__ */ jsxs62(Fragment27, { children: [
13757
+ /* @__PURE__ */ jsxs62("div", { className: "w-full flex items-center", children: [
13758
+ /* @__PURE__ */ jsx70("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13759
+ /* @__PURE__ */ jsx70("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13760
+ /* @__PURE__ */ jsx70("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13249
13761
  ] }),
13250
- /* @__PURE__ */ jsxs61(
13762
+ /* @__PURE__ */ jsxs62(
13251
13763
  "div",
13252
13764
  {
13253
13765
  className: "w-full rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
13254
13766
  onClick: (event) => event.stopPropagation(),
13255
13767
  children: [
13256
- /* @__PURE__ */ jsxs61(
13768
+ /* @__PURE__ */ jsxs62(
13257
13769
  Button,
13258
13770
  {
13259
13771
  variant: "ghost",
@@ -13261,16 +13773,16 @@ function TransactionsGroup(props) {
13261
13773
  className: "w-full justify-between",
13262
13774
  onClick: () => onToggleExpanded(group.id),
13263
13775
  children: [
13264
- /* @__PURE__ */ jsxs61("span", { children: [
13776
+ /* @__PURE__ */ jsxs62("span", { children: [
13265
13777
  "View internal calls (",
13266
13778
  internalsToRender.length,
13267
13779
  ")"
13268
13780
  ] }),
13269
- /* @__PURE__ */ jsx69("span", { children: expanded ? "Hide" : "Show" })
13781
+ /* @__PURE__ */ jsx70("span", { children: expanded ? "Hide" : "Show" })
13270
13782
  ]
13271
13783
  }
13272
13784
  ),
13273
- expanded && /* @__PURE__ */ jsx69("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx69(
13785
+ expanded && /* @__PURE__ */ jsx70("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx70(
13274
13786
  InternalTransaction,
13275
13787
  {
13276
13788
  internal,
@@ -13289,14 +13801,14 @@ function TransactionsGroup(props) {
13289
13801
  }
13290
13802
 
13291
13803
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13292
- import { jsx as jsx70, jsxs as jsxs62 } from "react/jsx-runtime";
13804
+ import { jsx as jsx71, jsxs as jsxs63 } from "react/jsx-runtime";
13293
13805
  function TransactionsMenu() {
13294
13806
  const qc = useQueryClient18();
13295
13807
  const address = useLumiaPassportSession((st) => st.address);
13296
13808
  const page = useLayoutDataStore((st) => st.page);
13297
13809
  const setPage = useLayoutDataStore((st) => st.setPage);
13298
13810
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
13299
- const [expandedGroups, setExpandedGroups] = useState20({});
13811
+ const [expandedGroups, setExpandedGroups] = useState21({});
13300
13812
  const {
13301
13813
  data: txHistoryGroups = [],
13302
13814
  isLoading: isTxHistoryLoading,
@@ -13308,12 +13820,12 @@ function TransactionsMenu() {
13308
13820
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
13309
13821
  queryFn: () => getTransactionsListQuery(address)
13310
13822
  });
13311
- const refreshTxHistory = useCallback18(
13823
+ const refreshTxHistory = useCallback19(
13312
13824
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
13313
13825
  [qc, address]
13314
13826
  );
13315
13827
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
13316
- return /* @__PURE__ */ jsx70(
13828
+ return /* @__PURE__ */ jsx71(
13317
13829
  "div",
13318
13830
  {
13319
13831
  style: {
@@ -13321,11 +13833,11 @@ function TransactionsMenu() {
13321
13833
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
13322
13834
  },
13323
13835
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
13324
- children: /* @__PURE__ */ jsxs62(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13325
- /* @__PURE__ */ jsxs62("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13326
- /* @__PURE__ */ jsx70(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx70(ArrowLeft16, { className: "h-4 w-4" }) }),
13327
- /* @__PURE__ */ jsx70("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13328
- /* @__PURE__ */ jsx70(
13836
+ children: /* @__PURE__ */ jsxs63(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13837
+ /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13838
+ /* @__PURE__ */ jsx71(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx71(ArrowLeft16, { className: "h-4 w-4" }) }),
13839
+ /* @__PURE__ */ jsx71("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13840
+ /* @__PURE__ */ jsx71(
13329
13841
  Button,
13330
13842
  {
13331
13843
  variant: "ghost",
@@ -13333,17 +13845,17 @@ function TransactionsMenu() {
13333
13845
  onClick: refreshTxHistory,
13334
13846
  disabled: isTxHistoryFetching,
13335
13847
  title: "Refresh transactions",
13336
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx70(Loader24, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx70(RefreshCw3, { className: "h-4 w-4" })
13848
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx71(Loader24, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx71(RefreshCw3, { className: "h-4 w-4" })
13337
13849
  }
13338
13850
  )
13339
13851
  ] }),
13340
- isTxHistoryLoading && /* @__PURE__ */ jsx70("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx70(Loader24, { className: "h-5 w-5 animate-spin" }) }),
13341
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs62(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13342
- /* @__PURE__ */ jsx70(XCircle2, { className: "w-4 h-4 flex-none" }),
13343
- /* @__PURE__ */ jsx70("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
13852
+ isTxHistoryLoading && /* @__PURE__ */ jsx71("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx71(Loader24, { className: "h-5 w-5 animate-spin" }) }),
13853
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs63(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13854
+ /* @__PURE__ */ jsx71(XCircle2, { className: "w-4 h-4 flex-none" }),
13855
+ /* @__PURE__ */ jsx71("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
13344
13856
  ] }),
13345
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx70(Highlight, { type: "warning", children: /* @__PURE__ */ jsx70("span", { children: "No transactions found." }) }),
13346
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx70("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx70(
13857
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx71(Highlight, { type: "warning", children: /* @__PURE__ */ jsx71("span", { children: "No transactions found." }) }),
13858
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx71("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx71(
13347
13859
  TransactionsGroup,
13348
13860
  {
13349
13861
  group,
@@ -13458,7 +13970,7 @@ var PAGE_MAP = {
13458
13970
  };
13459
13971
 
13460
13972
  // src/internal/hooks/usePageMapper.tsx
13461
- import { jsx as jsx71 } from "react/jsx-runtime";
13973
+ import { jsx as jsx72 } from "react/jsx-runtime";
13462
13974
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
13463
13975
  function usePageMapper() {
13464
13976
  const page = useLayoutDataStore((st) => st.page);
@@ -13470,7 +13982,7 @@ function usePageMapper() {
13470
13982
  setIsDialogOpen,
13471
13983
  setIsDialogClosing
13472
13984
  } = useLayoutStore();
13473
- const closeDialog = useCallback19(() => {
13985
+ const closeDialog = useCallback20(() => {
13474
13986
  setIsDialogClosing(true);
13475
13987
  setTimeout(() => {
13476
13988
  setDialogContent(null);
@@ -13481,17 +13993,17 @@ function usePageMapper() {
13481
13993
  setIsDialogOpen(false);
13482
13994
  }, CLEAR_DIALOG_TIMEOUT);
13483
13995
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
13484
- const openDialog = useCallback19(
13996
+ const openDialog = useCallback20(
13485
13997
  (pageItem) => {
13486
13998
  const PageContentComponent = pageItem.component;
13487
13999
  setDialogTitle(pageItem.title);
13488
14000
  setDialogDescription(pageItem.description);
13489
- setDialogContent(/* @__PURE__ */ jsx71(PageContentComponent, {}));
14001
+ setDialogContent(/* @__PURE__ */ jsx72(PageContentComponent, {}));
13490
14002
  setIsDialogOpen(true);
13491
14003
  },
13492
14004
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
13493
14005
  );
13494
- useEffect28(() => {
14006
+ useEffect29(() => {
13495
14007
  if (page === null) return closeDialog();
13496
14008
  const pageItem = PAGE_MAP[page];
13497
14009
  if (!pageItem) {
@@ -13505,7 +14017,7 @@ function usePageMapper() {
13505
14017
 
13506
14018
  // src/internal/hooks/useSettingsNotifications.ts
13507
14019
  init_auth();
13508
- import { useEffect as useEffect29 } from "react";
14020
+ import { useEffect as useEffect30 } from "react";
13509
14021
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
13510
14022
  id: "email-not-connected",
13511
14023
  target: "manage-wallet" /* MANAGE_WALLET */,
@@ -13515,7 +14027,7 @@ function useSettingsNotifications() {
13515
14027
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
13516
14028
  const providers = jwtTokenManager2.getProviders();
13517
14029
  const hasEmail = providers.includes("email");
13518
- useEffect29(() => {
14030
+ useEffect30(() => {
13519
14031
  setSettingsNotifications({
13520
14032
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
13521
14033
  status: hasEmail ? "resolved" : "active"
@@ -13524,7 +14036,7 @@ function useSettingsNotifications() {
13524
14036
  }
13525
14037
 
13526
14038
  // src/internal/hooks/useWalletStatus.ts
13527
- import { useEffect as useEffect30 } from "react";
14039
+ import { useEffect as useEffect31 } from "react";
13528
14040
  init_auth();
13529
14041
  function useWalletStatus() {
13530
14042
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
@@ -13534,7 +14046,7 @@ function useWalletStatus() {
13534
14046
  config: { current: config },
13535
14047
  callbacks
13536
14048
  } = useLumiaPassportConfig();
13537
- useEffect30(() => {
14049
+ useEffect31(() => {
13538
14050
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
13539
14051
  const userId = jwtTokenManager2.getUserId();
13540
14052
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -13554,7 +14066,7 @@ function useWalletStatus() {
13554
14066
  }
13555
14067
 
13556
14068
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
13557
- import { jsx as jsx72, jsxs as jsxs63 } from "react/jsx-runtime";
14069
+ import { jsx as jsx73, jsxs as jsxs64 } from "react/jsx-runtime";
13558
14070
  function LumiaPassportDialog() {
13559
14071
  const config = useLumiaPassportConfig().config;
13560
14072
  const className = config.current?.ui?.dialogClassName;
@@ -13564,7 +14076,7 @@ function LumiaPassportDialog() {
13564
14076
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
13565
14077
  const setPage = useLayoutDataStore((st) => st.setPage);
13566
14078
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
13567
- useEffect31(() => setIsSettings(!!session), [session, setIsSettings]);
14079
+ useEffect32(() => setIsSettings(!!session), [session, setIsSettings]);
13568
14080
  usePageMapper();
13569
14081
  useAutoConnect();
13570
14082
  useBackupStatusChanges();
@@ -13573,7 +14085,7 @@ function LumiaPassportDialog() {
13573
14085
  useListenIframeAuthEvents();
13574
14086
  useWalletStatus();
13575
14087
  const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
13576
- return /* @__PURE__ */ jsx72(
14088
+ return /* @__PURE__ */ jsx73(
13577
14089
  Dialog,
13578
14090
  {
13579
14091
  open: isDialogOpen,
@@ -13581,11 +14093,11 @@ function LumiaPassportDialog() {
13581
14093
  if (isDialogForced) return;
13582
14094
  if (!open) setPage(null);
13583
14095
  },
13584
- children: /* @__PURE__ */ jsxs63(DialogContent, { colorMode, className, children: [
13585
- /* @__PURE__ */ jsx72(VisuallyHidden, { children: /* @__PURE__ */ jsx72(DialogTitle, { children: dialogTitle }) }),
13586
- /* @__PURE__ */ jsx72(DialogDescription, { className: "sr-only", children: dialogDescription }),
13587
- !isHeaderHidden && /* @__PURE__ */ jsx72(Header, {}),
13588
- /* @__PURE__ */ jsx72(AnimatePresence3, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx72(
14096
+ children: /* @__PURE__ */ jsxs64(DialogContent, { colorMode, className, children: [
14097
+ /* @__PURE__ */ jsx73(VisuallyHidden, { children: /* @__PURE__ */ jsx73(DialogTitle, { children: dialogTitle }) }),
14098
+ /* @__PURE__ */ jsx73(DialogDescription, { className: "sr-only", children: dialogDescription }),
14099
+ !isHeaderHidden && /* @__PURE__ */ jsx73(Header, {}),
14100
+ /* @__PURE__ */ jsx73(AnimatePresence3, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx73(
13589
14101
  motion3.div,
13590
14102
  {
13591
14103
  initial: { opacity: 0, height: mainPageHeight },
@@ -13597,30 +14109,30 @@ function LumiaPassportDialog() {
13597
14109
  },
13598
14110
  page || "empty"
13599
14111
  ) }),
13600
- /* @__PURE__ */ jsx72(Footer, {})
14112
+ /* @__PURE__ */ jsx73(Footer, {})
13601
14113
  ] })
13602
14114
  }
13603
14115
  );
13604
14116
  }
13605
14117
 
13606
14118
  // src/internal/components/TssManager.tsx
13607
- import React8, { useCallback as useCallback20 } from "react";
14119
+ import React7, { useCallback as useCallback21 } from "react";
13608
14120
  init_auth();
13609
14121
  init_clients();
13610
- var TssManagerWithRef = React8.forwardRef((props, ref) => {
14122
+ var TssManagerWithRef = React7.forwardRef((props, ref) => {
13611
14123
  const { mpcPin } = props;
13612
14124
  const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
13613
14125
  const setStatus = useLumiaPassportSession((st) => st.setStatus);
13614
14126
  const setSession = useLumiaPassportSession((st) => st.setSession);
13615
14127
  const setAddress = useLumiaPassportSession((st) => st.setAddress);
13616
- const onSessionCreated = useCallback20(
14128
+ const onSessionCreated = useCallback21(
13617
14129
  (session, address) => {
13618
14130
  setSession(session);
13619
14131
  setAddress(address);
13620
14132
  },
13621
14133
  [setSession, setAddress]
13622
14134
  );
13623
- const createSessionWithKeyshare = React8.useCallback(
14135
+ const createSessionWithKeyshare = React7.useCallback(
13624
14136
  async (userId, hasServerKeyshare, isNewUser) => {
13625
14137
  setStatus("checking key management setup...");
13626
14138
  await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
@@ -13641,7 +14153,7 @@ var TssManagerWithRef = React8.forwardRef((props, ref) => {
13641
14153
  },
13642
14154
  [setStatus, usePaymaster, mpcPin]
13643
14155
  );
13644
- React8.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
14156
+ React7.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
13645
14157
  return null;
13646
14158
  });
13647
14159
 
@@ -13649,7 +14161,7 @@ var TssManagerWithRef = React8.forwardRef((props, ref) => {
13649
14161
  init_wallet();
13650
14162
  import { useConnectModal } from "@rainbow-me/rainbowkit";
13651
14163
  import { useMutation as useMutation15, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
13652
- import React9, { useCallback as useCallback21, useEffect as useEffect32 } from "react";
14164
+ import React8, { useCallback as useCallback22, useEffect as useEffect33 } from "react";
13653
14165
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
13654
14166
  function WalletConnectHandler() {
13655
14167
  const qc = useQueryClient19();
@@ -13666,7 +14178,7 @@ function WalletConnectHandler() {
13666
14178
  const setManageWalletLinkError = useManageWalletStore((st) => st.setLinkError);
13667
14179
  const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
13668
14180
  const setProviderType = useManageWalletStore((st) => st.setProviderType);
13669
- const onLinkingComplete = useCallback21(
14181
+ const onLinkingComplete = useCallback22(
13670
14182
  async (success) => {
13671
14183
  setIsWalletLinking(false);
13672
14184
  if (!success && !passportWalletAddress) {
@@ -13693,8 +14205,8 @@ function WalletConnectHandler() {
13693
14205
  },
13694
14206
  [qc, passportWalletAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
13695
14207
  );
13696
- const [hasStartedLinking, setHasStartedLinking] = React9.useState(false);
13697
- useEffect32(() => {
14208
+ const [hasStartedLinking, setHasStartedLinking] = React8.useState(false);
14209
+ useEffect33(() => {
13698
14210
  if (isWalletLinking && !hasStartedLinking) {
13699
14211
  setHasStartedLinking(true);
13700
14212
  setProviderType(null);
@@ -13714,7 +14226,7 @@ function WalletConnectHandler() {
13714
14226
  if (isConnected) disconnect();
13715
14227
  }
13716
14228
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
13717
- useEffect32(() => {
14229
+ useEffect33(() => {
13718
14230
  if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
13719
14231
  console.log("[WalletConnectHandler] Modal closed without connecting");
13720
14232
  onLinkingComplete(false);
@@ -13790,7 +14302,7 @@ function WalletConnectHandler() {
13790
14302
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
13791
14303
  }
13792
14304
  });
13793
- useEffect32(() => {
14305
+ useEffect33(() => {
13794
14306
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
13795
14307
  console.log("[WalletConnectHandler] handleWalletSign triggered");
13796
14308
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
@@ -13800,7 +14312,7 @@ function WalletConnectHandler() {
13800
14312
  }
13801
14313
 
13802
14314
  // src/context/LumiaPassportSessionContext.tsx
13803
- import { jsx as jsx73, jsxs as jsxs64 } from "react/jsx-runtime";
14315
+ import { jsx as jsx74, jsxs as jsxs65 } from "react/jsx-runtime";
13804
14316
  var useLumiaPassportSession = create6((set) => ({
13805
14317
  isLoading: false,
13806
14318
  usePaymaster: true,
@@ -13826,17 +14338,17 @@ var useLumiaPassportSession = create6((set) => ({
13826
14338
  }));
13827
14339
  function LumiaPassportSessionProvider({ children }) {
13828
14340
  const config = useLumiaPassportConfig().config;
13829
- return /* @__PURE__ */ jsxs64(Fragment27, { children: [
14341
+ return /* @__PURE__ */ jsxs65(Fragment28, { children: [
13830
14342
  children,
13831
- config.current?.wallet?.enabled && /* @__PURE__ */ jsx73(WalletConnectHandler, {}),
13832
- /* @__PURE__ */ jsx73(BalanceFeedProvider, {}),
13833
- /* @__PURE__ */ jsx73(
14343
+ config.current?.wallet?.enabled && /* @__PURE__ */ jsx74(WalletConnectHandler, {}),
14344
+ /* @__PURE__ */ jsx74(BalanceFeedProvider, {}),
14345
+ /* @__PURE__ */ jsx74(
13834
14346
  TssManagerWithRef,
13835
14347
  {
13836
14348
  mpcPin: void 0
13837
14349
  }
13838
14350
  ),
13839
- /* @__PURE__ */ jsx73(LumiaPassportDialog, {})
14351
+ /* @__PURE__ */ jsx74(LumiaPassportDialog, {})
13840
14352
  ] });
13841
14353
  }
13842
14354
 
@@ -13871,21 +14383,21 @@ var wagmiConfig = createConfig({
13871
14383
  });
13872
14384
 
13873
14385
  // src/context/WagmiContext.tsx
13874
- import { jsx as jsx74 } from "react/jsx-runtime";
14386
+ import { jsx as jsx75 } from "react/jsx-runtime";
13875
14387
  var LumiaWagmiProvider = ({ children }) => {
13876
- return /* @__PURE__ */ jsx74(WagmiProvider, { config: wagmiConfig, children });
14388
+ return /* @__PURE__ */ jsx75(WagmiProvider, { config: wagmiConfig, children });
13877
14389
  };
13878
14390
 
13879
14391
  // src/context/LumiaPassportContext.tsx
13880
- import { jsx as jsx75 } from "react/jsx-runtime";
14392
+ import { jsx as jsx76 } from "react/jsx-runtime";
13881
14393
  var LumiaPassportContext = createContext(void 0);
13882
14394
  function LumiaPassportProvider(props) {
13883
14395
  const { children, projectId, initialConfig = {}, callbacks } = props;
13884
14396
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
13885
14397
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
13886
- useEffect33(() => notifyNoProjetctId(projectId), [projectId]);
13887
- const config = useRef13({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
13888
- const updateConfig = useCallback22((updates) => {
14398
+ useEffect34(() => notifyNoProjetctId(projectId), [projectId]);
14399
+ const config = useRef15({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
14400
+ const updateConfig = useCallback23((updates) => {
13889
14401
  const prev = config.current;
13890
14402
  const next = { ...prev };
13891
14403
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -13920,7 +14432,7 @@ function LumiaPassportProvider(props) {
13920
14432
  }
13921
14433
  config.current = next;
13922
14434
  }, []);
13923
- useEffect33(() => {
14435
+ useEffect34(() => {
13924
14436
  if (typeof window === "undefined" || !projectId) return;
13925
14437
  const mergedConfig = merge2(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
13926
14438
  updateConfig(mergedConfig);
@@ -13965,8 +14477,8 @@ function LumiaPassportProvider(props) {
13965
14477
  console.error("[LumiaPassport] Error setting up iframe manager:", error);
13966
14478
  }
13967
14479
  }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
13968
- const contextValue = useMemo6(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
13969
- return /* @__PURE__ */ jsx75(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx75(LumiaPassportContext.Provider, { value: contextValue, children }) });
14480
+ const contextValue = useMemo7(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
14481
+ return /* @__PURE__ */ jsx76(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx76(LumiaPassportContext.Provider, { value: contextValue, children }) });
13970
14482
  }
13971
14483
  var useLumiaPassportConfig = () => {
13972
14484
  const ctx = useContext(LumiaPassportContext);
@@ -13976,11 +14488,11 @@ var useLumiaPassportConfig = () => {
13976
14488
 
13977
14489
  // src/components/ConnectWalletButton.tsx
13978
14490
  import { useQuery as useQuery18 } from "@tanstack/react-query";
13979
- import { Cloud as Cloud5, Laptop as Laptop2, Loader as Loader25, Shield as Shield3 } from "lucide-react";
13980
- import { useEffect as useEffect34, useMemo as useMemo7 } from "react";
14491
+ import { Cloud as Cloud5, Laptop as Laptop2, Loader as Loader25, Shield as Shield4 } from "lucide-react";
14492
+ import { useEffect as useEffect35, useMemo as useMemo8 } from "react";
13981
14493
  init_auth();
13982
14494
  init_profile();
13983
- import { Fragment as Fragment28, jsx as jsx76, jsxs as jsxs65 } from "react/jsx-runtime";
14495
+ import { Fragment as Fragment29, jsx as jsx77, jsxs as jsxs66 } from "react/jsx-runtime";
13984
14496
  function getFormattedStatus(label, status, showStatus) {
13985
14497
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
13986
14498
  if (!isStatus) return label;
@@ -13999,7 +14511,7 @@ function ConnectWalletButton(props) {
13999
14511
  const colorMode = useLayoutStore((st) => st.colorMode);
14000
14512
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
14001
14513
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
14002
- useEffect34(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
14514
+ useEffect35(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
14003
14515
  const { data: profile, isLoading: isProfileLoading } = useQuery18({
14004
14516
  retry: false,
14005
14517
  enabled: !!address,
@@ -14008,7 +14520,7 @@ function ConnectWalletButton(props) {
14008
14520
  });
14009
14521
  const avatar = jwtTokenManager2.getAvatar();
14010
14522
  const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
14011
- const indicators = useMemo7(() => {
14523
+ const indicators = useMemo8(() => {
14012
14524
  const userId = jwtTokenManager2.getUserId();
14013
14525
  if (!userId) return { server: false, local: false, backup: false };
14014
14526
  const server = jwtTokenManager2.getHasKeyshare() ?? false;
@@ -14016,20 +14528,20 @@ function ConnectWalletButton(props) {
14016
14528
  return { server, local, backup: hasServerVault };
14017
14529
  }, [session, address, hasServerVault]);
14018
14530
  const isConnecting = connectButtonLabel !== label || isLoading;
14019
- return /* @__PURE__ */ jsx76("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
14531
+ return /* @__PURE__ */ jsx77("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
14020
14532
  /** external Buttons can be provided */
14021
- /* @__PURE__ */ jsx76(Fragment28, { children: ConnectButton ? /* @__PURE__ */ jsxs65(
14533
+ /* @__PURE__ */ jsx77(Fragment29, { children: ConnectButton ? /* @__PURE__ */ jsxs66(
14022
14534
  ConnectButton,
14023
14535
  {
14024
14536
  type: "button",
14025
14537
  disabled: isConnecting,
14026
14538
  onClick: () => setPage("auth" /* AUTH */),
14027
14539
  children: [
14028
- isConnecting && /* @__PURE__ */ jsx76(Loader25, { className: "w-4 h-4 animate-spin" }),
14540
+ isConnecting && /* @__PURE__ */ jsx77(Loader25, { className: "w-4 h-4 animate-spin" }),
14029
14541
  connectButtonLabel
14030
14542
  ]
14031
14543
  }
14032
- ) : /* @__PURE__ */ jsxs65(
14544
+ ) : /* @__PURE__ */ jsxs66(
14033
14545
  Button,
14034
14546
  {
14035
14547
  type: "button",
@@ -14046,12 +14558,12 @@ function ConnectWalletButton(props) {
14046
14558
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
14047
14559
  ),
14048
14560
  children: [
14049
- isConnecting && /* @__PURE__ */ jsx76(Loader25, { className: "w-4 h-4 animate-spin" }),
14561
+ isConnecting && /* @__PURE__ */ jsx77(Loader25, { className: "w-4 h-4 animate-spin" }),
14050
14562
  connectButtonLabel.toUpperCase()
14051
14563
  ]
14052
14564
  }
14053
14565
  ) })
14054
- ) : /* @__PURE__ */ jsxs65(
14566
+ ) : /* @__PURE__ */ jsxs66(
14055
14567
  "button",
14056
14568
  {
14057
14569
  type: "button",
@@ -14064,23 +14576,23 @@ function ConnectWalletButton(props) {
14064
14576
  "rounded-[var(--l-pass-bdrs)] p-4 max-w-sm min-w-[256px]"
14065
14577
  ),
14066
14578
  children: [
14067
- /* @__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 }) }),
14068
- /* @__PURE__ */ jsxs65("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14069
- /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14070
- 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 }),
14071
- /* @__PURE__ */ jsx76(KYCStatus, {})
14579
+ /* @__PURE__ */ jsx77("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx77("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx77(LumiaIcon, { width: 48, height: 48 }) }),
14580
+ /* @__PURE__ */ jsxs66("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14581
+ /* @__PURE__ */ jsxs66("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14582
+ isProfileLoading ? /* @__PURE__ */ jsx77(Loader25, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx77("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14583
+ /* @__PURE__ */ jsx77(KYCStatus, {})
14072
14584
  ] }),
14073
- /* @__PURE__ */ jsx76(BalanceView, {})
14585
+ /* @__PURE__ */ jsx77(BalanceView, {})
14074
14586
  ] }),
14075
- /* @__PURE__ */ jsxs65("div", { className: "flex items-center space-x-1", children: [
14076
- /* @__PURE__ */ jsxs65("div", { className: "group relative", children: [
14077
- /* @__PURE__ */ jsx76(
14587
+ /* @__PURE__ */ jsxs66("div", { className: "flex items-center space-x-1", children: [
14588
+ /* @__PURE__ */ jsxs66("div", { className: "group relative", children: [
14589
+ /* @__PURE__ */ jsx77(
14078
14590
  Cloud5,
14079
14591
  {
14080
14592
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14081
14593
  }
14082
14594
  ),
14083
- /* @__PURE__ */ jsxs65(
14595
+ /* @__PURE__ */ jsxs66(
14084
14596
  "div",
14085
14597
  {
14086
14598
  className: cn(
@@ -14095,14 +14607,14 @@ function ConnectWalletButton(props) {
14095
14607
  }
14096
14608
  )
14097
14609
  ] }),
14098
- /* @__PURE__ */ jsxs65("div", { className: "group relative", children: [
14099
- /* @__PURE__ */ jsx76(
14610
+ /* @__PURE__ */ jsxs66("div", { className: "group relative", children: [
14611
+ /* @__PURE__ */ jsx77(
14100
14612
  Laptop2,
14101
14613
  {
14102
14614
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14103
14615
  }
14104
14616
  ),
14105
- /* @__PURE__ */ jsxs65(
14617
+ /* @__PURE__ */ jsxs66(
14106
14618
  "div",
14107
14619
  {
14108
14620
  className: cn(
@@ -14117,14 +14629,14 @@ function ConnectWalletButton(props) {
14117
14629
  }
14118
14630
  )
14119
14631
  ] }),
14120
- /* @__PURE__ */ jsxs65("div", { className: "group relative", children: [
14121
- /* @__PURE__ */ jsx76(
14122
- Shield3,
14632
+ /* @__PURE__ */ jsxs66("div", { className: "group relative", children: [
14633
+ /* @__PURE__ */ jsx77(
14634
+ Shield4,
14123
14635
  {
14124
14636
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14125
14637
  }
14126
14638
  ),
14127
- /* @__PURE__ */ jsxs65(
14639
+ /* @__PURE__ */ jsxs66(
14128
14640
  "div",
14129
14641
  {
14130
14642
  className: cn(
@@ -14140,7 +14652,7 @@ function ConnectWalletButton(props) {
14140
14652
  )
14141
14653
  ] })
14142
14654
  ] }),
14143
- !!settingsNotifications.length && /* @__PURE__ */ jsx76(
14655
+ !!settingsNotifications.length && /* @__PURE__ */ jsx77(
14144
14656
  "div",
14145
14657
  {
14146
14658
  className: cn(
@@ -14181,13 +14693,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
14181
14693
  var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
14182
14694
 
14183
14695
  // src/hooks/useLumiaPassportOpen.ts
14184
- import { useCallback as useCallback23 } from "react";
14696
+ import { useCallback as useCallback24 } from "react";
14185
14697
  function useLumiaPassportOpen() {
14186
14698
  const page = useLayoutDataStore((st) => st.page);
14187
14699
  const setPage = useLayoutDataStore((st) => st.setPage);
14188
14700
  const setPageParams = useLayoutDataStore((st) => st.setPageParams);
14189
14701
  const address = useLumiaPassportSession((st) => st.address);
14190
- const open = useCallback23(
14702
+ const open = useCallback24(
14191
14703
  (passportPage, params) => {
14192
14704
  if (!address) return setPage("auth" /* AUTH */);
14193
14705
  if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -14196,12 +14708,12 @@ function useLumiaPassportOpen() {
14196
14708
  },
14197
14709
  [setPage, setPageParams, address]
14198
14710
  );
14199
- const close = useCallback23(() => setPage(null), [setPage]);
14711
+ const close = useCallback24(() => setPage(null), [setPage]);
14200
14712
  return { open, close, isOpen: page !== null };
14201
14713
  }
14202
14714
 
14203
14715
  // src/hooks/useLumiaPassportColorMode.ts
14204
- import { useCallback as useCallback24, useEffect as useEffect35 } from "react";
14716
+ import { useCallback as useCallback25, useEffect as useEffect36 } from "react";
14205
14717
  function useLumiaPassportColorMode() {
14206
14718
  const {
14207
14719
  config: { current: config }
@@ -14209,14 +14721,14 @@ function useLumiaPassportColorMode() {
14209
14721
  const preferedColorMode = config?.preferedColorMode;
14210
14722
  const colorMode = useLayoutStore((st) => st.colorMode);
14211
14723
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
14212
- const setColorMode = useCallback24(
14724
+ const setColorMode = useCallback25(
14213
14725
  (mode) => {
14214
14726
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
14215
14727
  handleStoreColorMode(mode);
14216
14728
  },
14217
14729
  [handleStoreColorMode]
14218
14730
  );
14219
- useEffect35(() => {
14731
+ useEffect36(() => {
14220
14732
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
14221
14733
  if (!targetColorMode && !preferedColorMode) {
14222
14734
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -14234,23 +14746,23 @@ function useLumiaPassportColorMode() {
14234
14746
 
14235
14747
  // src/components/ThemeToggle.tsx
14236
14748
  import { Moon, Sun } from "lucide-react";
14237
- import { jsx as jsx77 } from "react/jsx-runtime";
14749
+ import { jsx as jsx78 } from "react/jsx-runtime";
14238
14750
  function ThemeToggle(props) {
14239
14751
  const { colorMode, setColorMode } = useLumiaPassportColorMode();
14240
- return /* @__PURE__ */ jsx77(
14752
+ return /* @__PURE__ */ jsx78(
14241
14753
  "div",
14242
14754
  {
14243
14755
  className: "lumia-scope",
14244
14756
  "data-lumia-passport-mode": colorMode,
14245
14757
  style: { width: "fit-content", height: "fit-content" },
14246
- children: /* @__PURE__ */ jsx77(
14758
+ children: /* @__PURE__ */ jsx78(
14247
14759
  Button,
14248
14760
  {
14249
14761
  ...props,
14250
14762
  variant: "ghost",
14251
14763
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
14252
14764
  title: `Current theme: ${colorMode}. Click to switch.`,
14253
- children: colorMode === "dark" ? /* @__PURE__ */ jsx77(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx77(Moon, { className: "w-4 h-4" })
14765
+ children: colorMode === "dark" ? /* @__PURE__ */ jsx78(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx78(Moon, { className: "w-4 h-4" })
14254
14766
  }
14255
14767
  )
14256
14768
  }
@@ -14259,7 +14771,7 @@ function ThemeToggle(props) {
14259
14771
 
14260
14772
  // src/context/RainbowKitContext.tsx
14261
14773
  import { darkTheme, lightTheme, RainbowKitProvider } from "@rainbow-me/rainbowkit";
14262
- import { useMemo as useMemo8 } from "react";
14774
+ import { useMemo as useMemo9 } from "react";
14263
14775
  import { WagmiProvider as WagmiProvider2 } from "wagmi";
14264
14776
 
14265
14777
  // src/config/rainbowkit.ts
@@ -14487,12 +14999,12 @@ var rainbowTheme = {
14487
14999
 
14488
15000
  // src/context/RainbowKitContext.tsx
14489
15001
  import "@rainbow-me/rainbowkit/styles.css";
14490
- import { Fragment as Fragment29, jsx as jsx78 } from "react/jsx-runtime";
15002
+ import { Fragment as Fragment30, jsx as jsx79 } from "react/jsx-runtime";
14491
15003
  function LumiaRainbowKitProvider({ children }) {
14492
15004
  const config = useLumiaPassportConfig().config;
14493
15005
  const colorMode = useLayoutStore((st) => st.colorMode);
14494
- const rainbowConfig2 = useMemo8(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
14495
- const customTheme = useMemo8(
15006
+ const rainbowConfig2 = useMemo9(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
15007
+ const customTheme = useMemo9(
14496
15008
  () => colorMode === "dark" ? {
14497
15009
  ...darkTheme(),
14498
15010
  colors: { ...darkTheme().colors, ...rainbowTheme.darkMode.colors },
@@ -14506,14 +15018,14 @@ function LumiaRainbowKitProvider({ children }) {
14506
15018
  },
14507
15019
  [colorMode]
14508
15020
  );
14509
- if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx78(Fragment29, { children });
14510
- return /* @__PURE__ */ jsx78(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx78(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
15021
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx79(Fragment30, { children });
15022
+ return /* @__PURE__ */ jsx79(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx79(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
14511
15023
  }
14512
15024
 
14513
15025
  // src/internal/components/UserOpStatus.tsx
14514
15026
  init_base();
14515
15027
  import { AlertCircle as AlertCircle6, CheckCircle2 as CheckCircle26, Clock as Clock2, Copy as Copy5, ExternalLink as ExternalLink2, RefreshCw as RefreshCw4 } from "lucide-react";
14516
- import * as React11 from "react";
15028
+ import * as React10 from "react";
14517
15029
 
14518
15030
  // src/internal/utils/cn.ts
14519
15031
  import { clsx as clsx2 } from "clsx";
@@ -14524,8 +15036,8 @@ function cn2(...inputs) {
14524
15036
 
14525
15037
  // src/internal/components/Address.tsx
14526
15038
  import { Copy as Copy4, ExternalLink } from "lucide-react";
14527
- import * as React10 from "react";
14528
- import { jsx as jsx79, jsxs as jsxs66 } from "react/jsx-runtime";
15039
+ import * as React9 from "react";
15040
+ import { jsx as jsx80, jsxs as jsxs67 } from "react/jsx-runtime";
14529
15041
  function toExplorerAddressUrl(address, chain) {
14530
15042
  const base2 = chain?.blockExplorers?.default?.url;
14531
15043
  if (!base2) return null;
@@ -14546,12 +15058,12 @@ var Address = ({
14546
15058
  }) => {
14547
15059
  const addr = address || "";
14548
15060
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
14549
- const [copied, setCopied] = React10.useState(false);
14550
- if (!addr) return /* @__PURE__ */ jsx79("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
14551
- return /* @__PURE__ */ jsxs66("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
14552
- label && /* @__PURE__ */ jsx79("span", { className: "text-sm font-medium", children: label }),
14553
- /* @__PURE__ */ jsx79("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
14554
- showCopy && /* @__PURE__ */ jsx79(
15061
+ const [copied, setCopied] = React9.useState(false);
15062
+ if (!addr) return /* @__PURE__ */ jsx80("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15063
+ return /* @__PURE__ */ jsxs67("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
15064
+ label && /* @__PURE__ */ jsx80("span", { className: "text-sm font-medium", children: label }),
15065
+ /* @__PURE__ */ jsx80("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
15066
+ showCopy && /* @__PURE__ */ jsx80(
14555
15067
  Button,
14556
15068
  {
14557
15069
  variant: "ghost",
@@ -14565,10 +15077,10 @@ var Address = ({
14565
15077
  } catch {
14566
15078
  }
14567
15079
  },
14568
- children: /* @__PURE__ */ jsx79(Copy4, { className: "h-4 w-4" })
15080
+ children: /* @__PURE__ */ jsx80(Copy4, { className: "h-4 w-4" })
14569
15081
  }
14570
15082
  ),
14571
- showExplorer && explorer && /* @__PURE__ */ jsx79(
15083
+ showExplorer && explorer && /* @__PURE__ */ jsx80(
14572
15084
  "a",
14573
15085
  {
14574
15086
  href: explorer,
@@ -14576,7 +15088,7 @@ var Address = ({
14576
15088
  rel: "noreferrer noopener",
14577
15089
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
14578
15090
  title: "Open in explorer",
14579
- children: /* @__PURE__ */ jsx79(ExternalLink, { className: "h-4 w-4" })
15091
+ children: /* @__PURE__ */ jsx80(ExternalLink, { className: "h-4 w-4" })
14580
15092
  }
14581
15093
  )
14582
15094
  ] });
@@ -14584,7 +15096,7 @@ var Address = ({
14584
15096
 
14585
15097
  // src/internal/components/ui/badge.tsx
14586
15098
  import { cva as cva2 } from "class-variance-authority";
14587
- import { jsx as jsx80 } from "react/jsx-runtime";
15099
+ import { jsx as jsx81 } from "react/jsx-runtime";
14588
15100
  var badgeVariants = cva2(
14589
15101
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
14590
15102
  {
@@ -14604,11 +15116,11 @@ var badgeVariants = cva2(
14604
15116
  }
14605
15117
  );
14606
15118
  function Badge({ className, variant, ...props }) {
14607
- return /* @__PURE__ */ jsx80("div", { className: cn2(badgeVariants({ variant }), className), ...props });
15119
+ return /* @__PURE__ */ jsx81("div", { className: cn2(badgeVariants({ variant }), className), ...props });
14608
15120
  }
14609
15121
 
14610
15122
  // src/internal/components/UserOpStatus.tsx
14611
- import { jsx as jsx81, jsxs as jsxs67 } from "react/jsx-runtime";
15123
+ import { jsx as jsx82, jsxs as jsxs68 } from "react/jsx-runtime";
14612
15124
  var UserOpStatus = ({
14613
15125
  userOpHash,
14614
15126
  chain,
@@ -14619,20 +15131,20 @@ var UserOpStatus = ({
14619
15131
  externalState
14620
15132
  }) => {
14621
15133
  const useExternalState = !!externalState;
14622
- const [internalReceipt, setInternalReceipt] = React11.useState(null);
14623
- const [internalMempool, setInternalMempool] = React11.useState(null);
14624
- const [internalError, setInternalError] = React11.useState(null);
14625
- const [attempt, setAttempt] = React11.useState(0);
14626
- const [internalRefreshing, setInternalRefreshing] = React11.useState(false);
14627
- const [timedOut, setTimedOut] = React11.useState(false);
14628
- const [rejected, setRejected] = React11.useState(false);
14629
- const intervalRef = React11.useRef(null);
14630
- const startTimeRef = React11.useRef(Date.now());
15134
+ const [internalReceipt, setInternalReceipt] = React10.useState(null);
15135
+ const [internalMempool, setInternalMempool] = React10.useState(null);
15136
+ const [internalError, setInternalError] = React10.useState(null);
15137
+ const [attempt, setAttempt] = React10.useState(0);
15138
+ const [internalRefreshing, setInternalRefreshing] = React10.useState(false);
15139
+ const [timedOut, setTimedOut] = React10.useState(false);
15140
+ const [rejected, setRejected] = React10.useState(false);
15141
+ const intervalRef = React10.useRef(null);
15142
+ const startTimeRef = React10.useRef(Date.now());
14631
15143
  const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
14632
15144
  const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
14633
15145
  const error = useExternalState ? externalState.error ?? null : internalError;
14634
15146
  const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
14635
- const rpc = React11.useCallback(async (method, params) => {
15147
+ const rpc = React10.useCallback(async (method, params) => {
14636
15148
  const body = { jsonrpc: "2.0", id: 1, method, params };
14637
15149
  const res = await fetch(getBundlerUrl(), {
14638
15150
  method: "POST",
@@ -14643,14 +15155,14 @@ var UserOpStatus = ({
14643
15155
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
14644
15156
  return json.result;
14645
15157
  }, []);
14646
- const extractMempoolInfo = React11.useCallback((m) => {
15158
+ const extractMempoolInfo = React10.useCallback((m) => {
14647
15159
  if (!m) return null;
14648
15160
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
14649
15161
  const sender = m.sender || m?.userOperation?.sender || null;
14650
15162
  if (!entryPoint && !sender) return null;
14651
15163
  return { entryPoint, sender };
14652
15164
  }, []);
14653
- const tick = React11.useCallback(async () => {
15165
+ const tick = React10.useCallback(async () => {
14654
15166
  if (useExternalState) return;
14655
15167
  const elapsed = Date.now() - startTimeRef.current;
14656
15168
  if (elapsed > maxPollTimeMs) {
@@ -14694,7 +15206,7 @@ var UserOpStatus = ({
14694
15206
  setAttempt((x) => x + 1);
14695
15207
  }
14696
15208
  }, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
14697
- React11.useEffect(() => {
15209
+ React10.useEffect(() => {
14698
15210
  if (useExternalState) return;
14699
15211
  console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
14700
15212
  startTimeRef.current = Date.now();
@@ -14706,7 +15218,7 @@ var UserOpStatus = ({
14706
15218
  setAttempt(0);
14707
15219
  setInternalRefreshing(false);
14708
15220
  }, [userOpHash, useExternalState]);
14709
- React11.useEffect(() => {
15221
+ React10.useEffect(() => {
14710
15222
  if (useExternalState) {
14711
15223
  console.log("[UserOpStatus] Using external state, skipping internal polling");
14712
15224
  return;
@@ -14741,35 +15253,35 @@ var UserOpStatus = ({
14741
15253
  const stateBadge = () => {
14742
15254
  if (receipt) {
14743
15255
  const ok = !!receipt.success;
14744
- return /* @__PURE__ */ jsxs67(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
14745
- ok ? /* @__PURE__ */ jsx81(CheckCircle26, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx81(AlertCircle6, { className: "h-3 w-3" }),
15256
+ return /* @__PURE__ */ jsxs68(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
15257
+ ok ? /* @__PURE__ */ jsx82(CheckCircle26, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-3 w-3" }),
14746
15258
  ok ? "Included" : "Failed"
14747
15259
  ] });
14748
15260
  }
14749
15261
  if (rejected) {
14750
- return /* @__PURE__ */ jsxs67(Badge, { variant: "destructive", className: "gap-1", children: [
14751
- /* @__PURE__ */ jsx81(AlertCircle6, { className: "h-3 w-3" }),
15262
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "destructive", className: "gap-1", children: [
15263
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-3 w-3" }),
14752
15264
  " Rejected by bundler"
14753
15265
  ] });
14754
15266
  }
14755
15267
  if (timedOut) {
14756
- return /* @__PURE__ */ jsxs67(Badge, { variant: "warning", className: "gap-1", children: [
14757
- /* @__PURE__ */ jsx81(AlertCircle6, { className: "h-3 w-3" }),
15268
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "warning", className: "gap-1", children: [
15269
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-3 w-3" }),
14758
15270
  " Timeout - may be rejected"
14759
15271
  ] });
14760
15272
  }
14761
15273
  if (mempool) {
14762
- return /* @__PURE__ */ jsxs67(Badge, { variant: "outline", className: "gap-1", children: [
14763
- /* @__PURE__ */ jsx81(Clock2, { className: "h-3 w-3" }),
15274
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "outline", className: "gap-1", children: [
15275
+ /* @__PURE__ */ jsx82(Clock2, { className: "h-3 w-3" }),
14764
15276
  " Pending in bundler"
14765
15277
  ] });
14766
15278
  }
14767
- return /* @__PURE__ */ jsxs67(Badge, { variant: "secondary", className: "gap-1", children: [
14768
- /* @__PURE__ */ jsx81(Clock2, { className: "h-3 w-3" }),
15279
+ return /* @__PURE__ */ jsxs68(Badge, { variant: "secondary", className: "gap-1", children: [
15280
+ /* @__PURE__ */ jsx82(Clock2, { className: "h-3 w-3" }),
14769
15281
  " Waiting"
14770
15282
  ] });
14771
15283
  };
14772
- return /* @__PURE__ */ jsxs67(
15284
+ return /* @__PURE__ */ jsxs68(
14773
15285
  "div",
14774
15286
  {
14775
15287
  className: cn2(
@@ -14778,20 +15290,20 @@ var UserOpStatus = ({
14778
15290
  ),
14779
15291
  style: { textAlign: "left", listStyle: "none" },
14780
15292
  children: [
14781
- /* @__PURE__ */ jsxs67("div", { className: "flex items-center justify-between mb-3", children: [
14782
- /* @__PURE__ */ jsxs67("div", { className: "flex items-center gap-2", children: [
15293
+ /* @__PURE__ */ jsxs68("div", { className: "flex items-center justify-between mb-3", children: [
15294
+ /* @__PURE__ */ jsxs68("div", { className: "flex items-center gap-2", children: [
14783
15295
  stateBadge(),
14784
- /* @__PURE__ */ jsx81("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
15296
+ /* @__PURE__ */ jsx82("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
14785
15297
  ] }),
14786
- /* @__PURE__ */ jsxs67(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
14787
- /* @__PURE__ */ jsx81(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
14788
- /* @__PURE__ */ jsx81("span", { className: "text-xs", children: "Refresh" })
15298
+ /* @__PURE__ */ jsxs68(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
15299
+ /* @__PURE__ */ jsx82(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
15300
+ /* @__PURE__ */ jsx82("span", { className: "text-xs", children: "Refresh" })
14789
15301
  ] })
14790
15302
  ] }),
14791
- /* @__PURE__ */ jsxs67("div", { className: "flex items-center gap-2 mb-2", children: [
14792
- /* @__PURE__ */ jsx81("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
14793
- /* @__PURE__ */ jsx81("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
14794
- /* @__PURE__ */ jsx81(
15303
+ /* @__PURE__ */ jsxs68("div", { className: "flex items-center gap-2 mb-2", children: [
15304
+ /* @__PURE__ */ jsx82("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
15305
+ /* @__PURE__ */ jsx82("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
15306
+ /* @__PURE__ */ jsx82(
14795
15307
  Button,
14796
15308
  {
14797
15309
  variant: "ghost",
@@ -14803,14 +15315,14 @@ var UserOpStatus = ({
14803
15315
  } catch {
14804
15316
  }
14805
15317
  },
14806
- children: /* @__PURE__ */ jsx81(Copy5, { className: "h-3.5 w-3.5" })
15318
+ children: /* @__PURE__ */ jsx82(Copy5, { className: "h-3.5 w-3.5" })
14807
15319
  }
14808
15320
  )
14809
15321
  ] }),
14810
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs67("div", { className: "flex items-center gap-2 mb-3", children: [
14811
- /* @__PURE__ */ jsx81("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
14812
- /* @__PURE__ */ jsx81("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
14813
- /* @__PURE__ */ jsx81(
15322
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs68("div", { className: "flex items-center gap-2 mb-3", children: [
15323
+ /* @__PURE__ */ jsx82("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
15324
+ /* @__PURE__ */ jsx82("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
15325
+ /* @__PURE__ */ jsx82(
14814
15326
  Button,
14815
15327
  {
14816
15328
  variant: "ghost",
@@ -14822,10 +15334,10 @@ var UserOpStatus = ({
14822
15334
  } catch {
14823
15335
  }
14824
15336
  },
14825
- children: /* @__PURE__ */ jsx81(Copy5, { className: "h-3.5 w-3.5" })
15337
+ children: /* @__PURE__ */ jsx82(Copy5, { className: "h-3.5 w-3.5" })
14826
15338
  }
14827
15339
  ),
14828
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx81(
15340
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx82(
14829
15341
  "a",
14830
15342
  {
14831
15343
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -14833,11 +15345,11 @@ var UserOpStatus = ({
14833
15345
  rel: "noreferrer noopener",
14834
15346
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
14835
15347
  title: "Open in explorer",
14836
- children: /* @__PURE__ */ jsx81(ExternalLink2, { className: "h-3.5 w-3.5" })
15348
+ children: /* @__PURE__ */ jsx82(ExternalLink2, { className: "h-3.5 w-3.5" })
14837
15349
  }
14838
15350
  )
14839
15351
  ] }),
14840
- receipt && /* @__PURE__ */ jsxs67("div", { className: "text-xs text-muted-foreground mb-3", children: [
15352
+ receipt && /* @__PURE__ */ jsxs68("div", { className: "text-xs text-muted-foreground mb-3", children: [
14841
15353
  "Block ",
14842
15354
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
14843
15355
  " \u2022 Gas Used",
@@ -14846,32 +15358,32 @@ var UserOpStatus = ({
14846
15358
  " \u2022 Success ",
14847
15359
  String(!!receipt.success)
14848
15360
  ] }),
14849
- /* @__PURE__ */ jsx81("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs67("span", { className: "ml-2", children: [
15361
+ /* @__PURE__ */ jsx82("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs68("span", { className: "ml-2", children: [
14850
15362
  "\u2022 Polling for ",
14851
15363
  Math.round((Date.now() - startTimeRef.current) / 1e3),
14852
15364
  "s"
14853
15365
  ] }) }),
14854
- mempool && /* @__PURE__ */ jsxs67("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
14855
- /* @__PURE__ */ jsxs67("div", { children: [
15366
+ mempool && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
15367
+ /* @__PURE__ */ jsxs68("div", { children: [
14856
15368
  "Seen by bundler at ",
14857
- /* @__PURE__ */ jsx81(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
15369
+ /* @__PURE__ */ jsx82(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
14858
15370
  ] }),
14859
- /* @__PURE__ */ jsxs67("div", { children: [
15371
+ /* @__PURE__ */ jsxs68("div", { children: [
14860
15372
  "sender ",
14861
- /* @__PURE__ */ jsx81(Address, { address: mempool.sender, chain, truncate: false })
15373
+ /* @__PURE__ */ jsx82(Address, { address: mempool.sender, chain, truncate: false })
14862
15374
  ] })
14863
15375
  ] }),
14864
- error && /* @__PURE__ */ jsxs67("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14865
- /* @__PURE__ */ jsx81(AlertCircle6, { className: "h-4 w-4" }),
15376
+ error && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15377
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-4 w-4" }),
14866
15378
  " ",
14867
15379
  error
14868
15380
  ] }),
14869
- rejected && /* @__PURE__ */ jsxs67("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14870
- /* @__PURE__ */ jsx81(AlertCircle6, { className: "h-4 w-4" }),
15381
+ rejected && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15382
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-4 w-4" }),
14871
15383
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
14872
15384
  ] }),
14873
- timedOut && /* @__PURE__ */ jsxs67("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14874
- /* @__PURE__ */ jsx81(AlertCircle6, { className: "h-4 w-4" }),
15385
+ timedOut && /* @__PURE__ */ jsxs68("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15386
+ /* @__PURE__ */ jsx82(AlertCircle6, { className: "h-4 w-4" }),
14875
15387
  "Stopped polling after ",
14876
15388
  Math.round(maxPollTimeMs / 1e3),
14877
15389
  "s. UserOperation may have been rejected by the bundler."
@@ -14883,8 +15395,8 @@ var UserOpStatus = ({
14883
15395
 
14884
15396
  // src/internal/components/Hash.tsx
14885
15397
  import { Copy as Copy6, ExternalLink as ExternalLink3 } from "lucide-react";
14886
- import * as React12 from "react";
14887
- import { jsx as jsx82, jsxs as jsxs68 } from "react/jsx-runtime";
15398
+ import * as React11 from "react";
15399
+ import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime";
14888
15400
  function toExplorerUrl(kind, value, chain) {
14889
15401
  const base2 = chain?.blockExplorers?.default?.url;
14890
15402
  if (!base2) return null;
@@ -14907,12 +15419,12 @@ var Hash = ({
14907
15419
  }) => {
14908
15420
  const value = hash || "";
14909
15421
  const explorer = toExplorerUrl(kind, value, chain || void 0);
14910
- const [copied, setCopied] = React12.useState(false);
14911
- if (!value) return /* @__PURE__ */ jsx82("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
14912
- return /* @__PURE__ */ jsxs68("div", { className: cn2("flex items-center gap-2", className), children: [
14913
- label && /* @__PURE__ */ jsx82("span", { className: "text-sm font-medium", children: label }),
14914
- /* @__PURE__ */ jsx82("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
14915
- showCopy && /* @__PURE__ */ jsx82(
15422
+ const [copied, setCopied] = React11.useState(false);
15423
+ if (!value) return /* @__PURE__ */ jsx83("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15424
+ return /* @__PURE__ */ jsxs69("div", { className: cn2("flex items-center gap-2", className), children: [
15425
+ label && /* @__PURE__ */ jsx83("span", { className: "text-sm font-medium", children: label }),
15426
+ /* @__PURE__ */ jsx83("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
15427
+ showCopy && /* @__PURE__ */ jsx83(
14916
15428
  Button,
14917
15429
  {
14918
15430
  variant: "ghost",
@@ -14926,10 +15438,10 @@ var Hash = ({
14926
15438
  } catch {
14927
15439
  }
14928
15440
  },
14929
- children: /* @__PURE__ */ jsx82(Copy6, { className: "h-4 w-4" })
15441
+ children: /* @__PURE__ */ jsx83(Copy6, { className: "h-4 w-4" })
14930
15442
  }
14931
15443
  ),
14932
- showExplorer && explorer && /* @__PURE__ */ jsx82(
15444
+ showExplorer && explorer && /* @__PURE__ */ jsx83(
14933
15445
  "a",
14934
15446
  {
14935
15447
  href: explorer,
@@ -14937,7 +15449,7 @@ var Hash = ({
14937
15449
  rel: "noreferrer noopener",
14938
15450
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
14939
15451
  title: "Open in explorer",
14940
- children: /* @__PURE__ */ jsx82(ExternalLink3, { className: "h-4 w-4" })
15452
+ children: /* @__PURE__ */ jsx83(ExternalLink3, { className: "h-4 w-4" })
14941
15453
  }
14942
15454
  )
14943
15455
  ] });
@@ -14945,13 +15457,13 @@ var Hash = ({
14945
15457
 
14946
15458
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
14947
15459
  init_base();
14948
- import { useEffect as useEffect37, useState as useState24 } from "react";
14949
- import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime";
15460
+ import { useEffect as useEffect38, useState as useState25 } from "react";
15461
+ import { jsx as jsx84, jsxs as jsxs70 } from "react/jsx-runtime";
14950
15462
  var TransactionsList = ({ address, itemsCount = 10 }) => {
14951
- const [transactions, setTransactions] = useState24([]);
14952
- const [loading, setLoading] = useState24(true);
14953
- const [error, setError] = useState24(null);
14954
- useEffect37(() => {
15463
+ const [transactions, setTransactions] = useState25([]);
15464
+ const [loading, setLoading] = useState25(true);
15465
+ const [error, setError] = useState25(null);
15466
+ useEffect38(() => {
14955
15467
  const fetchTransactions = async () => {
14956
15468
  try {
14957
15469
  setLoading(true);
@@ -14997,31 +15509,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
14997
15509
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
14998
15510
  };
14999
15511
  if (loading) {
15000
- return /* @__PURE__ */ jsxs69("div", { className: "p-4 text-center", children: [
15001
- /* @__PURE__ */ jsx83("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15002
- /* @__PURE__ */ jsx83("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15512
+ return /* @__PURE__ */ jsxs70("div", { className: "p-4 text-center", children: [
15513
+ /* @__PURE__ */ jsx84("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15514
+ /* @__PURE__ */ jsx84("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15003
15515
  ] });
15004
15516
  }
15005
15517
  if (error) {
15006
- return /* @__PURE__ */ jsxs69("div", { className: "p-4 text-center", children: [
15007
- /* @__PURE__ */ jsx83("p", { className: "text-red-600 text-sm", children: error }),
15008
- /* @__PURE__ */ jsx83("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15518
+ return /* @__PURE__ */ jsxs70("div", { className: "p-4 text-center", children: [
15519
+ /* @__PURE__ */ jsx84("p", { className: "text-red-600 text-sm", children: error }),
15520
+ /* @__PURE__ */ jsx84("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15009
15521
  ] });
15010
15522
  }
15011
15523
  if (transactions.length === 0) {
15012
- return /* @__PURE__ */ jsx83("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx83("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15524
+ return /* @__PURE__ */ jsx84("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx84("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15013
15525
  }
15014
- return /* @__PURE__ */ jsx83("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx83("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs69(
15526
+ return /* @__PURE__ */ jsx84("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx84("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs70(
15015
15527
  "div",
15016
15528
  {
15017
15529
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
15018
15530
  onClick: () => openTransaction(tx.hash),
15019
15531
  children: [
15020
- /* @__PURE__ */ jsxs69("div", { className: "flex justify-between items-start mb-2", children: [
15021
- /* @__PURE__ */ jsxs69("div", { className: "flex-1", children: [
15022
- /* @__PURE__ */ jsxs69("div", { className: "flex items-center space-x-2 mb-1", children: [
15023
- /* @__PURE__ */ jsx83("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15024
- /* @__PURE__ */ jsx83(
15532
+ /* @__PURE__ */ jsxs70("div", { className: "flex justify-between items-start mb-2", children: [
15533
+ /* @__PURE__ */ jsxs70("div", { className: "flex-1", children: [
15534
+ /* @__PURE__ */ jsxs70("div", { className: "flex items-center space-x-2 mb-1", children: [
15535
+ /* @__PURE__ */ jsx84("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15536
+ /* @__PURE__ */ jsx84(
15025
15537
  "span",
15026
15538
  {
15027
15539
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -15029,40 +15541,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15029
15541
  }
15030
15542
  )
15031
15543
  ] }),
15032
- /* @__PURE__ */ jsxs69("div", { className: "text-sm space-y-1", children: [
15033
- /* @__PURE__ */ jsxs69("div", { children: [
15034
- /* @__PURE__ */ jsx83("span", { className: "text-gray-600", children: "From:" }),
15035
- /* @__PURE__ */ jsxs69("span", { className: "font-mono ml-1", children: [
15544
+ /* @__PURE__ */ jsxs70("div", { className: "text-sm space-y-1", children: [
15545
+ /* @__PURE__ */ jsxs70("div", { children: [
15546
+ /* @__PURE__ */ jsx84("span", { className: "text-gray-600", children: "From:" }),
15547
+ /* @__PURE__ */ jsxs70("span", { className: "font-mono ml-1", children: [
15036
15548
  formatAddress3(tx.from.hash),
15037
- tx.from.is_contract && /* @__PURE__ */ jsx83("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15549
+ tx.from.is_contract && /* @__PURE__ */ jsx84("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15038
15550
  ] })
15039
15551
  ] }),
15040
- /* @__PURE__ */ jsxs69("div", { children: [
15041
- /* @__PURE__ */ jsx83("span", { className: "text-gray-600", children: "To:" }),
15042
- /* @__PURE__ */ jsxs69("span", { className: "font-mono ml-1", children: [
15552
+ /* @__PURE__ */ jsxs70("div", { children: [
15553
+ /* @__PURE__ */ jsx84("span", { className: "text-gray-600", children: "To:" }),
15554
+ /* @__PURE__ */ jsxs70("span", { className: "font-mono ml-1", children: [
15043
15555
  formatAddress3(tx.to.hash),
15044
- tx.to.is_contract && /* @__PURE__ */ jsx83("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15556
+ tx.to.is_contract && /* @__PURE__ */ jsx84("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15045
15557
  ] })
15046
15558
  ] }),
15047
- /* @__PURE__ */ jsxs69("div", { children: [
15048
- /* @__PURE__ */ jsx83("span", { className: "text-gray-600", children: "Value:" }),
15049
- /* @__PURE__ */ jsxs69("span", { className: "font-semibold ml-1", children: [
15559
+ /* @__PURE__ */ jsxs70("div", { children: [
15560
+ /* @__PURE__ */ jsx84("span", { className: "text-gray-600", children: "Value:" }),
15561
+ /* @__PURE__ */ jsxs70("span", { className: "font-semibold ml-1", children: [
15050
15562
  formatValue3(tx.value),
15051
15563
  " LUMIA"
15052
15564
  ] })
15053
15565
  ] })
15054
15566
  ] })
15055
15567
  ] }),
15056
- /* @__PURE__ */ jsxs69("div", { className: "text-right text-xs text-gray-500", children: [
15057
- /* @__PURE__ */ jsx83("div", { children: formatDate3(tx.timestamp) }),
15058
- /* @__PURE__ */ jsxs69("div", { className: "mt-1", children: [
15568
+ /* @__PURE__ */ jsxs70("div", { className: "text-right text-xs text-gray-500", children: [
15569
+ /* @__PURE__ */ jsx84("div", { children: formatDate3(tx.timestamp) }),
15570
+ /* @__PURE__ */ jsxs70("div", { className: "mt-1", children: [
15059
15571
  "Gas: ",
15060
15572
  parseInt(tx.gas_used).toLocaleString()
15061
15573
  ] }),
15062
- tx.method && /* @__PURE__ */ jsx83("div", { className: "mt-1 text-blue-600", children: tx.method })
15574
+ tx.method && /* @__PURE__ */ jsx84("div", { className: "mt-1 text-blue-600", children: tx.method })
15063
15575
  ] })
15064
15576
  ] }),
15065
- tx.transaction_types.length > 0 && /* @__PURE__ */ jsx83("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx83("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15577
+ tx.transaction_types.length > 0 && /* @__PURE__ */ jsx84("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx84("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15066
15578
  ]
15067
15579
  },
15068
15580
  tx.hash
@@ -15071,7 +15583,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15071
15583
 
15072
15584
  // src/hooks/useUserOpStatus.ts
15073
15585
  init_base();
15074
- import * as React14 from "react";
15586
+ import * as React13 from "react";
15075
15587
  function useUserOpStatus(options = {}) {
15076
15588
  const {
15077
15589
  userOpHash,
@@ -15082,16 +15594,16 @@ function useUserOpStatus(options = {}) {
15082
15594
  onReceipt,
15083
15595
  onTxHash
15084
15596
  } = options;
15085
- const [state, setState] = React14.useState("waiting");
15086
- const [receipt, setReceipt] = React14.useState(null);
15087
- const [mempool, setMempool] = React14.useState(null);
15088
- const [txHash, setTxHash] = React14.useState(null);
15089
- const [error, setError] = React14.useState(null);
15090
- const [isPolling, setIsPolling] = React14.useState(false);
15091
- const intervalRef = React14.useRef(null);
15092
- const startTimeRef = React14.useRef(Date.now());
15093
- const prevStateRef = React14.useRef("waiting");
15094
- const rpc = React14.useCallback(async (method, params) => {
15597
+ const [state, setState] = React13.useState("waiting");
15598
+ const [receipt, setReceipt] = React13.useState(null);
15599
+ const [mempool, setMempool] = React13.useState(null);
15600
+ const [txHash, setTxHash] = React13.useState(null);
15601
+ const [error, setError] = React13.useState(null);
15602
+ const [isPolling, setIsPolling] = React13.useState(false);
15603
+ const intervalRef = React13.useRef(null);
15604
+ const startTimeRef = React13.useRef(Date.now());
15605
+ const prevStateRef = React13.useRef("waiting");
15606
+ const rpc = React13.useCallback(async (method, params) => {
15095
15607
  const body = { jsonrpc: "2.0", id: 1, method, params };
15096
15608
  const res = await fetch(getBundlerUrl(), {
15097
15609
  method: "POST",
@@ -15102,21 +15614,21 @@ function useUserOpStatus(options = {}) {
15102
15614
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
15103
15615
  return json.result;
15104
15616
  }, []);
15105
- const extractMempoolInfo = React14.useCallback((m) => {
15617
+ const extractMempoolInfo = React13.useCallback((m) => {
15106
15618
  if (!m) return null;
15107
15619
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
15108
15620
  const sender = m.sender || m?.userOperation?.sender || null;
15109
15621
  if (!entryPoint && !sender) return null;
15110
15622
  return { entryPoint, sender };
15111
15623
  }, []);
15112
- const updateState = React14.useCallback((newState) => {
15624
+ const updateState = React13.useCallback((newState) => {
15113
15625
  setState(newState);
15114
15626
  if (prevStateRef.current !== newState) {
15115
15627
  prevStateRef.current = newState;
15116
15628
  onStateChange?.(newState);
15117
15629
  }
15118
15630
  }, [onStateChange]);
15119
- const tick = React14.useCallback(async () => {
15631
+ const tick = React13.useCallback(async () => {
15120
15632
  if (!userOpHash || !enabled) return;
15121
15633
  if (receipt) {
15122
15634
  console.log("[useUserOpStatus] Already have receipt, skipping tick");
@@ -15189,7 +15701,7 @@ function useUserOpStatus(options = {}) {
15189
15701
  onTxHash,
15190
15702
  onReceipt
15191
15703
  ]);
15192
- React14.useEffect(() => {
15704
+ React13.useEffect(() => {
15193
15705
  if (!userOpHash || !enabled) return;
15194
15706
  console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
15195
15707
  startTimeRef.current = Date.now();
@@ -15201,7 +15713,7 @@ function useUserOpStatus(options = {}) {
15201
15713
  setError(null);
15202
15714
  setIsPolling(false);
15203
15715
  }, [userOpHash, enabled]);
15204
- React14.useEffect(() => {
15716
+ React13.useEffect(() => {
15205
15717
  if (!userOpHash || !enabled) {
15206
15718
  console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
15207
15719
  return;
@@ -15237,7 +15749,7 @@ function useUserOpStatus(options = {}) {
15237
15749
  }
15238
15750
  };
15239
15751
  }, [userOpHash, enabled, pollMs]);
15240
- const refresh = React14.useCallback(async () => {
15752
+ const refresh = React13.useCallback(async () => {
15241
15753
  await tick();
15242
15754
  }, [tick]);
15243
15755
  return {
@@ -15253,11 +15765,11 @@ function useUserOpStatus(options = {}) {
15253
15765
 
15254
15766
  // src/hooks/useLogout.ts
15255
15767
  import { logout as coreLogout, jwtTokenManager as jwtTokenManager3 } from "@lumiapassport/core/auth";
15256
- import { useCallback as useCallback27 } from "react";
15768
+ import { useCallback as useCallback28 } from "react";
15257
15769
  function useLogout() {
15258
15770
  const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
15259
15771
  const { callbacks } = useLumiaPassportConfig();
15260
- const logout2 = useCallback27(async () => {
15772
+ const logout2 = useCallback28(async () => {
15261
15773
  const prevAddress = address;
15262
15774
  let userId = null;
15263
15775
  setIsLoading(true);
@@ -15298,7 +15810,7 @@ init_errors();
15298
15810
  // src/modules/transactions.ts
15299
15811
  init_base();
15300
15812
  import { usePublicClient as usePublicClient2, useWalletClient, useAccount as useAccount2 } from "wagmi";
15301
- import { parseEther as parseEther4 } from "viem";
15813
+ import { parseEther as parseEther3 } from "viem";
15302
15814
  function useTransactions() {
15303
15815
  const publicClient2 = usePublicClient2({ chainId: lumiaBeam.id });
15304
15816
  const { data: walletClient } = useWalletClient();
@@ -15309,7 +15821,7 @@ function useTransactions() {
15309
15821
  }
15310
15822
  const txParams = {
15311
15823
  to: params.to,
15312
- value: parseEther4(params.value),
15824
+ value: parseEther3(params.value),
15313
15825
  data: params.data,
15314
15826
  chain: lumiaBeam
15315
15827
  };
@@ -15358,6 +15870,167 @@ function useTransactions() {
15358
15870
  };
15359
15871
  }
15360
15872
 
15873
+ // src/modules/assets.ts
15874
+ init_base();
15875
+ import React14 from "react";
15876
+ import { useBalance as useBalance3, useReadContract as useReadContract2, useReadContracts } from "wagmi";
15877
+ import { formatUnits as formatUnits6, erc20Abi } from "viem";
15878
+ var COMMON_TOKENS = [
15879
+ // Add real token addresses here when available
15880
+ // {
15881
+ // address: '0x....',
15882
+ // name: 'USD Coin',
15883
+ // symbol: 'USDC',
15884
+ // decimals: 6,
15885
+ // logo: 'https://...'
15886
+ // }
15887
+ ];
15888
+ function useAssets(address) {
15889
+ const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = useBalance3({
15890
+ address,
15891
+ chainId: lumiaBeam.id,
15892
+ query: {
15893
+ enabled: !!address
15894
+ }
15895
+ });
15896
+ const tokenContracts = COMMON_TOKENS.map((token) => ({
15897
+ address: token.address,
15898
+ abi: erc20Abi,
15899
+ functionName: "balanceOf",
15900
+ args: [address],
15901
+ chainId: lumiaBeam.id
15902
+ }));
15903
+ const readContractsResult = useReadContracts({
15904
+ contracts: tokenContracts,
15905
+ query: {
15906
+ enabled: !!address && COMMON_TOKENS.length > 0
15907
+ }
15908
+ });
15909
+ const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
15910
+ const getAllAssets = () => {
15911
+ const assets = [];
15912
+ if (nativeBalance) {
15913
+ assets.push({
15914
+ type: "native",
15915
+ name: "Lumia",
15916
+ symbol: "LUMIA",
15917
+ balance: nativeBalance.value.toString(),
15918
+ formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
15919
+ decimals: 18
15920
+ });
15921
+ }
15922
+ if (tokenBalances && COMMON_TOKENS.length > 0) {
15923
+ tokenBalances.forEach((balance, index) => {
15924
+ const token = COMMON_TOKENS[index];
15925
+ if (balance.status === "success" && balance.result) {
15926
+ const balanceValue = balance.result;
15927
+ const formattedBalance = formatUnits6(balanceValue, token.decimals);
15928
+ assets.push({
15929
+ type: "erc20",
15930
+ address: token.address,
15931
+ name: token.name,
15932
+ symbol: token.symbol,
15933
+ balance: balanceValue.toString(),
15934
+ formattedBalance: parseFloat(formattedBalance).toFixed(4),
15935
+ decimals: token.decimals,
15936
+ logo: token.logo
15937
+ });
15938
+ }
15939
+ });
15940
+ }
15941
+ return assets;
15942
+ };
15943
+ const getTokenBalance = (tokenAddress) => {
15944
+ const tokenIndex = COMMON_TOKENS.findIndex(
15945
+ (token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
15946
+ );
15947
+ if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
15948
+ return null;
15949
+ }
15950
+ const balance = tokenBalances[tokenIndex];
15951
+ const token = COMMON_TOKENS[tokenIndex];
15952
+ if (balance.status === "success" && balance.result) {
15953
+ const balanceValue = balance.result;
15954
+ const formattedBalance = formatUnits6(balanceValue, token.decimals);
15955
+ return {
15956
+ address: token.address,
15957
+ name: token.name,
15958
+ symbol: token.symbol,
15959
+ decimals: token.decimals,
15960
+ balance: balanceValue.toString(),
15961
+ formattedBalance: parseFloat(formattedBalance).toFixed(4),
15962
+ logo: token.logo
15963
+ };
15964
+ }
15965
+ return null;
15966
+ };
15967
+ const refreshBalances = async () => {
15968
+ await Promise.all([
15969
+ refetchNativeBalance(),
15970
+ refetchTokenBalances()
15971
+ ]);
15972
+ };
15973
+ return {
15974
+ nativeBalance,
15975
+ tokenBalances,
15976
+ assets: getAllAssets(),
15977
+ getTokenBalance,
15978
+ refreshBalances,
15979
+ isLoading: nativeBalanceLoading || tokenBalancesLoading,
15980
+ isConnected: !!address
15981
+ };
15982
+ }
15983
+ function useTokenInfo(tokenAddress) {
15984
+ const readContractsResult = useReadContracts({
15985
+ contracts: [
15986
+ { address: tokenAddress, abi: erc20Abi, functionName: "name", chainId: lumiaBeam.id },
15987
+ { address: tokenAddress, abi: erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
15988
+ { address: tokenAddress, abi: erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
15989
+ ]
15990
+ });
15991
+ const { data: tokenData, isLoading } = readContractsResult;
15992
+ if (!tokenData || isLoading) {
15993
+ return { isLoading, tokenInfo: null };
15994
+ }
15995
+ const [nameResult, symbolResult, decimalsResult] = tokenData;
15996
+ if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
15997
+ return {
15998
+ isLoading: false,
15999
+ tokenInfo: {
16000
+ name: nameResult.result,
16001
+ symbol: symbolResult.result,
16002
+ decimals: decimalsResult.result,
16003
+ address: tokenAddress
16004
+ }
16005
+ };
16006
+ }
16007
+ return { isLoading: false, tokenInfo: null };
16008
+ }
16009
+ function useTokenBalance(tokenAddress, userAddress) {
16010
+ const { data: balance, isLoading, refetch } = useReadContract2({
16011
+ address: tokenAddress,
16012
+ abi: erc20Abi,
16013
+ functionName: "balanceOf",
16014
+ args: userAddress ? [userAddress] : void 0,
16015
+ chainId: lumiaBeam.id,
16016
+ query: {
16017
+ enabled: !!userAddress
16018
+ }
16019
+ });
16020
+ const { tokenInfo } = useTokenInfo(tokenAddress);
16021
+ const formattedBalance = React14.useMemo(() => {
16022
+ if (!balance || !tokenInfo) return "0";
16023
+ return formatUnits6(balance, tokenInfo.decimals);
16024
+ }, [balance, tokenInfo]);
16025
+ return {
16026
+ balance,
16027
+ formattedBalance,
16028
+ tokenInfo,
16029
+ isLoading,
16030
+ refetch
16031
+ };
16032
+ }
16033
+
15361
16034
  // src/modules/smartAccountTransactions.ts
15362
16035
  init_base();
15363
16036
  import { parseAbiItem } from "viem";
@@ -15456,6 +16129,7 @@ export {
15456
16129
  signTypedData,
15457
16130
  updateUserProfile,
15458
16131
  useAssets,
16132
+ useErc3643Compliance,
15459
16133
  useLogout,
15460
16134
  useLumiaPassportAccountSession,
15461
16135
  useLumiaPassportAddress,