@lumiapassport/ui-kit 1.13.2 → 1.13.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/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +558 -559
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +415 -416
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4249,7 +4249,7 @@ var init_profile = __esm({
|
|
|
4249
4249
|
});
|
|
4250
4250
|
|
|
4251
4251
|
// src/styles/built.css
|
|
4252
|
-
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 .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Inter;src:url(@/src/styles/Inter-VariableFont_opsz,wght.ttf) format("truetype-variations");font-weight:100 900;font-stretch:75% 125%;font-style:normal;font-display:swap}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-l,0);overflow-y:auto;max-height:320px}.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 .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4252
|
+
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 .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-l,0);overflow-y:auto;max-height:320px}.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 .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4253
4253
|
|
|
4254
4254
|
// src/context/LumiaPassportContext.tsx
|
|
4255
4255
|
init_lumiaPassport();
|
|
@@ -4269,14 +4269,305 @@ import {
|
|
|
4269
4269
|
import { Fragment as Fragment15 } from "react";
|
|
4270
4270
|
import { create as create5 } from "zustand";
|
|
4271
4271
|
|
|
4272
|
+
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
4273
|
+
init_base();
|
|
4274
|
+
import { useQuery } from "@tanstack/react-query";
|
|
4275
|
+
import { useEffect as useEffect2 } from "react";
|
|
4276
|
+
import { useBalance } from "wagmi";
|
|
4277
|
+
|
|
4278
|
+
// src/internal/hooks/useLayoutDataStore.ts
|
|
4279
|
+
import { create } from "zustand";
|
|
4280
|
+
|
|
4281
|
+
// src/internal/constants.ts
|
|
4282
|
+
init_assets();
|
|
4283
|
+
import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
|
|
4284
|
+
var DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
4285
|
+
var DEFAULT_MAIN_MENU_HEIGHT = 90;
|
|
4286
|
+
var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
4287
|
+
var MAX_LIST_HEIGHT = 320;
|
|
4288
|
+
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4289
|
+
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4290
|
+
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
4291
|
+
var PROVIDERS_META2 = {
|
|
4292
|
+
passkey: { name: "Passkey", icon: Key2, description: "Biometric authentication" },
|
|
4293
|
+
email: { name: "Email", icon: Mail2, description: "Email verification" },
|
|
4294
|
+
telegram: { name: "Telegram", icon: TelegramIcon, description: "Telegram account" },
|
|
4295
|
+
google: { name: "Google", icon: GoogleIcon, description: "Google account" },
|
|
4296
|
+
discord: { name: "Discord", icon: DiscordIcon, description: "Discord account" },
|
|
4297
|
+
twitter: { name: "X", icon: TwitterIcon, description: "X (Twitter) account" },
|
|
4298
|
+
wallet: { name: "Wallet", icon: Wallet22, description: "External wallet (EOA)" }
|
|
4299
|
+
};
|
|
4300
|
+
|
|
4301
|
+
// src/internal/hooks/useLayoutDataStore.ts
|
|
4302
|
+
var PageKey = /* @__PURE__ */ ((PageKey2) => {
|
|
4303
|
+
PageKey2["AUTH"] = "auth";
|
|
4304
|
+
PageKey2["TERMS_OF_SERVICE"] = "terms-of-service";
|
|
4305
|
+
PageKey2["MAIN_MENU"] = "main-menu";
|
|
4306
|
+
PageKey2["SETTINGS"] = "settings";
|
|
4307
|
+
PageKey2["SEND"] = "send";
|
|
4308
|
+
PageKey2["RECEIVE"] = "receive";
|
|
4309
|
+
PageKey2["BUY"] = "buy";
|
|
4310
|
+
PageKey2["KYC"] = "kyc";
|
|
4311
|
+
PageKey2["TRANSACTIONS"] = "transactions";
|
|
4312
|
+
PageKey2["ASSETS"] = "assets";
|
|
4313
|
+
PageKey2["MANAGE_WALLET"] = "manage-wallet";
|
|
4314
|
+
PageKey2["UNLINK_PROVIDER"] = "unlink-provider";
|
|
4315
|
+
PageKey2["SECURITY"] = "security";
|
|
4316
|
+
PageKey2["KEYSARE_BACKUP"] = "keysare-backup";
|
|
4317
|
+
PageKey2["KEYSHARE_RESTORE"] = "keyshare-restore";
|
|
4318
|
+
return PageKey2;
|
|
4319
|
+
})(PageKey || {});
|
|
4320
|
+
var useLayoutDataStore = create((set) => ({
|
|
4321
|
+
page: null,
|
|
4322
|
+
pageParams: null,
|
|
4323
|
+
cryptoRate: 1,
|
|
4324
|
+
cryptoSymbol: "LUMIA",
|
|
4325
|
+
fiatBalance: 0,
|
|
4326
|
+
fiatSymbol: "USD",
|
|
4327
|
+
balance: { decimals: 18, formatted: "0.0", symbol: "LUMIA", value: BigInt(0) },
|
|
4328
|
+
mainPageHeight: DEFAULT_MAIN_MENU_HEIGHT,
|
|
4329
|
+
settingsNotifications: [],
|
|
4330
|
+
setPage: (page) => set({ page }),
|
|
4331
|
+
setPageParams: (pageOptions) => set({ pageParams: pageOptions }),
|
|
4332
|
+
setCryptoRate: (lumiaRate) => set({ cryptoRate: lumiaRate }),
|
|
4333
|
+
setCryptoSymbol: (cryptoSymbol) => set({ cryptoSymbol }),
|
|
4334
|
+
setFiatBalance: (usdBalance) => set({ fiatBalance: usdBalance }),
|
|
4335
|
+
setFiatSymbol: (fiatSymbol) => set({ fiatSymbol }),
|
|
4336
|
+
setBalance: (balance) => set({ balance }),
|
|
4337
|
+
setMainPageHeight: (height) => set({ mainPageHeight: height }),
|
|
4338
|
+
setSettingsNotifications: (notification) => set((prev) => {
|
|
4339
|
+
const actions = notification.status === "active" ? "add" : "remove";
|
|
4340
|
+
const exists = prev.settingsNotifications.find((n) => n.id === notification.id);
|
|
4341
|
+
if (actions === "add") {
|
|
4342
|
+
if (exists) return prev;
|
|
4343
|
+
return { settingsNotifications: [...prev.settingsNotifications, notification] };
|
|
4344
|
+
}
|
|
4345
|
+
const filtered = prev.settingsNotifications.filter((n) => n.id !== notification.id);
|
|
4346
|
+
return { settingsNotifications: filtered };
|
|
4347
|
+
})
|
|
4348
|
+
}));
|
|
4349
|
+
|
|
4350
|
+
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
4351
|
+
import { useMutation } from "@tanstack/react-query";
|
|
4352
|
+
import { useEffect } from "react";
|
|
4353
|
+
|
|
4354
|
+
// src/internal/lib/LumiaPriceSSEService.ts
|
|
4355
|
+
var FALLBACK = "https://fallback.lumia.passport.io";
|
|
4356
|
+
var API_DOMAIN = (true ? "" : FALLBACK) || FALLBACK;
|
|
4357
|
+
var LumiaPriceSSEService = class {
|
|
4358
|
+
// private readonly baseUrl: string = API_DOMAIN
|
|
4359
|
+
constructor() {
|
|
4360
|
+
this.eventSource = null;
|
|
4361
|
+
this.listeners = /* @__PURE__ */ new Set();
|
|
4362
|
+
this.currentPrice = null;
|
|
4363
|
+
this.isConnected = false;
|
|
4364
|
+
this.reconnectTimeout = null;
|
|
4365
|
+
}
|
|
4366
|
+
connect() {
|
|
4367
|
+
return new Promise((resolve, reject) => {
|
|
4368
|
+
console.log("[LumiaPriceSSEService]: Connecting to LUMIA Price SSE...");
|
|
4369
|
+
if (this.isConnected) {
|
|
4370
|
+
resolve();
|
|
4371
|
+
return;
|
|
4372
|
+
}
|
|
4373
|
+
try {
|
|
4374
|
+
this.eventSource = new EventSource(`${API_DOMAIN}/api/lumia/sse`);
|
|
4375
|
+
this.eventSource.onopen = () => {
|
|
4376
|
+
console.log("[LumiaPriceSSEService]: LUMIA Price SSE connected");
|
|
4377
|
+
this.isConnected = true;
|
|
4378
|
+
this.clearReconnectTimeout();
|
|
4379
|
+
resolve();
|
|
4380
|
+
};
|
|
4381
|
+
this.eventSource.onmessage = () => {
|
|
4382
|
+
};
|
|
4383
|
+
this.eventSource.addEventListener("rate", (event) => {
|
|
4384
|
+
try {
|
|
4385
|
+
const data = JSON.parse(event.data);
|
|
4386
|
+
if (data.price !== void 0 && data.symbol === "LUMIAUSDT") {
|
|
4387
|
+
this.currentPrice = typeof data.price === "number" ? data.price : parseFloat(data.price);
|
|
4388
|
+
if (this.currentPrice !== null) {
|
|
4389
|
+
const update = {
|
|
4390
|
+
symbol: data.symbol,
|
|
4391
|
+
price: this.currentPrice,
|
|
4392
|
+
ts: data.ts || Date.now()
|
|
4393
|
+
};
|
|
4394
|
+
this.listeners.forEach((listener) => listener(update));
|
|
4395
|
+
}
|
|
4396
|
+
}
|
|
4397
|
+
} catch (error) {
|
|
4398
|
+
console.error("Error parsing price event:", error, event.data);
|
|
4399
|
+
}
|
|
4400
|
+
});
|
|
4401
|
+
this.eventSource.addEventListener("ping", () => {
|
|
4402
|
+
});
|
|
4403
|
+
this.eventSource.onerror = (error) => {
|
|
4404
|
+
console.error("LUMIA Price SSE error:", error);
|
|
4405
|
+
this.isConnected = false;
|
|
4406
|
+
if (this.eventSource?.readyState === EventSource.CLOSED) {
|
|
4407
|
+
console.log("SSE connection closed, attempting to reconnect...");
|
|
4408
|
+
this.scheduleReconnect();
|
|
4409
|
+
reject(error);
|
|
4410
|
+
}
|
|
4411
|
+
};
|
|
4412
|
+
setTimeout(() => {
|
|
4413
|
+
if (!this.isConnected) {
|
|
4414
|
+
reject(new Error("SSE connection timeout"));
|
|
4415
|
+
}
|
|
4416
|
+
}, 1e4);
|
|
4417
|
+
} catch (error) {
|
|
4418
|
+
reject(error);
|
|
4419
|
+
}
|
|
4420
|
+
});
|
|
4421
|
+
}
|
|
4422
|
+
disconnect() {
|
|
4423
|
+
this.clearReconnectTimeout();
|
|
4424
|
+
if (this.eventSource) {
|
|
4425
|
+
this.eventSource.close();
|
|
4426
|
+
this.eventSource = null;
|
|
4427
|
+
}
|
|
4428
|
+
this.isConnected = false;
|
|
4429
|
+
this.currentPrice = null;
|
|
4430
|
+
console.log("[LumiaPriceSSEService]: LUMIA Price SSE disconnected");
|
|
4431
|
+
}
|
|
4432
|
+
addListener(listener) {
|
|
4433
|
+
this.listeners.add(listener);
|
|
4434
|
+
}
|
|
4435
|
+
removeListener(listener) {
|
|
4436
|
+
this.listeners.delete(listener);
|
|
4437
|
+
}
|
|
4438
|
+
clearListeners() {
|
|
4439
|
+
this.listeners.clear();
|
|
4440
|
+
}
|
|
4441
|
+
getCurrentPrice() {
|
|
4442
|
+
return this.currentPrice;
|
|
4443
|
+
}
|
|
4444
|
+
getConnectionStatus() {
|
|
4445
|
+
return this.isConnected;
|
|
4446
|
+
}
|
|
4447
|
+
scheduleReconnect() {
|
|
4448
|
+
this.clearReconnectTimeout();
|
|
4449
|
+
this.reconnectTimeout = window.setTimeout(() => {
|
|
4450
|
+
console.log("Attempting to reconnect to BTC Price SSE...");
|
|
4451
|
+
this.connect().catch((error) => {
|
|
4452
|
+
console.error("Reconnection failed:", error);
|
|
4453
|
+
this.scheduleReconnect();
|
|
4454
|
+
});
|
|
4455
|
+
}, 5e3);
|
|
4456
|
+
}
|
|
4457
|
+
clearReconnectTimeout() {
|
|
4458
|
+
if (this.reconnectTimeout) {
|
|
4459
|
+
clearTimeout(this.reconnectTimeout);
|
|
4460
|
+
this.reconnectTimeout = null;
|
|
4461
|
+
}
|
|
4462
|
+
}
|
|
4463
|
+
};
|
|
4464
|
+
var lumiaPriceSSE = new LumiaPriceSSEService();
|
|
4465
|
+
async function sseConnectMutation() {
|
|
4466
|
+
try {
|
|
4467
|
+
await lumiaPriceSSE.connect();
|
|
4468
|
+
console.info("[LUMIA SSE] price feed connected");
|
|
4469
|
+
return { ok: true };
|
|
4470
|
+
} catch (error) {
|
|
4471
|
+
console.error("[LUMIA SSE] Error connecting to SSE:", error);
|
|
4472
|
+
throw new Error("[LUMIA SSE] Error connecting to SSE");
|
|
4473
|
+
}
|
|
4474
|
+
}
|
|
4475
|
+
|
|
4476
|
+
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
4477
|
+
function useLumiaPriceSSE(enabled, updateCurrentPrice) {
|
|
4478
|
+
const { mutate: connectSSE } = useMutation({
|
|
4479
|
+
mutationFn: sseConnectMutation,
|
|
4480
|
+
onSuccess: () => {
|
|
4481
|
+
lumiaPriceSSE.addListener(updateCurrentPrice);
|
|
4482
|
+
},
|
|
4483
|
+
onError: (err) => {
|
|
4484
|
+
console.error("Lumia Price SSE connection error:", err);
|
|
4485
|
+
}
|
|
4486
|
+
});
|
|
4487
|
+
useEffect(() => {
|
|
4488
|
+
const isConnected = lumiaPriceSSE.getConnectionStatus();
|
|
4489
|
+
console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
|
|
4490
|
+
if (!enabled) {
|
|
4491
|
+
lumiaPriceSSE.clearListeners();
|
|
4492
|
+
lumiaPriceSSE.disconnect();
|
|
4493
|
+
return;
|
|
4494
|
+
}
|
|
4495
|
+
return () => {
|
|
4496
|
+
lumiaPriceSSE.clearListeners();
|
|
4497
|
+
lumiaPriceSSE.disconnect();
|
|
4498
|
+
};
|
|
4499
|
+
}, [enabled, connectSSE]);
|
|
4500
|
+
}
|
|
4501
|
+
|
|
4502
|
+
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
4503
|
+
function BalanceFeedProvider() {
|
|
4504
|
+
const config = useLumiaPassportConfig().config.current;
|
|
4505
|
+
const address = useLumiaPassportSession((st) => st.address);
|
|
4506
|
+
const { cryptoRate, setCryptoRate, setFiatBalance, setBalance, setCryptoSymbol, setFiatSymbol } = useLayoutDataStore();
|
|
4507
|
+
const isDefaultBalanceFeedEnabled = !!address && !config?.projectAssets?.showBalanceAs;
|
|
4508
|
+
const { data: balance } = useBalance({
|
|
4509
|
+
address,
|
|
4510
|
+
chainId: lumiaBeam.id,
|
|
4511
|
+
query: {
|
|
4512
|
+
enabled: isDefaultBalanceFeedEnabled,
|
|
4513
|
+
refetchInterval: isDefaultBalanceFeedEnabled ? 3e4 : false,
|
|
4514
|
+
// Refetch every 30 seconds
|
|
4515
|
+
refetchOnMount: true,
|
|
4516
|
+
refetchOnWindowFocus: true
|
|
4517
|
+
}
|
|
4518
|
+
});
|
|
4519
|
+
useLumiaPriceSSE(isDefaultBalanceFeedEnabled, (update) => setCryptoRate(update.price || 1));
|
|
4520
|
+
useEffect2(() => {
|
|
4521
|
+
if (!isDefaultBalanceFeedEnabled) return;
|
|
4522
|
+
const usdBalance = Number(balance?.formatted || 0) * cryptoRate;
|
|
4523
|
+
setCryptoSymbol("LUMIA");
|
|
4524
|
+
setFiatSymbol("USD");
|
|
4525
|
+
setFiatBalance(usdBalance);
|
|
4526
|
+
setBalance(balance);
|
|
4527
|
+
}, [isDefaultBalanceFeedEnabled, balance, cryptoRate, setFiatBalance, setBalance, setCryptoSymbol, setFiatSymbol]);
|
|
4528
|
+
const showBalanceAsSymbol = config?.projectAssets?.showBalanceAs;
|
|
4529
|
+
const assetBalanceConfig = config?.projectAssets?.assets.find((a) => a.symbol === showBalanceAsSymbol);
|
|
4530
|
+
const { balanceQuery, balanceQueryKey } = assetBalanceConfig || {};
|
|
4531
|
+
const { data: customBalance } = useQuery({
|
|
4532
|
+
retry: false,
|
|
4533
|
+
enabled: !isDefaultBalanceFeedEnabled && !!address && !!showBalanceAsSymbol && !!assetBalanceConfig,
|
|
4534
|
+
queryKey: balanceQueryKey,
|
|
4535
|
+
// should be invalidated by host app via provided queryKey
|
|
4536
|
+
queryFn: async () => await balanceQuery()
|
|
4537
|
+
});
|
|
4538
|
+
useEffect2(() => {
|
|
4539
|
+
if (!!isDefaultBalanceFeedEnabled || !customBalance) return;
|
|
4540
|
+
const { cryptoFiatRate, fiatFormatted, cryptoFormatted, cryptoSymbol, fiatSymbol } = customBalance;
|
|
4541
|
+
setCryptoSymbol(cryptoSymbol.toUpperCase() || "LUMIA");
|
|
4542
|
+
setFiatSymbol(fiatSymbol.toUpperCase() || "USD");
|
|
4543
|
+
setCryptoRate(cryptoFiatRate || 1);
|
|
4544
|
+
setFiatBalance(fiatFormatted || 0);
|
|
4545
|
+
setBalance({
|
|
4546
|
+
decimals: 18,
|
|
4547
|
+
formatted: cryptoFormatted?.toString() || "0",
|
|
4548
|
+
symbol: cryptoSymbol.toUpperCase() || "LUMIA",
|
|
4549
|
+
value: BigInt(Math.floor((cryptoFormatted || 0) * 10 ** 18))
|
|
4550
|
+
});
|
|
4551
|
+
}, [
|
|
4552
|
+
isDefaultBalanceFeedEnabled,
|
|
4553
|
+
customBalance,
|
|
4554
|
+
setFiatBalance,
|
|
4555
|
+
setBalance,
|
|
4556
|
+
setCryptoSymbol,
|
|
4557
|
+
setFiatSymbol,
|
|
4558
|
+
setCryptoRate
|
|
4559
|
+
]);
|
|
4560
|
+
return null;
|
|
4561
|
+
}
|
|
4562
|
+
|
|
4272
4563
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
4273
4564
|
import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
|
|
4274
|
-
import { useEffect as
|
|
4565
|
+
import { useEffect as useEffect29 } from "react";
|
|
4275
4566
|
|
|
4276
4567
|
// package.json
|
|
4277
4568
|
var package_default = {
|
|
4278
4569
|
name: "@lumiapassport/ui-kit",
|
|
4279
|
-
version: "1.13.
|
|
4570
|
+
version: "1.13.3",
|
|
4280
4571
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4281
4572
|
type: "module",
|
|
4282
4573
|
main: "./dist/index.cjs",
|
|
@@ -4364,7 +4655,7 @@ var package_default = {
|
|
|
4364
4655
|
};
|
|
4365
4656
|
|
|
4366
4657
|
// src/internal/components/Footer/Footer.tsx
|
|
4367
|
-
import { useMutation } from "@tanstack/react-query";
|
|
4658
|
+
import { useMutation as useMutation2 } from "@tanstack/react-query";
|
|
4368
4659
|
import { Loader, LogOut } from "lucide-react";
|
|
4369
4660
|
|
|
4370
4661
|
// src/internal/assets/LumiaLogo.tsx
|
|
@@ -4422,78 +4713,6 @@ var LumiaLogo = forwardRef(({ size = 24, className = "" }, ref) => /* @__PURE__
|
|
|
4422
4713
|
init_auth();
|
|
4423
4714
|
init_base();
|
|
4424
4715
|
|
|
4425
|
-
// src/internal/hooks/useLayoutDataStore.ts
|
|
4426
|
-
import { create } from "zustand";
|
|
4427
|
-
|
|
4428
|
-
// src/internal/constants.ts
|
|
4429
|
-
init_assets();
|
|
4430
|
-
import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
|
|
4431
|
-
var DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
4432
|
-
var DEFAULT_MAIN_MENU_HEIGHT = 90;
|
|
4433
|
-
var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
4434
|
-
var MAX_LIST_HEIGHT = 320;
|
|
4435
|
-
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4436
|
-
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4437
|
-
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
4438
|
-
var PROVIDERS_META2 = {
|
|
4439
|
-
passkey: { name: "Passkey", icon: Key2, description: "Biometric authentication" },
|
|
4440
|
-
email: { name: "Email", icon: Mail2, description: "Email verification" },
|
|
4441
|
-
telegram: { name: "Telegram", icon: TelegramIcon, description: "Telegram account" },
|
|
4442
|
-
google: { name: "Google", icon: GoogleIcon, description: "Google account" },
|
|
4443
|
-
discord: { name: "Discord", icon: DiscordIcon, description: "Discord account" },
|
|
4444
|
-
twitter: { name: "X", icon: TwitterIcon, description: "X (Twitter) account" },
|
|
4445
|
-
wallet: { name: "Wallet", icon: Wallet22, description: "External wallet (EOA)" }
|
|
4446
|
-
};
|
|
4447
|
-
|
|
4448
|
-
// src/internal/hooks/useLayoutDataStore.ts
|
|
4449
|
-
var PageKey = /* @__PURE__ */ ((PageKey2) => {
|
|
4450
|
-
PageKey2["AUTH"] = "auth";
|
|
4451
|
-
PageKey2["TERMS_OF_SERVICE"] = "terms-of-service";
|
|
4452
|
-
PageKey2["MAIN_MENU"] = "main-menu";
|
|
4453
|
-
PageKey2["SETTINGS"] = "settings";
|
|
4454
|
-
PageKey2["SEND"] = "send";
|
|
4455
|
-
PageKey2["RECEIVE"] = "receive";
|
|
4456
|
-
PageKey2["BUY"] = "buy";
|
|
4457
|
-
PageKey2["KYC"] = "kyc";
|
|
4458
|
-
PageKey2["TRANSACTIONS"] = "transactions";
|
|
4459
|
-
PageKey2["ASSETS"] = "assets";
|
|
4460
|
-
PageKey2["MANAGE_WALLET"] = "manage-wallet";
|
|
4461
|
-
PageKey2["UNLINK_PROVIDER"] = "unlink-provider";
|
|
4462
|
-
PageKey2["SECURITY"] = "security";
|
|
4463
|
-
PageKey2["KEYSARE_BACKUP"] = "keysare-backup";
|
|
4464
|
-
PageKey2["KEYSHARE_RESTORE"] = "keyshare-restore";
|
|
4465
|
-
return PageKey2;
|
|
4466
|
-
})(PageKey || {});
|
|
4467
|
-
var useLayoutDataStore = create((set) => ({
|
|
4468
|
-
page: null,
|
|
4469
|
-
pageParams: null,
|
|
4470
|
-
cryptoRate: 1,
|
|
4471
|
-
cryptoSymbol: "LUMIA",
|
|
4472
|
-
fiatBalance: 0,
|
|
4473
|
-
fiatSymbol: "USD",
|
|
4474
|
-
balance: { decimals: 18, formatted: "0.0", symbol: "LUMIA", value: BigInt(0) },
|
|
4475
|
-
mainPageHeight: DEFAULT_MAIN_MENU_HEIGHT,
|
|
4476
|
-
settingsNotifications: [],
|
|
4477
|
-
setPage: (page) => set({ page }),
|
|
4478
|
-
setPageParams: (pageOptions) => set({ pageParams: pageOptions }),
|
|
4479
|
-
setCryptoRate: (lumiaRate) => set({ cryptoRate: lumiaRate }),
|
|
4480
|
-
setCryptoSymbol: (cryptoSymbol) => set({ cryptoSymbol }),
|
|
4481
|
-
setFiatBalance: (usdBalance) => set({ fiatBalance: usdBalance }),
|
|
4482
|
-
setFiatSymbol: (fiatSymbol) => set({ fiatSymbol }),
|
|
4483
|
-
setBalance: (balance) => set({ balance }),
|
|
4484
|
-
setMainPageHeight: (height) => set({ mainPageHeight: height }),
|
|
4485
|
-
setSettingsNotifications: (notification) => set((prev) => {
|
|
4486
|
-
const actions = notification.status === "active" ? "add" : "remove";
|
|
4487
|
-
const exists = prev.settingsNotifications.find((n) => n.id === notification.id);
|
|
4488
|
-
if (actions === "add") {
|
|
4489
|
-
if (exists) return prev;
|
|
4490
|
-
return { settingsNotifications: [...prev.settingsNotifications, notification] };
|
|
4491
|
-
}
|
|
4492
|
-
const filtered = prev.settingsNotifications.filter((n) => n.id !== notification.id);
|
|
4493
|
-
return { settingsNotifications: filtered };
|
|
4494
|
-
})
|
|
4495
|
-
}));
|
|
4496
|
-
|
|
4497
4716
|
// src/internal/lib/utils.ts
|
|
4498
4717
|
import { clsx } from "clsx";
|
|
4499
4718
|
import { twMerge } from "tailwind-merge";
|
|
@@ -4581,7 +4800,7 @@ function Footer() {
|
|
|
4581
4800
|
const { callbacks } = useLumiaPassportConfig();
|
|
4582
4801
|
const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useLumiaPassportSession();
|
|
4583
4802
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
4584
|
-
const { mutate: disconnect, isPending: isDisconnecting } =
|
|
4803
|
+
const { mutate: disconnect, isPending: isDisconnecting } = useMutation2({
|
|
4585
4804
|
mutationFn: async (disconnectAddress) => {
|
|
4586
4805
|
if (!disconnectAddress) throw new Error("No address to disconnect");
|
|
4587
4806
|
setError(null);
|
|
@@ -4713,7 +4932,7 @@ function LumiaIcon(props) {
|
|
|
4713
4932
|
}
|
|
4714
4933
|
|
|
4715
4934
|
// src/internal/components/Header/Header.tsx
|
|
4716
|
-
import { useQuery } from "@tanstack/react-query";
|
|
4935
|
+
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4717
4936
|
import { Copy, Loader as Loader2 } from "lucide-react";
|
|
4718
4937
|
import { useState } from "react";
|
|
4719
4938
|
|
|
@@ -4774,7 +4993,7 @@ function Header() {
|
|
|
4774
4993
|
const [copied, setCopied] = useState(false);
|
|
4775
4994
|
const avatar = jwtTokenManager2.getAvatar();
|
|
4776
4995
|
const displayName = jwtTokenManager2.getDisplayName();
|
|
4777
|
-
const { data: userProfile = null, isLoading: isUserProfileLoading } =
|
|
4996
|
+
const { data: userProfile = null, isLoading: isUserProfileLoading } = useQuery2({
|
|
4778
4997
|
retry: false,
|
|
4779
4998
|
enabled: !!address,
|
|
4780
4999
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -5043,7 +5262,7 @@ import { jsx as jsx10 } from "react/jsx-runtime";
|
|
|
5043
5262
|
var VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx10("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
|
|
5044
5263
|
|
|
5045
5264
|
// src/internal/hooks/useAutoConnect.ts
|
|
5046
|
-
import { useCallback, useEffect, useRef } from "react";
|
|
5265
|
+
import { useCallback, useEffect as useEffect3, useRef } from "react";
|
|
5047
5266
|
function useAutoConnect() {
|
|
5048
5267
|
const {
|
|
5049
5268
|
config: { current: config },
|
|
@@ -5098,7 +5317,7 @@ function useAutoConnect() {
|
|
|
5098
5317
|
[usePaymaster, setStatus, callbacks]
|
|
5099
5318
|
);
|
|
5100
5319
|
const autoConnectAttemptedRef = useRef(false);
|
|
5101
|
-
|
|
5320
|
+
useEffect3(() => {
|
|
5102
5321
|
if (autoConnectAttemptedRef.current) return;
|
|
5103
5322
|
setIsLoading(true);
|
|
5104
5323
|
const tryAutoConnect = async (attempt) => {
|
|
@@ -5217,11 +5436,11 @@ function useAutoConnect() {
|
|
|
5217
5436
|
}
|
|
5218
5437
|
|
|
5219
5438
|
// src/internal/hooks/useBackupStatusChanges.ts
|
|
5220
|
-
import { useEffect as
|
|
5439
|
+
import { useEffect as useEffect4 } from "react";
|
|
5221
5440
|
init_vaultClient();
|
|
5222
5441
|
function useBackupStatusChanges() {
|
|
5223
5442
|
const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
|
|
5224
|
-
|
|
5443
|
+
useEffect4(() => {
|
|
5225
5444
|
const handleBackupStatusChanged = async (event) => {
|
|
5226
5445
|
const customEvent = event;
|
|
5227
5446
|
const { method, success } = customEvent.detail || {};
|
|
@@ -5247,13 +5466,13 @@ function useBackupStatusChanges() {
|
|
|
5247
5466
|
}
|
|
5248
5467
|
|
|
5249
5468
|
// src/internal/hooks/useCheckVaultStatus.ts
|
|
5250
|
-
import { useMutation as
|
|
5251
|
-
import { useEffect as
|
|
5469
|
+
import { useMutation as useMutation3 } from "@tanstack/react-query";
|
|
5470
|
+
import { useEffect as useEffect5 } from "react";
|
|
5252
5471
|
init_vaultClient();
|
|
5253
5472
|
function useCheckVaultStatus() {
|
|
5254
5473
|
const address = useLumiaPassportSession((st) => st.address);
|
|
5255
5474
|
const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
|
|
5256
|
-
const { mutate: checkVaultStatus } =
|
|
5475
|
+
const { mutate: checkVaultStatus } = useMutation3({
|
|
5257
5476
|
mutationFn: async () => {
|
|
5258
5477
|
const stats = await getShareRecoveryStats();
|
|
5259
5478
|
const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
|
|
@@ -5267,19 +5486,19 @@ function useCheckVaultStatus() {
|
|
|
5267
5486
|
setHasServerVault(false);
|
|
5268
5487
|
}
|
|
5269
5488
|
});
|
|
5270
|
-
|
|
5489
|
+
useEffect5(() => {
|
|
5271
5490
|
if (!address) return setHasServerVault(false);
|
|
5272
5491
|
checkVaultStatus();
|
|
5273
5492
|
}, [address, checkVaultStatus]);
|
|
5274
5493
|
}
|
|
5275
5494
|
|
|
5276
5495
|
// src/internal/hooks/usePageMapper.tsx
|
|
5277
|
-
import { useCallback as useCallback15, useEffect as
|
|
5496
|
+
import { useCallback as useCallback15, useEffect as useEffect26 } from "react";
|
|
5278
5497
|
|
|
5279
5498
|
// src/internal/components/AuthMenu/AuthMenu.tsx
|
|
5280
5499
|
import { AnimatePresence, motion } from "framer-motion";
|
|
5281
5500
|
import { Loader as Loader5 } from "lucide-react";
|
|
5282
|
-
import { useEffect as
|
|
5501
|
+
import { useEffect as useEffect9, useMemo } from "react";
|
|
5283
5502
|
|
|
5284
5503
|
// src/internal/components/AuthMenu/AuthFailedStep.tsx
|
|
5285
5504
|
import { AlertTriangle, Cross } from "lucide-react";
|
|
@@ -5565,12 +5784,12 @@ function PasskeyAddIcon(props) {
|
|
|
5565
5784
|
init_auth();
|
|
5566
5785
|
|
|
5567
5786
|
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
5568
|
-
import { useCallback as useCallback2, useEffect as
|
|
5787
|
+
import { useCallback as useCallback2, useEffect as useEffect6, useRef as useRef3 } from "react";
|
|
5569
5788
|
var useExpandable = (props) => {
|
|
5570
5789
|
const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
|
|
5571
5790
|
const expandableRef = useRef3(null);
|
|
5572
5791
|
const contentRef = useRef3(null);
|
|
5573
|
-
|
|
5792
|
+
useEffect6(() => {
|
|
5574
5793
|
if (!expandableRef.current) return;
|
|
5575
5794
|
expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
|
|
5576
5795
|
}, []);
|
|
@@ -5585,7 +5804,7 @@ var useExpandable = (props) => {
|
|
|
5585
5804
|
// ON_RESIZE_DELEAY),
|
|
5586
5805
|
[minHeight]
|
|
5587
5806
|
);
|
|
5588
|
-
|
|
5807
|
+
useEffect6(() => {
|
|
5589
5808
|
if (!contentRef.current || !expandableRef.current) return;
|
|
5590
5809
|
const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
|
|
5591
5810
|
obs.observe(expandableRef.current);
|
|
@@ -5844,7 +6063,7 @@ import { Fragment as Fragment2 } from "react";
|
|
|
5844
6063
|
// src/internal/components/AuthMenu/SignInStep/Email.tsx
|
|
5845
6064
|
init_lumiaPassport();
|
|
5846
6065
|
init_projectId();
|
|
5847
|
-
import { useMutation as
|
|
6066
|
+
import { useMutation as useMutation4 } from "@tanstack/react-query";
|
|
5848
6067
|
import { ChevronRight, Loader as Loader3, Mail as Mail3 } from "lucide-react";
|
|
5849
6068
|
|
|
5850
6069
|
// src/internal/components/ui/highlight.tsx
|
|
@@ -5880,7 +6099,7 @@ function Email() {
|
|
|
5880
6099
|
const isLoading = useLumiaPassportSession((st) => st.isLoading);
|
|
5881
6100
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
5882
6101
|
const { email, codeSendError, setEmail, setCodeSendError, setExpiresIn, setStep } = useAuthStore();
|
|
5883
|
-
const { mutate: onSendVerificationCode } =
|
|
6102
|
+
const { mutate: onSendVerificationCode } = useMutation4({
|
|
5884
6103
|
mutationFn: async (mail) => {
|
|
5885
6104
|
const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
|
|
5886
6105
|
if (!isEmailValid) {
|
|
@@ -6689,7 +6908,7 @@ function useAuthMenuHandlers() {
|
|
|
6689
6908
|
}
|
|
6690
6909
|
|
|
6691
6910
|
// src/internal/components/AuthMenu/useListenIframeAuthEvents.ts
|
|
6692
|
-
import { useCallback as useCallback6, useEffect as
|
|
6911
|
+
import { useCallback as useCallback6, useEffect as useEffect7 } from "react";
|
|
6693
6912
|
function useListenIframeAuthEvents() {
|
|
6694
6913
|
const setPage = useLayoutDataStore((state) => state.setPage);
|
|
6695
6914
|
const setIsIframeReady = useLumiaPassportSession((state) => state.setIsIframeReady);
|
|
@@ -6711,7 +6930,7 @@ function useListenIframeAuthEvents() {
|
|
|
6711
6930
|
},
|
|
6712
6931
|
[setPage, setIsIframeReady]
|
|
6713
6932
|
);
|
|
6714
|
-
|
|
6933
|
+
useEffect7(() => {
|
|
6715
6934
|
window.addEventListener("message", handleIframeMessage);
|
|
6716
6935
|
return () => window.removeEventListener("message", handleIframeMessage);
|
|
6717
6936
|
}, [handleIframeMessage]);
|
|
@@ -6719,7 +6938,7 @@ function useListenIframeAuthEvents() {
|
|
|
6719
6938
|
|
|
6720
6939
|
// src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
|
|
6721
6940
|
init_lumiaPassport();
|
|
6722
|
-
import { useMutation as
|
|
6941
|
+
import { useMutation as useMutation5 } from "@tanstack/react-query";
|
|
6723
6942
|
import { ArrowLeft as ArrowLeft3, Loader as Loader4 } from "lucide-react";
|
|
6724
6943
|
|
|
6725
6944
|
// src/internal/assets/OtpIcon.tsx
|
|
@@ -6740,21 +6959,21 @@ init_auth();
|
|
|
6740
6959
|
init_projectId();
|
|
6741
6960
|
|
|
6742
6961
|
// src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
|
|
6743
|
-
import { useEffect as
|
|
6962
|
+
import { useEffect as useEffect8, useRef as useRef5, useState as useState4 } from "react";
|
|
6744
6963
|
import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
6745
6964
|
var VerificationCodeInput = (props) => {
|
|
6746
6965
|
const { onVerifyCode, onResendCode, isLoading, expiresIn, error } = props;
|
|
6747
6966
|
const setVerificationError = useAuthStore((st) => st.setVerificationError);
|
|
6748
6967
|
const [timeLeft, setTimeLeft] = useState4(expiresIn);
|
|
6749
|
-
|
|
6750
|
-
|
|
6968
|
+
useEffect8(() => setTimeLeft(expiresIn), [expiresIn]);
|
|
6969
|
+
useEffect8(() => {
|
|
6751
6970
|
const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
|
|
6752
6971
|
return () => clearInterval(t);
|
|
6753
6972
|
}, []);
|
|
6754
6973
|
const lastSubmittedRef = useRef5(null);
|
|
6755
6974
|
const inputsRef = useRef5([]);
|
|
6756
6975
|
const [digits, setDigits] = useState4(["", "", "", "", "", ""]);
|
|
6757
|
-
|
|
6976
|
+
useEffect8(() => {
|
|
6758
6977
|
const code = digits.join("");
|
|
6759
6978
|
if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
|
|
6760
6979
|
if (lastSubmittedRef.current !== code) {
|
|
@@ -6763,7 +6982,7 @@ var VerificationCodeInput = (props) => {
|
|
|
6763
6982
|
}
|
|
6764
6983
|
}
|
|
6765
6984
|
}, [digits, isLoading, onVerifyCode]);
|
|
6766
|
-
|
|
6985
|
+
useEffect8(() => {
|
|
6767
6986
|
const t = setTimeout(() => {
|
|
6768
6987
|
inputsRef.current[0]?.focus();
|
|
6769
6988
|
}, 0);
|
|
@@ -6888,7 +7107,7 @@ function VerifyStep(props) {
|
|
|
6888
7107
|
setEmail,
|
|
6889
7108
|
setExpiresIn
|
|
6890
7109
|
} = useAuthStore();
|
|
6891
|
-
const { mutate: onVerifyCode, isPending: isCodeVerifying } =
|
|
7110
|
+
const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation5({
|
|
6892
7111
|
mutationFn: async (code) => {
|
|
6893
7112
|
setIsLoading(true);
|
|
6894
7113
|
setVerificationError("");
|
|
@@ -6961,7 +7180,7 @@ function VerifyStep(props) {
|
|
|
6961
7180
|
setIsLoading(false);
|
|
6962
7181
|
}
|
|
6963
7182
|
});
|
|
6964
|
-
const { mutate: onResendCode, isPending: isCodeResending } =
|
|
7183
|
+
const { mutate: onResendCode, isPending: isCodeResending } = useMutation5({
|
|
6965
7184
|
mutationFn: async () => {
|
|
6966
7185
|
setVerificationError("");
|
|
6967
7186
|
setIsLoading(true);
|
|
@@ -7039,7 +7258,7 @@ var AuthMenu = () => {
|
|
|
7039
7258
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
7040
7259
|
const page = useLayoutDataStore((st) => st.page);
|
|
7041
7260
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
7042
|
-
|
|
7261
|
+
useEffect9(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
|
|
7043
7262
|
const {
|
|
7044
7263
|
step,
|
|
7045
7264
|
setStep,
|
|
@@ -7050,7 +7269,7 @@ var AuthMenu = () => {
|
|
|
7050
7269
|
setFailedMessage,
|
|
7051
7270
|
setCodeSendError
|
|
7052
7271
|
} = useAuthStore();
|
|
7053
|
-
|
|
7272
|
+
useEffect9(() => {
|
|
7054
7273
|
if (page !== "auth" /* AUTH */) {
|
|
7055
7274
|
setStep("signin");
|
|
7056
7275
|
setEmail("");
|
|
@@ -7215,9 +7434,9 @@ function RampnowIcon() {
|
|
|
7215
7434
|
}
|
|
7216
7435
|
|
|
7217
7436
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
7218
|
-
import { useMutation as
|
|
7437
|
+
import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient } from "@tanstack/react-query";
|
|
7219
7438
|
import { DollarSign, LoaderIcon } from "lucide-react";
|
|
7220
|
-
import { useEffect as
|
|
7439
|
+
import { useEffect as useEffect11, useRef as useRef6 } from "react";
|
|
7221
7440
|
|
|
7222
7441
|
// src/internal/components/BuyMenu/components/PaymentSelector.tsx
|
|
7223
7442
|
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
@@ -7258,11 +7477,10 @@ var QUERY_KEYS2 = {
|
|
|
7258
7477
|
};
|
|
7259
7478
|
|
|
7260
7479
|
// src/internal/components/BuyMenu/binance/api.ts
|
|
7261
|
-
var
|
|
7262
|
-
var API_DOMAIN = (true ? "" : FALLBACK) || FALLBACK;
|
|
7480
|
+
var API_DOMAIN2 = "https://api.lumiapassport.com/on-ramp";
|
|
7263
7481
|
async function getLumiaNetworkQuery() {
|
|
7264
7482
|
const auth = getBearer();
|
|
7265
|
-
const response = await fetch(`${
|
|
7483
|
+
const response = await fetch(`${API_DOMAIN2}/api/binance/networks`, {
|
|
7266
7484
|
method: "POST",
|
|
7267
7485
|
headers: {
|
|
7268
7486
|
"Content-Type": "application/json",
|
|
@@ -7282,7 +7500,7 @@ async function getLumiaNetworkQuery() {
|
|
|
7282
7500
|
}
|
|
7283
7501
|
async function getPaymentMethodsQuery(payload) {
|
|
7284
7502
|
const auth = getBearer();
|
|
7285
|
-
const response = await fetch(`${
|
|
7503
|
+
const response = await fetch(`${API_DOMAIN2}/api/binance/modes`, {
|
|
7286
7504
|
method: "POST",
|
|
7287
7505
|
headers: {
|
|
7288
7506
|
"Content-Type": "application/json",
|
|
@@ -7301,7 +7519,7 @@ async function getPaymentMethodsQuery(payload) {
|
|
|
7301
7519
|
}
|
|
7302
7520
|
async function getQuoteQuery(payload) {
|
|
7303
7521
|
const auth = getBearer();
|
|
7304
|
-
const response = await fetch(`${
|
|
7522
|
+
const response = await fetch(`${API_DOMAIN2}/api/binance/quote`, {
|
|
7305
7523
|
method: "POST",
|
|
7306
7524
|
headers: {
|
|
7307
7525
|
"Content-Type": "application/json",
|
|
@@ -7317,7 +7535,7 @@ async function getQuoteQuery(payload) {
|
|
|
7317
7535
|
}
|
|
7318
7536
|
async function createPreorderMutation(payload) {
|
|
7319
7537
|
const auth = getBearer();
|
|
7320
|
-
const response = await fetch(`${
|
|
7538
|
+
const response = await fetch(`${API_DOMAIN2}/api/binance/pre-order`, {
|
|
7321
7539
|
method: "POST",
|
|
7322
7540
|
headers: {
|
|
7323
7541
|
"Content-Type": "application/json",
|
|
@@ -7333,7 +7551,7 @@ async function createPreorderMutation(payload) {
|
|
|
7333
7551
|
}
|
|
7334
7552
|
|
|
7335
7553
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7336
|
-
import { useEffect as
|
|
7554
|
+
import { useEffect as useEffect10 } from "react";
|
|
7337
7555
|
|
|
7338
7556
|
// src/internal/components/BuyMenu/binance/utils.ts
|
|
7339
7557
|
function getPayMethodID(pm) {
|
|
@@ -7353,7 +7571,7 @@ function handleErrors(errors) {
|
|
|
7353
7571
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7354
7572
|
var useQueriesErrorHandler = (errors, stateUpdater) => {
|
|
7355
7573
|
const { error: errorTitle, message: errorMessage } = handleErrors(errors);
|
|
7356
|
-
|
|
7574
|
+
useEffect10(() => {
|
|
7357
7575
|
if (!errorTitle && !errorMessage) return;
|
|
7358
7576
|
console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
|
|
7359
7577
|
stateUpdater(1);
|
|
@@ -7383,7 +7601,7 @@ function Binance(props) {
|
|
|
7383
7601
|
data: lumiaNetwork,
|
|
7384
7602
|
isLoading: isLumiaNetworkLoading,
|
|
7385
7603
|
error: lumiaNetworkError
|
|
7386
|
-
} =
|
|
7604
|
+
} = useQuery3({
|
|
7387
7605
|
retry: false,
|
|
7388
7606
|
enabled: !!walletAddress,
|
|
7389
7607
|
queryKey: [QUERY_KEYS2.binanceNetworksQuery, walletAddress],
|
|
@@ -7394,7 +7612,7 @@ function Binance(props) {
|
|
|
7394
7612
|
data: paymentModes = null,
|
|
7395
7613
|
isLoading: isPaymentModesLoading,
|
|
7396
7614
|
error: paymentMethodsError
|
|
7397
|
-
} =
|
|
7615
|
+
} = useQuery3({
|
|
7398
7616
|
retry: false,
|
|
7399
7617
|
enabled: !!isLumiaAvailable && !!walletAddress,
|
|
7400
7618
|
// && srcQueryAmount > 0,
|
|
@@ -7402,19 +7620,19 @@ function Binance(props) {
|
|
|
7402
7620
|
queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
|
|
7403
7621
|
});
|
|
7404
7622
|
const lastLoadedPaymentModes = useRef6([]);
|
|
7405
|
-
|
|
7623
|
+
useEffect11(() => {
|
|
7406
7624
|
if (!paymentModes?.length) return;
|
|
7407
7625
|
setPaymentMode(getPayMethodID(paymentModes[0]));
|
|
7408
7626
|
lastLoadedPaymentModes.current = paymentModes;
|
|
7409
7627
|
}, [paymentModes]);
|
|
7410
7628
|
const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
|
|
7411
7629
|
const minimum = Number(selectedPaymentMode?.fiatMinLimit || "0");
|
|
7412
|
-
|
|
7630
|
+
useEffect11(() => setMinAmount(minimum), [minimum]);
|
|
7413
7631
|
const {
|
|
7414
7632
|
data: quoteData = null,
|
|
7415
7633
|
isLoading: isQuoteDataLoading,
|
|
7416
7634
|
error: quoteError
|
|
7417
|
-
} =
|
|
7635
|
+
} = useQuery3({
|
|
7418
7636
|
retry: false,
|
|
7419
7637
|
enabled: !!walletAddress && srcQueryAmount > 0 && minimum > 0 && srcQueryAmount >= minimum,
|
|
7420
7638
|
queryKey: [QUERY_KEYS2.binanceQuote, walletAddress, selectedPaymentMode, srcQueryAmount],
|
|
@@ -7430,7 +7648,7 @@ function Binance(props) {
|
|
|
7430
7648
|
[lumiaNetworkError, paymentMethodsError, quoteError],
|
|
7431
7649
|
setSrcInputAmount
|
|
7432
7650
|
);
|
|
7433
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } =
|
|
7651
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
|
|
7434
7652
|
mutationFn: async () => {
|
|
7435
7653
|
setRedirecting(true);
|
|
7436
7654
|
const returnUrl = window.location.href.split("?")[0];
|
|
@@ -7454,7 +7672,7 @@ function Binance(props) {
|
|
|
7454
7672
|
setRedirecting(false);
|
|
7455
7673
|
}
|
|
7456
7674
|
});
|
|
7457
|
-
|
|
7675
|
+
useEffect11(() => {
|
|
7458
7676
|
return () => {
|
|
7459
7677
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceNetworksQuery] });
|
|
7460
7678
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binancePaymentModes] });
|
|
@@ -7516,24 +7734,24 @@ function Binance(props) {
|
|
|
7516
7734
|
}
|
|
7517
7735
|
|
|
7518
7736
|
// src/internal/components/BuyMenu/rampnow/Rampnow.tsx
|
|
7519
|
-
import { useMutation as
|
|
7737
|
+
import { useMutation as useMutation7, useQuery as useQuery4, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
|
|
7520
7738
|
import { DollarSign as DollarSign2, LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
7521
|
-
import { useEffect as
|
|
7739
|
+
import { useEffect as useEffect12 } from "react";
|
|
7522
7740
|
|
|
7523
7741
|
// src/internal/components/BuyMenu/rampnow/api.ts
|
|
7524
|
-
var
|
|
7525
|
-
var API_DOMAIN2 = (true ? "" : FALLBACK2) || FALLBACK2;
|
|
7742
|
+
var API_DOMAIN3 = "https://api.lumiapassport.com/on-ramp";
|
|
7526
7743
|
async function getRampnowConfigQuery() {
|
|
7527
7744
|
const auth = getBearer();
|
|
7528
|
-
const response = await fetch(`${
|
|
7745
|
+
const response = await fetch(`${API_DOMAIN3}/api/rampnow/cfg`, {
|
|
7529
7746
|
method: "GET",
|
|
7530
7747
|
headers: { ...auth && { Authorization: auth } }
|
|
7531
7748
|
});
|
|
7532
|
-
|
|
7749
|
+
const data = await response.json();
|
|
7750
|
+
return data;
|
|
7533
7751
|
}
|
|
7534
7752
|
async function getRampOrderQuoteQuery(payload) {
|
|
7535
7753
|
const auth = getBearer();
|
|
7536
|
-
const response = await fetch(`${
|
|
7754
|
+
const response = await fetch(`${API_DOMAIN3}/api/rampnow/quote`, {
|
|
7537
7755
|
method: "POST",
|
|
7538
7756
|
headers: {
|
|
7539
7757
|
"Content-Type": "application/json",
|
|
@@ -7583,7 +7801,7 @@ function Rampnow(props) {
|
|
|
7583
7801
|
setMinAmount
|
|
7584
7802
|
} = control;
|
|
7585
7803
|
const qc = useQueryClient2();
|
|
7586
|
-
|
|
7804
|
+
useEffect12(() => {
|
|
7587
7805
|
setMinAmount(MINIMUM_RAMP_AMOUNT);
|
|
7588
7806
|
setPaymentMode(PAYMENT_MODES[0].id);
|
|
7589
7807
|
}, []);
|
|
@@ -7591,7 +7809,7 @@ function Rampnow(props) {
|
|
|
7591
7809
|
data: configData,
|
|
7592
7810
|
isLoading: isConfigLoading,
|
|
7593
7811
|
error: configError
|
|
7594
|
-
} =
|
|
7812
|
+
} = useQuery4({
|
|
7595
7813
|
retry: false,
|
|
7596
7814
|
enabled: !!walletAddress,
|
|
7597
7815
|
queryKey: [QUERY_KEYS2.getRampNowConfig, walletAddress],
|
|
@@ -7601,7 +7819,7 @@ function Rampnow(props) {
|
|
|
7601
7819
|
data: quoteData,
|
|
7602
7820
|
isLoading: isQuoteDataLoading,
|
|
7603
7821
|
error: quoteError
|
|
7604
|
-
} =
|
|
7822
|
+
} = useQuery4({
|
|
7605
7823
|
retry: false,
|
|
7606
7824
|
enabled: !!configData && !!walletAddress && !!paymentMode && srcQueryAmount >= MINIMUM_RAMP_AMOUNT,
|
|
7607
7825
|
queryKey: [QUERY_KEYS2.getRampNowQuote, walletAddress, srcQueryAmount, paymentMode],
|
|
@@ -7611,7 +7829,7 @@ function Rampnow(props) {
|
|
|
7611
7829
|
paymentMode
|
|
7612
7830
|
})
|
|
7613
7831
|
});
|
|
7614
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } =
|
|
7832
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation7({
|
|
7615
7833
|
mutationFn: async () => {
|
|
7616
7834
|
if (!configData?.apiKey?.length || !configData?.orderUrl?.length) {
|
|
7617
7835
|
throw new Error("RampNow order service is not available");
|
|
@@ -7640,7 +7858,7 @@ function Rampnow(props) {
|
|
|
7640
7858
|
console.error("Create CheckoutOrder failed:", err);
|
|
7641
7859
|
}
|
|
7642
7860
|
});
|
|
7643
|
-
|
|
7861
|
+
useEffect12(() => {
|
|
7644
7862
|
return () => {
|
|
7645
7863
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowConfig] });
|
|
7646
7864
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowQuote] });
|
|
@@ -7722,7 +7940,7 @@ var RAMP_PROVIDERS = {
|
|
|
7722
7940
|
var REDIRECT_TIMEOUT_MS = 1500;
|
|
7723
7941
|
|
|
7724
7942
|
// src/internal/components/BuyMenu/useSelectables.ts
|
|
7725
|
-
import { useCallback as useCallback7, useEffect as
|
|
7943
|
+
import { useCallback as useCallback7, useEffect as useEffect13, useRef as useRef7, useState as useState5 } from "react";
|
|
7726
7944
|
|
|
7727
7945
|
// src/internal/utils/debounce.ts
|
|
7728
7946
|
function debounce(func, waitFor) {
|
|
@@ -7751,7 +7969,7 @@ var useSelectables = () => {
|
|
|
7751
7969
|
}, ON_INPUT_QUERY_DELAY),
|
|
7752
7970
|
[minAmount]
|
|
7753
7971
|
);
|
|
7754
|
-
|
|
7972
|
+
useEffect13(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
|
|
7755
7973
|
return {
|
|
7756
7974
|
inputRef,
|
|
7757
7975
|
redirecting,
|
|
@@ -7814,7 +8032,7 @@ import {
|
|
|
7814
8032
|
Loader as Loader6,
|
|
7815
8033
|
Lock
|
|
7816
8034
|
} from "lucide-react";
|
|
7817
|
-
import React8, { useEffect as
|
|
8035
|
+
import React8, { useEffect as useEffect14 } from "react";
|
|
7818
8036
|
init_iframe_manager();
|
|
7819
8037
|
|
|
7820
8038
|
// src/internal/components/ui/checkbox.tsx
|
|
@@ -7849,7 +8067,7 @@ function KeyshareBackupMenu() {
|
|
|
7849
8067
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
7850
8068
|
const userId = session?.mpcUserId || "";
|
|
7851
8069
|
const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
|
|
7852
|
-
|
|
8070
|
+
useEffect14(() => {
|
|
7853
8071
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
7854
8072
|
}, [userId, setPage]);
|
|
7855
8073
|
const [backupStatus, setBackupStatus] = React8.useState({
|
|
@@ -7880,7 +8098,7 @@ function KeyshareBackupMenu() {
|
|
|
7880
8098
|
return null;
|
|
7881
8099
|
}
|
|
7882
8100
|
}, []);
|
|
7883
|
-
|
|
8101
|
+
useEffect14(() => {
|
|
7884
8102
|
const loadCloudProviders = async () => {
|
|
7885
8103
|
try {
|
|
7886
8104
|
const { getAvailableCloudProviders: getAvailableCloudProviders3 } = await Promise.resolve().then(() => (init_cloudStorage(), cloudStorage_exports));
|
|
@@ -7909,7 +8127,7 @@ function KeyshareBackupMenu() {
|
|
|
7909
8127
|
console.error("[KeyshareBackup] Failed to get backup status:", error2);
|
|
7910
8128
|
}
|
|
7911
8129
|
}, [iframeManager, userId]);
|
|
7912
|
-
|
|
8130
|
+
useEffect14(() => {
|
|
7913
8131
|
refreshStatus();
|
|
7914
8132
|
}, [refreshStatus]);
|
|
7915
8133
|
const handleBackup = async (method) => {
|
|
@@ -8141,9 +8359,9 @@ function KeyshareBackupMenu() {
|
|
|
8141
8359
|
}
|
|
8142
8360
|
|
|
8143
8361
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8144
|
-
import { useMutation as
|
|
8362
|
+
import { useMutation as useMutation8 } from "@tanstack/react-query";
|
|
8145
8363
|
import { AlertCircle as AlertCircle4, CheckCircle2 as CheckCircle22, Loader as Loader9, LogOut as LogOut2 } from "lucide-react";
|
|
8146
|
-
import React9, { useCallback as useCallback8, useEffect as
|
|
8364
|
+
import React9, { useCallback as useCallback8, useEffect as useEffect15 } from "react";
|
|
8147
8365
|
init_vaultClient();
|
|
8148
8366
|
|
|
8149
8367
|
// src/internal/components/KeyshareRestoreMenu/NoBackupFound.tsx
|
|
@@ -8327,7 +8545,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8327
8545
|
} = useLumiaPassportConfig();
|
|
8328
8546
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8329
8547
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
8330
|
-
|
|
8548
|
+
useEffect15(() => setIsDialogForced(true), []);
|
|
8331
8549
|
const { usePaymaster, recoveryUserId, setRecoveryUserId, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
|
|
8332
8550
|
const [error, setError] = React9.useState(null);
|
|
8333
8551
|
const [success, setSuccess] = React9.useState(null);
|
|
@@ -8436,7 +8654,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8436
8654
|
callbacks,
|
|
8437
8655
|
config.projectId
|
|
8438
8656
|
]);
|
|
8439
|
-
|
|
8657
|
+
useEffect15(() => {
|
|
8440
8658
|
const checkBackupAvailability = async () => {
|
|
8441
8659
|
try {
|
|
8442
8660
|
setCheckingBackup(true);
|
|
@@ -8454,7 +8672,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8454
8672
|
};
|
|
8455
8673
|
checkBackupAvailability();
|
|
8456
8674
|
}, [recoveryUserId]);
|
|
8457
|
-
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } =
|
|
8675
|
+
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation8({
|
|
8458
8676
|
mutationFn: async () => {
|
|
8459
8677
|
setError(null);
|
|
8460
8678
|
setSuccess(null);
|
|
@@ -8489,7 +8707,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8489
8707
|
setError(errorMsg);
|
|
8490
8708
|
}
|
|
8491
8709
|
});
|
|
8492
|
-
const { mutate: restoreFromFile, isPending: isRestoringFromFile } =
|
|
8710
|
+
const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation8({
|
|
8493
8711
|
mutationFn: async () => {
|
|
8494
8712
|
if (!restoreFile) {
|
|
8495
8713
|
throw new Error("Please select a backup file");
|
|
@@ -8523,7 +8741,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8523
8741
|
setError(errorMsg);
|
|
8524
8742
|
}
|
|
8525
8743
|
});
|
|
8526
|
-
const { mutate: disconnect, isPending: isDisconnecting } =
|
|
8744
|
+
const { mutate: disconnect, isPending: isDisconnecting } = useMutation8({
|
|
8527
8745
|
mutationFn: async () => {
|
|
8528
8746
|
setError(null);
|
|
8529
8747
|
setStatus("disconnecting");
|
|
@@ -8605,7 +8823,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8605
8823
|
import { LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
8606
8824
|
|
|
8607
8825
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
8608
|
-
import { useEffect as
|
|
8826
|
+
import { useEffect as useEffect16, useRef as useRef8, useState as useState7 } from "react";
|
|
8609
8827
|
|
|
8610
8828
|
// src/internal/components/KYC/api/sumsub.ts
|
|
8611
8829
|
init_httpClient();
|
|
@@ -8734,7 +8952,7 @@ function useSumsubIframe({ iframeUrl }) {
|
|
|
8734
8952
|
const [height, setHeight] = useState7(0);
|
|
8735
8953
|
const [status, setStatus] = useState7("");
|
|
8736
8954
|
const levelName = config.kyc?.options?.levelName;
|
|
8737
|
-
|
|
8955
|
+
useEffect16(() => {
|
|
8738
8956
|
setError(null);
|
|
8739
8957
|
setIsLoading(true);
|
|
8740
8958
|
setStatus("Preparing verification...");
|
|
@@ -8841,7 +9059,7 @@ function KycMenu() {
|
|
|
8841
9059
|
|
|
8842
9060
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
8843
9061
|
import { ChevronLeft, ChevronRight as ChevronRight2, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
|
|
8844
|
-
import { useEffect as
|
|
9062
|
+
import { useEffect as useEffect17 } from "react";
|
|
8845
9063
|
|
|
8846
9064
|
// src/internal/components/MainMenu/BackupWarning.tsx
|
|
8847
9065
|
import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
|
|
@@ -8897,7 +9115,7 @@ function MainMenu() {
|
|
|
8897
9115
|
const address = useLumiaPassportSession((st) => st.address);
|
|
8898
9116
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8899
9117
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
8900
|
-
|
|
9118
|
+
useEffect17(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
|
|
8901
9119
|
return /* @__PURE__ */ jsxs33("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
8902
9120
|
/* @__PURE__ */ jsx43("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)]", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ jsxs33(
|
|
8903
9121
|
Button,
|
|
@@ -8924,7 +9142,7 @@ import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft7, Loader as Loa
|
|
|
8924
9142
|
import { useMemo as useMemo2 } from "react";
|
|
8925
9143
|
|
|
8926
9144
|
// src/modules/linkedProfiles.ts
|
|
8927
|
-
import { useQuery as
|
|
9145
|
+
import { useQuery as useQuery5, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
8928
9146
|
import { useCallback as useCallback9 } from "react";
|
|
8929
9147
|
init_auth();
|
|
8930
9148
|
init_common();
|
|
@@ -8951,7 +9169,7 @@ function useLumiaPassportLinkedProfiles() {
|
|
|
8951
9169
|
data,
|
|
8952
9170
|
isFetching: isLoading,
|
|
8953
9171
|
error
|
|
8954
|
-
} =
|
|
9172
|
+
} = useQuery5({
|
|
8955
9173
|
retry: false,
|
|
8956
9174
|
enabled: !!address,
|
|
8957
9175
|
queryKey: [LINKED_PROFILES_QUERY_KEY, address],
|
|
@@ -8971,7 +9189,7 @@ init_passkey2();
|
|
|
8971
9189
|
// src/internal/components/ManageWalletMenu/EmailForm.tsx
|
|
8972
9190
|
init_lumiaPassport();
|
|
8973
9191
|
init_projectId();
|
|
8974
|
-
import { useMutation as
|
|
9192
|
+
import { useMutation as useMutation9 } from "@tanstack/react-query";
|
|
8975
9193
|
import { ChevronRight as ChevronRight3, Loader as Loader10, Mail as Mail4 } from "lucide-react";
|
|
8976
9194
|
|
|
8977
9195
|
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
@@ -9011,7 +9229,7 @@ function EmailForm() {
|
|
|
9011
9229
|
const isLoading = useLumiaPassportSession((st) => st.isLoading);
|
|
9012
9230
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
9013
9231
|
const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
|
|
9014
|
-
const { mutate: onSendVerificationCode } =
|
|
9232
|
+
const { mutate: onSendVerificationCode } = useMutation9({
|
|
9015
9233
|
mutationFn: async () => {
|
|
9016
9234
|
if (!email) return;
|
|
9017
9235
|
setIsLoading(true);
|
|
@@ -9089,12 +9307,12 @@ function EmailForm() {
|
|
|
9089
9307
|
|
|
9090
9308
|
// src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
|
|
9091
9309
|
init_common();
|
|
9092
|
-
import { useQuery as
|
|
9310
|
+
import { useQuery as useQuery6 } from "@tanstack/react-query";
|
|
9093
9311
|
var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
|
|
9094
9312
|
function useProvidersList() {
|
|
9095
9313
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9096
9314
|
const page = useLayoutDataStore((st) => st.page);
|
|
9097
|
-
return
|
|
9315
|
+
return useQuery6({
|
|
9098
9316
|
retry: false,
|
|
9099
9317
|
enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
|
|
9100
9318
|
queryKey: [PROVIDERS_QUERY_KEY, address],
|
|
@@ -9104,10 +9322,10 @@ function useProvidersList() {
|
|
|
9104
9322
|
|
|
9105
9323
|
// src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
|
|
9106
9324
|
init_email();
|
|
9107
|
-
import { useMutation as
|
|
9325
|
+
import { useMutation as useMutation10 } from "@tanstack/react-query";
|
|
9108
9326
|
function useSendVerificationCode() {
|
|
9109
9327
|
const { setVerificationError, setLinkIsLoading, setEmailCodeSentError, setEmailCodeExpiresIn } = useManageWalletStore();
|
|
9110
|
-
return
|
|
9328
|
+
return useMutation10({
|
|
9111
9329
|
mutationFn: async (email) => {
|
|
9112
9330
|
if (!email) {
|
|
9113
9331
|
throw new Error("Email is required");
|
|
@@ -9130,7 +9348,7 @@ function useSendVerificationCode() {
|
|
|
9130
9348
|
}
|
|
9131
9349
|
|
|
9132
9350
|
// src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
|
|
9133
|
-
import { useMutation as
|
|
9351
|
+
import { useMutation as useMutation11, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
9134
9352
|
init_email();
|
|
9135
9353
|
function useVerifyCode() {
|
|
9136
9354
|
const { callbacks } = useLumiaPassportConfig();
|
|
@@ -9148,7 +9366,7 @@ function useVerifyCode() {
|
|
|
9148
9366
|
setVerificationError,
|
|
9149
9367
|
setEmailCodeSentError
|
|
9150
9368
|
} = useManageWalletStore();
|
|
9151
|
-
return
|
|
9369
|
+
return useMutation11({
|
|
9152
9370
|
mutationFn: async (codeToVerify) => {
|
|
9153
9371
|
const code = codeToVerify ?? emailCode;
|
|
9154
9372
|
if (!code) {
|
|
@@ -9359,7 +9577,7 @@ function EmailNotConnectedWarning() {
|
|
|
9359
9577
|
|
|
9360
9578
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
9361
9579
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
9362
|
-
import React10, { useEffect as
|
|
9580
|
+
import React10, { useEffect as useEffect18 } from "react";
|
|
9363
9581
|
init_auth();
|
|
9364
9582
|
function useLinkSocial() {
|
|
9365
9583
|
const qc = useQueryClient6();
|
|
@@ -9422,7 +9640,7 @@ function useLinkSocial() {
|
|
|
9422
9640
|
[config.social?.providers, callbacks]
|
|
9423
9641
|
);
|
|
9424
9642
|
const [socialLinkStarted, setSocialLinkStarted] = React10.useState(false);
|
|
9425
|
-
|
|
9643
|
+
useEffect18(() => {
|
|
9426
9644
|
const key = providerType?.toLowerCase();
|
|
9427
9645
|
if (key && key !== "telegram" && key !== "email" && key !== "passkey" && key !== "wallet") {
|
|
9428
9646
|
if (!linkIsLoading && !socialLinkStarted) {
|
|
@@ -9437,7 +9655,7 @@ function useLinkSocial() {
|
|
|
9437
9655
|
|
|
9438
9656
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
9439
9657
|
import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
9440
|
-
import { useCallback as useCallback10, useEffect as
|
|
9658
|
+
import { useCallback as useCallback10, useEffect as useEffect19, useState as useState8 } from "react";
|
|
9441
9659
|
init_telegram2();
|
|
9442
9660
|
function useLinkTelegram() {
|
|
9443
9661
|
const {
|
|
@@ -9491,13 +9709,13 @@ function useLinkTelegram() {
|
|
|
9491
9709
|
}
|
|
9492
9710
|
}, [config.social?.providers, callbacks]);
|
|
9493
9711
|
const [telegramLinkStarted, setTelegramLinkStarted] = useState8(false);
|
|
9494
|
-
|
|
9712
|
+
useEffect19(() => {
|
|
9495
9713
|
if (providerType === "telegram" && !linkIsLoading && !telegramLinkStarted) {
|
|
9496
9714
|
setTelegramLinkStarted(true);
|
|
9497
9715
|
handleLinkTelegram();
|
|
9498
9716
|
}
|
|
9499
9717
|
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted]);
|
|
9500
|
-
|
|
9718
|
+
useEffect19(() => {
|
|
9501
9719
|
if (providerType !== "telegram") {
|
|
9502
9720
|
setTelegramLinkStarted(false);
|
|
9503
9721
|
}
|
|
@@ -9699,7 +9917,7 @@ function ManageWalletMenu() {
|
|
|
9699
9917
|
}
|
|
9700
9918
|
|
|
9701
9919
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
9702
|
-
import { useMutation as
|
|
9920
|
+
import { useMutation as useMutation12, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
|
|
9703
9921
|
import { Key as Key7, Loader as Loader12 } from "lucide-react";
|
|
9704
9922
|
import { useState as useState9 } from "react";
|
|
9705
9923
|
init_auth();
|
|
@@ -9711,7 +9929,7 @@ function UnlinkProviderMenu() {
|
|
|
9711
9929
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9712
9930
|
const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
|
|
9713
9931
|
const [confirmInput, setConfirmInput] = useState9("");
|
|
9714
|
-
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } =
|
|
9932
|
+
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation12({
|
|
9715
9933
|
mutationFn: async () => {
|
|
9716
9934
|
if (!confirmUnlink) {
|
|
9717
9935
|
throw new Error("No provider to unlink");
|
|
@@ -9785,12 +10003,12 @@ function UnlinkProviderMenu() {
|
|
|
9785
10003
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
9786
10004
|
import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
|
|
9787
10005
|
import { ArrowLeft as ArrowLeft8, Gem, Loader as Loader14, RefreshCw } from "lucide-react";
|
|
9788
|
-
import { useCallback as useCallback11, useEffect as
|
|
10006
|
+
import { useCallback as useCallback11, useEffect as useEffect20, useRef as useRef9 } from "react";
|
|
9789
10007
|
|
|
9790
10008
|
// src/modules/assets.ts
|
|
9791
10009
|
init_base();
|
|
9792
10010
|
import React11 from "react";
|
|
9793
|
-
import { useBalance, useReadContract, useReadContracts } from "wagmi";
|
|
10011
|
+
import { useBalance as useBalance2, useReadContract, useReadContracts } from "wagmi";
|
|
9794
10012
|
import { formatUnits, erc20Abi } from "viem";
|
|
9795
10013
|
var COMMON_TOKENS = [
|
|
9796
10014
|
// Add real token addresses here when available
|
|
@@ -9803,7 +10021,7 @@ var COMMON_TOKENS = [
|
|
|
9803
10021
|
// }
|
|
9804
10022
|
];
|
|
9805
10023
|
function useAssets(address) {
|
|
9806
|
-
const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } =
|
|
10024
|
+
const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = useBalance2({
|
|
9807
10025
|
address,
|
|
9808
10026
|
chainId: lumiaBeam.id,
|
|
9809
10027
|
query: {
|
|
@@ -9950,7 +10168,7 @@ function useTokenBalance(tokenAddress, userAddress) {
|
|
|
9950
10168
|
|
|
9951
10169
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
9952
10170
|
init_base();
|
|
9953
|
-
import { useQuery as
|
|
10171
|
+
import { useQuery as useQuery7, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
|
|
9954
10172
|
import { Loader as Loader13 } from "lucide-react";
|
|
9955
10173
|
import { Fragment as Fragment11, jsx as jsx50, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
9956
10174
|
var price16 = Intl.NumberFormat("en-US", { minimumFractionDigits: 16, maximumFractionDigits: 16 });
|
|
@@ -9984,7 +10202,7 @@ function PortfolioItem(props) {
|
|
|
9984
10202
|
const qc = useQueryClient9();
|
|
9985
10203
|
const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
|
|
9986
10204
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
9987
|
-
const { data: assetRate, isLoading: isRateLoading } =
|
|
10205
|
+
const { data: assetRate, isLoading: isRateLoading } = useQuery7({
|
|
9988
10206
|
retry: false,
|
|
9989
10207
|
staleTime: 4 * 60 * 1e3,
|
|
9990
10208
|
enabled: !!address && !!asset.symbol && !isProjectAsset,
|
|
@@ -10052,7 +10270,7 @@ function PortfolioMenu() {
|
|
|
10052
10270
|
Promise.all(childAppAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10053
10271
|
refreshBalances();
|
|
10054
10272
|
}, [qc, childAppAssets, refreshBalances]);
|
|
10055
|
-
|
|
10273
|
+
useEffect20(() => {
|
|
10056
10274
|
if (!assetsContainerListRef.current || !assetsListRef.current) return;
|
|
10057
10275
|
if (assetsContainerListRef.current) {
|
|
10058
10276
|
assetsContainerListRef.current.style.setProperty(
|
|
@@ -10139,7 +10357,7 @@ import {
|
|
|
10139
10357
|
Shield,
|
|
10140
10358
|
Trash2 as Trash22
|
|
10141
10359
|
} from "lucide-react";
|
|
10142
|
-
import { useCallback as useCallback12, useEffect as
|
|
10360
|
+
import { useCallback as useCallback12, useEffect as useEffect21, useState as useState10 } from "react";
|
|
10143
10361
|
init_vaultClient();
|
|
10144
10362
|
import { jsx as jsx52, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
10145
10363
|
function SecurityMenu() {
|
|
@@ -10193,7 +10411,7 @@ function SecurityMenu() {
|
|
|
10193
10411
|
setIsRefreshing(false);
|
|
10194
10412
|
}
|
|
10195
10413
|
}, [userId]);
|
|
10196
|
-
|
|
10414
|
+
useEffect21(() => {
|
|
10197
10415
|
if (open) fetchRecovery();
|
|
10198
10416
|
}, [open, fetchRecovery]);
|
|
10199
10417
|
const parseOS = (ua) => {
|
|
@@ -10385,9 +10603,9 @@ function SecurityMenu() {
|
|
|
10385
10603
|
|
|
10386
10604
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10387
10605
|
import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle24, Loader as Loader16, Wallet } from "lucide-react";
|
|
10388
|
-
import { useEffect as
|
|
10606
|
+
import { useEffect as useEffect22, useState as useState12 } from "react";
|
|
10389
10607
|
import { isAddress as isAddress2 } from "viem";
|
|
10390
|
-
import { useBalance as
|
|
10608
|
+
import { useBalance as useBalance3 } from "wagmi";
|
|
10391
10609
|
|
|
10392
10610
|
// src/hooks/useSendTransaction.ts
|
|
10393
10611
|
import { useCallback as useCallback13, useState as useState11 } from "react";
|
|
@@ -10463,7 +10681,7 @@ function SendLumiaMenu() {
|
|
|
10463
10681
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10464
10682
|
const { assets } = useAssets(address);
|
|
10465
10683
|
const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
|
|
10466
|
-
const { refetch: refetchBalance } =
|
|
10684
|
+
const { refetch: refetchBalance } = useBalance3({
|
|
10467
10685
|
address,
|
|
10468
10686
|
chainId: lumiaBeam.id
|
|
10469
10687
|
});
|
|
@@ -10473,7 +10691,7 @@ function SendLumiaMenu() {
|
|
|
10473
10691
|
const [validationError, setValidationError] = useState12(null);
|
|
10474
10692
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10475
10693
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10476
|
-
|
|
10694
|
+
useEffect22(() => {
|
|
10477
10695
|
if (open) {
|
|
10478
10696
|
setTxStep("input");
|
|
10479
10697
|
setValidationError(null);
|
|
@@ -10637,7 +10855,7 @@ function SendLumiaMenu() {
|
|
|
10637
10855
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
10638
10856
|
import { ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle25, Copy as Copy2, Loader as Loader17 } from "lucide-react";
|
|
10639
10857
|
import QRCode from "qrcode";
|
|
10640
|
-
import { useEffect as
|
|
10858
|
+
import { useEffect as useEffect23, useState as useState13 } from "react";
|
|
10641
10859
|
init_clients();
|
|
10642
10860
|
import { Fragment as Fragment13, jsx as jsx54, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
10643
10861
|
function ReceiveLumiaMenu() {
|
|
@@ -10647,7 +10865,7 @@ function ReceiveLumiaMenu() {
|
|
|
10647
10865
|
const { address } = useLumiaPassportSession();
|
|
10648
10866
|
const [qrCodeUrl, setQrCodeUrl] = useState13("");
|
|
10649
10867
|
const [copied, setCopied] = useState13(false);
|
|
10650
|
-
|
|
10868
|
+
useEffect23(() => {
|
|
10651
10869
|
if (open && address) {
|
|
10652
10870
|
QRCode.toDataURL(address, {
|
|
10653
10871
|
width: 200,
|
|
@@ -10696,7 +10914,7 @@ function ReceiveLumiaMenu() {
|
|
|
10696
10914
|
|
|
10697
10915
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
10698
10916
|
import { ArrowLeft as ArrowLeft12 } from "lucide-react";
|
|
10699
|
-
import { useEffect as
|
|
10917
|
+
import { useEffect as useEffect24 } from "react";
|
|
10700
10918
|
|
|
10701
10919
|
// src/internal/components/SettingsMenu/constants.ts
|
|
10702
10920
|
import { ArrowLeftRight, DatabaseBackup as DatabaseBackup2, LockKeyhole, UsersRound } from "lucide-react";
|
|
@@ -10730,7 +10948,7 @@ function SettingsMenu() {
|
|
|
10730
10948
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10731
10949
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
10732
10950
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
10733
|
-
|
|
10951
|
+
useEffect24(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
|
|
10734
10952
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
10735
10953
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
10736
10954
|
return /* @__PURE__ */ jsxs45("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
@@ -10788,9 +11006,9 @@ function TermsOfService() {
|
|
|
10788
11006
|
}
|
|
10789
11007
|
|
|
10790
11008
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
10791
|
-
import { useQuery as
|
|
11009
|
+
import { useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
|
|
10792
11010
|
import { ArrowLeft as ArrowLeft14, Loader as Loader18, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
|
|
10793
|
-
import { useCallback as useCallback14, useEffect as
|
|
11011
|
+
import { useCallback as useCallback14, useEffect as useEffect25, useRef as useRef10, useState as useState14 } from "react";
|
|
10794
11012
|
|
|
10795
11013
|
// src/internal/components/TransactionsMenu/api.ts
|
|
10796
11014
|
init_base();
|
|
@@ -11278,7 +11496,7 @@ function TransactionsMenu() {
|
|
|
11278
11496
|
isLoading: isTxHistoryLoading,
|
|
11279
11497
|
isFetching: isTxHistoryFetching,
|
|
11280
11498
|
error: txHistoryError
|
|
11281
|
-
} =
|
|
11499
|
+
} = useQuery8({
|
|
11282
11500
|
retry: false,
|
|
11283
11501
|
enabled: !!address && page === "transactions",
|
|
11284
11502
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
@@ -11289,7 +11507,7 @@ function TransactionsMenu() {
|
|
|
11289
11507
|
[qc, address]
|
|
11290
11508
|
);
|
|
11291
11509
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
11292
|
-
|
|
11510
|
+
useEffect25(() => {
|
|
11293
11511
|
if (!txContainerListRef.current || !txListRef.current) return;
|
|
11294
11512
|
if (txContainerListRef.current) {
|
|
11295
11513
|
txContainerListRef.current.style.setProperty(
|
|
@@ -11478,7 +11696,7 @@ function usePageMapper() {
|
|
|
11478
11696
|
},
|
|
11479
11697
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
11480
11698
|
);
|
|
11481
|
-
|
|
11699
|
+
useEffect26(() => {
|
|
11482
11700
|
if (page === null) return closeDialog();
|
|
11483
11701
|
const pageItem = protectedRoutes[page];
|
|
11484
11702
|
if (!pageItem) {
|
|
@@ -11492,7 +11710,7 @@ function usePageMapper() {
|
|
|
11492
11710
|
|
|
11493
11711
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
11494
11712
|
init_auth();
|
|
11495
|
-
import { useEffect as
|
|
11713
|
+
import { useEffect as useEffect27 } from "react";
|
|
11496
11714
|
var EMAIL_NOT_CONNECTED_NOTIFICATION = {
|
|
11497
11715
|
id: "email-not-connected",
|
|
11498
11716
|
target: "manage-wallet" /* MANAGE_WALLET */,
|
|
@@ -11508,13 +11726,13 @@ function useSettingsNotifications() {
|
|
|
11508
11726
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
11509
11727
|
const providers = jwtTokenManager2.getProviders();
|
|
11510
11728
|
const hasEmail = providers.includes("email");
|
|
11511
|
-
|
|
11729
|
+
useEffect27(() => {
|
|
11512
11730
|
setSettingsNotifications({
|
|
11513
11731
|
...BACKUP_IS_NOT_CREATED_NOTIFICATION,
|
|
11514
11732
|
status: hasServerVault ? "resolved" : "active"
|
|
11515
11733
|
});
|
|
11516
11734
|
}, [hasServerVault, setSettingsNotifications]);
|
|
11517
|
-
|
|
11735
|
+
useEffect27(() => {
|
|
11518
11736
|
setSettingsNotifications({
|
|
11519
11737
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
11520
11738
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -11523,7 +11741,7 @@ function useSettingsNotifications() {
|
|
|
11523
11741
|
}
|
|
11524
11742
|
|
|
11525
11743
|
// src/internal/hooks/useWalletStatus.ts
|
|
11526
|
-
import { useEffect as
|
|
11744
|
+
import { useEffect as useEffect28 } from "react";
|
|
11527
11745
|
init_auth();
|
|
11528
11746
|
function useWalletStatus() {
|
|
11529
11747
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
@@ -11533,7 +11751,7 @@ function useWalletStatus() {
|
|
|
11533
11751
|
config: { current: config },
|
|
11534
11752
|
callbacks
|
|
11535
11753
|
} = useLumiaPassportConfig();
|
|
11536
|
-
|
|
11754
|
+
useEffect28(() => {
|
|
11537
11755
|
if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
|
|
11538
11756
|
const userId = jwtTokenManager2.getUserId();
|
|
11539
11757
|
const hasKeyshare = jwtTokenManager2.getHasKeyshare();
|
|
@@ -11564,7 +11782,7 @@ function LumiaPassportDialog() {
|
|
|
11564
11782
|
const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
|
|
11565
11783
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11566
11784
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
11567
|
-
|
|
11785
|
+
useEffect29(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
11568
11786
|
usePageMapper();
|
|
11569
11787
|
useAutoConnect();
|
|
11570
11788
|
useCheckVaultStatus();
|
|
@@ -11601,225 +11819,6 @@ function LumiaPassportDialog() {
|
|
|
11601
11819
|
);
|
|
11602
11820
|
}
|
|
11603
11821
|
|
|
11604
|
-
// src/internal/components/LumiaPriceSSE.tsx
|
|
11605
|
-
init_base();
|
|
11606
|
-
import { useQuery as useQuery8 } from "@tanstack/react-query";
|
|
11607
|
-
import { useEffect as useEffect29 } from "react";
|
|
11608
|
-
import { useBalance as useBalance3 } from "wagmi";
|
|
11609
|
-
|
|
11610
|
-
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
11611
|
-
import { useMutation as useMutation12 } from "@tanstack/react-query";
|
|
11612
|
-
import { useEffect as useEffect28 } from "react";
|
|
11613
|
-
|
|
11614
|
-
// src/internal/lib/LumiaPriceSSEService.ts
|
|
11615
|
-
var FALLBACK3 = "https://fallback.lumia.passport.io";
|
|
11616
|
-
var API_DOMAIN3 = (true ? "" : FALLBACK3) || FALLBACK3;
|
|
11617
|
-
var LumiaPriceSSEService = class {
|
|
11618
|
-
// private readonly baseUrl: string = API_DOMAIN
|
|
11619
|
-
constructor() {
|
|
11620
|
-
this.eventSource = null;
|
|
11621
|
-
this.listeners = /* @__PURE__ */ new Set();
|
|
11622
|
-
this.currentPrice = null;
|
|
11623
|
-
this.isConnected = false;
|
|
11624
|
-
this.reconnectTimeout = null;
|
|
11625
|
-
}
|
|
11626
|
-
connect() {
|
|
11627
|
-
return new Promise((resolve, reject) => {
|
|
11628
|
-
console.log("[LumiaPriceSSEService]: Connecting to LUMIA Price SSE...");
|
|
11629
|
-
if (this.isConnected) {
|
|
11630
|
-
resolve();
|
|
11631
|
-
return;
|
|
11632
|
-
}
|
|
11633
|
-
try {
|
|
11634
|
-
this.eventSource = new EventSource(`${API_DOMAIN3}/api/lumia/sse`);
|
|
11635
|
-
this.eventSource.onopen = () => {
|
|
11636
|
-
console.log("[LumiaPriceSSEService]: LUMIA Price SSE connected");
|
|
11637
|
-
this.isConnected = true;
|
|
11638
|
-
this.clearReconnectTimeout();
|
|
11639
|
-
resolve();
|
|
11640
|
-
};
|
|
11641
|
-
this.eventSource.onmessage = () => {
|
|
11642
|
-
};
|
|
11643
|
-
this.eventSource.addEventListener("rate", (event) => {
|
|
11644
|
-
try {
|
|
11645
|
-
const data = JSON.parse(event.data);
|
|
11646
|
-
if (data.price !== void 0 && data.symbol === "LUMIAUSDT") {
|
|
11647
|
-
this.currentPrice = typeof data.price === "number" ? data.price : parseFloat(data.price);
|
|
11648
|
-
if (this.currentPrice !== null) {
|
|
11649
|
-
const update = {
|
|
11650
|
-
symbol: data.symbol,
|
|
11651
|
-
price: this.currentPrice,
|
|
11652
|
-
ts: data.ts || Date.now()
|
|
11653
|
-
};
|
|
11654
|
-
this.listeners.forEach((listener) => listener(update));
|
|
11655
|
-
}
|
|
11656
|
-
}
|
|
11657
|
-
} catch (error) {
|
|
11658
|
-
console.error("Error parsing price event:", error, event.data);
|
|
11659
|
-
}
|
|
11660
|
-
});
|
|
11661
|
-
this.eventSource.addEventListener("ping", () => {
|
|
11662
|
-
});
|
|
11663
|
-
this.eventSource.onerror = (error) => {
|
|
11664
|
-
console.error("LUMIA Price SSE error:", error);
|
|
11665
|
-
this.isConnected = false;
|
|
11666
|
-
if (this.eventSource?.readyState === EventSource.CLOSED) {
|
|
11667
|
-
console.log("SSE connection closed, attempting to reconnect...");
|
|
11668
|
-
this.scheduleReconnect();
|
|
11669
|
-
reject(error);
|
|
11670
|
-
}
|
|
11671
|
-
};
|
|
11672
|
-
setTimeout(() => {
|
|
11673
|
-
if (!this.isConnected) {
|
|
11674
|
-
reject(new Error("SSE connection timeout"));
|
|
11675
|
-
}
|
|
11676
|
-
}, 1e4);
|
|
11677
|
-
} catch (error) {
|
|
11678
|
-
reject(error);
|
|
11679
|
-
}
|
|
11680
|
-
});
|
|
11681
|
-
}
|
|
11682
|
-
disconnect() {
|
|
11683
|
-
this.clearReconnectTimeout();
|
|
11684
|
-
if (this.eventSource) {
|
|
11685
|
-
this.eventSource.close();
|
|
11686
|
-
this.eventSource = null;
|
|
11687
|
-
}
|
|
11688
|
-
this.isConnected = false;
|
|
11689
|
-
this.currentPrice = null;
|
|
11690
|
-
console.log("[LumiaPriceSSEService]: LUMIA Price SSE disconnected");
|
|
11691
|
-
}
|
|
11692
|
-
addListener(listener) {
|
|
11693
|
-
this.listeners.add(listener);
|
|
11694
|
-
}
|
|
11695
|
-
removeListener(listener) {
|
|
11696
|
-
this.listeners.delete(listener);
|
|
11697
|
-
}
|
|
11698
|
-
clearListeners() {
|
|
11699
|
-
this.listeners.clear();
|
|
11700
|
-
}
|
|
11701
|
-
getCurrentPrice() {
|
|
11702
|
-
return this.currentPrice;
|
|
11703
|
-
}
|
|
11704
|
-
getConnectionStatus() {
|
|
11705
|
-
return this.isConnected;
|
|
11706
|
-
}
|
|
11707
|
-
scheduleReconnect() {
|
|
11708
|
-
this.clearReconnectTimeout();
|
|
11709
|
-
this.reconnectTimeout = window.setTimeout(() => {
|
|
11710
|
-
console.log("Attempting to reconnect to BTC Price SSE...");
|
|
11711
|
-
this.connect().catch((error) => {
|
|
11712
|
-
console.error("Reconnection failed:", error);
|
|
11713
|
-
this.scheduleReconnect();
|
|
11714
|
-
});
|
|
11715
|
-
}, 5e3);
|
|
11716
|
-
}
|
|
11717
|
-
clearReconnectTimeout() {
|
|
11718
|
-
if (this.reconnectTimeout) {
|
|
11719
|
-
clearTimeout(this.reconnectTimeout);
|
|
11720
|
-
this.reconnectTimeout = null;
|
|
11721
|
-
}
|
|
11722
|
-
}
|
|
11723
|
-
};
|
|
11724
|
-
var lumiaPriceSSE = new LumiaPriceSSEService();
|
|
11725
|
-
async function sseConnectMutation() {
|
|
11726
|
-
try {
|
|
11727
|
-
await lumiaPriceSSE.connect();
|
|
11728
|
-
console.info("[LUMIA SSE] price feed connected");
|
|
11729
|
-
return { ok: true };
|
|
11730
|
-
} catch (error) {
|
|
11731
|
-
console.error("[LUMIA SSE] Error connecting to SSE:", error);
|
|
11732
|
-
throw new Error("[LUMIA SSE] Error connecting to SSE");
|
|
11733
|
-
}
|
|
11734
|
-
}
|
|
11735
|
-
|
|
11736
|
-
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
11737
|
-
function useLumiaPriceSSE(enabled, updateCurrentPrice) {
|
|
11738
|
-
const { mutate: connectSSE } = useMutation12({
|
|
11739
|
-
mutationFn: sseConnectMutation,
|
|
11740
|
-
onSuccess: () => {
|
|
11741
|
-
lumiaPriceSSE.addListener(updateCurrentPrice);
|
|
11742
|
-
},
|
|
11743
|
-
onError: (err) => {
|
|
11744
|
-
console.error("Lumia Price SSE connection error:", err);
|
|
11745
|
-
}
|
|
11746
|
-
});
|
|
11747
|
-
useEffect28(() => {
|
|
11748
|
-
const isConnected = lumiaPriceSSE.getConnectionStatus();
|
|
11749
|
-
console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
|
|
11750
|
-
if (!enabled) {
|
|
11751
|
-
lumiaPriceSSE.clearListeners();
|
|
11752
|
-
lumiaPriceSSE.disconnect();
|
|
11753
|
-
return;
|
|
11754
|
-
}
|
|
11755
|
-
return () => {
|
|
11756
|
-
lumiaPriceSSE.clearListeners();
|
|
11757
|
-
lumiaPriceSSE.disconnect();
|
|
11758
|
-
};
|
|
11759
|
-
}, [enabled, connectSSE]);
|
|
11760
|
-
}
|
|
11761
|
-
|
|
11762
|
-
// src/internal/components/LumiaPriceSSE.tsx
|
|
11763
|
-
function LumiaPriceSSE() {
|
|
11764
|
-
const config = useLumiaPassportConfig().config.current;
|
|
11765
|
-
const address = useLumiaPassportSession((st) => st.address);
|
|
11766
|
-
const { cryptoRate, setCryptoRate, setFiatBalance, setBalance, setCryptoSymbol, setFiatSymbol } = useLayoutDataStore();
|
|
11767
|
-
const isDefaultBalanceFeedEnabled = !!address && !config?.projectAssets?.showBalanceAs;
|
|
11768
|
-
const { data: balance } = useBalance3({
|
|
11769
|
-
address,
|
|
11770
|
-
chainId: lumiaBeam.id,
|
|
11771
|
-
query: {
|
|
11772
|
-
enabled: isDefaultBalanceFeedEnabled,
|
|
11773
|
-
refetchInterval: isDefaultBalanceFeedEnabled ? 3e4 : false,
|
|
11774
|
-
// Refetch every 30 seconds
|
|
11775
|
-
refetchOnMount: true,
|
|
11776
|
-
refetchOnWindowFocus: true
|
|
11777
|
-
}
|
|
11778
|
-
});
|
|
11779
|
-
useLumiaPriceSSE(isDefaultBalanceFeedEnabled, (update) => setCryptoRate(update.price || 1));
|
|
11780
|
-
useEffect29(() => {
|
|
11781
|
-
if (!isDefaultBalanceFeedEnabled) return;
|
|
11782
|
-
const usdBalance = Number(balance?.formatted || 0) * cryptoRate;
|
|
11783
|
-
setCryptoSymbol("LUMIA");
|
|
11784
|
-
setFiatSymbol("USD");
|
|
11785
|
-
setFiatBalance(usdBalance);
|
|
11786
|
-
setBalance(balance);
|
|
11787
|
-
}, [isDefaultBalanceFeedEnabled, balance, cryptoRate, setFiatBalance, setBalance, setCryptoSymbol, setFiatSymbol]);
|
|
11788
|
-
const showBalanceAsSymbol = config?.projectAssets?.showBalanceAs;
|
|
11789
|
-
const assetBalanceConfig = config?.projectAssets?.assets.find((a) => a.symbol === showBalanceAsSymbol);
|
|
11790
|
-
const { balanceQuery, balanceQueryKey } = assetBalanceConfig || {};
|
|
11791
|
-
const { data: customBalance } = useQuery8({
|
|
11792
|
-
retry: false,
|
|
11793
|
-
enabled: !isDefaultBalanceFeedEnabled && !!address && !!showBalanceAsSymbol && !!assetBalanceConfig,
|
|
11794
|
-
queryKey: balanceQueryKey,
|
|
11795
|
-
// should be invalidated by host app via provided queryKey
|
|
11796
|
-
queryFn: async () => await balanceQuery()
|
|
11797
|
-
});
|
|
11798
|
-
useEffect29(() => {
|
|
11799
|
-
if (!!isDefaultBalanceFeedEnabled || !customBalance) return;
|
|
11800
|
-
const { cryptoFiatRate, fiatFormatted, cryptoFormatted, cryptoSymbol, fiatSymbol } = customBalance;
|
|
11801
|
-
setCryptoSymbol(cryptoSymbol.toUpperCase() || "LUMIA");
|
|
11802
|
-
setFiatSymbol(fiatSymbol.toUpperCase() || "USD");
|
|
11803
|
-
setCryptoRate(cryptoFiatRate || 1);
|
|
11804
|
-
setFiatBalance(fiatFormatted || 0);
|
|
11805
|
-
setBalance({
|
|
11806
|
-
decimals: 18,
|
|
11807
|
-
formatted: cryptoFormatted?.toString() || "0",
|
|
11808
|
-
symbol: cryptoSymbol.toUpperCase() || "LUMIA",
|
|
11809
|
-
value: BigInt(Math.floor((cryptoFormatted || 0) * 10 ** 18))
|
|
11810
|
-
});
|
|
11811
|
-
}, [
|
|
11812
|
-
isDefaultBalanceFeedEnabled,
|
|
11813
|
-
customBalance,
|
|
11814
|
-
setFiatBalance,
|
|
11815
|
-
setBalance,
|
|
11816
|
-
setCryptoSymbol,
|
|
11817
|
-
setFiatSymbol,
|
|
11818
|
-
setCryptoRate
|
|
11819
|
-
]);
|
|
11820
|
-
return null;
|
|
11821
|
-
}
|
|
11822
|
-
|
|
11823
11822
|
// src/internal/components/TssManager.tsx
|
|
11824
11823
|
import React13, { useCallback as useCallback16 } from "react";
|
|
11825
11824
|
init_auth();
|
|
@@ -12020,7 +12019,7 @@ function LumiaPassportSessionProvider({ children }) {
|
|
|
12020
12019
|
return /* @__PURE__ */ jsxs51(Fragment15, { children: [
|
|
12021
12020
|
children,
|
|
12022
12021
|
config.wallet?.enabled && /* @__PURE__ */ jsx63(WalletConnectHandler, {}),
|
|
12023
|
-
/* @__PURE__ */ jsx63(
|
|
12022
|
+
/* @__PURE__ */ jsx63(BalanceFeedProvider, {}),
|
|
12024
12023
|
/* @__PURE__ */ jsx63(
|
|
12025
12024
|
TssManagerWithRef,
|
|
12026
12025
|
{
|