@lumiapassport/ui-kit 1.14.5 → 1.14.6
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 +663 -272
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +56 -1
- package/dist/index.d.ts +56 -1
- package/dist/index.js +627 -234
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -71,6 +71,7 @@ var init_assets = __esm({
|
|
|
71
71
|
var lumiaPassport_exports = {};
|
|
72
72
|
__export(lumiaPassport_exports, {
|
|
73
73
|
DEFAULT_LUMIA_PASSPORT_CONFIG: () => DEFAULT_LUMIA_PASSPORT_CONFIG,
|
|
74
|
+
getBlockscoutApiUrl: () => getBlockscoutApiUrl,
|
|
74
75
|
getIframeUrl: () => getIframeUrl,
|
|
75
76
|
getServiceUrls: () => getServiceUrls
|
|
76
77
|
});
|
|
@@ -104,6 +105,15 @@ function getIframeUrl() {
|
|
|
104
105
|
const iframeUrl = buildIframeUrl || config.services.iframeUrl || "https://auth.lumiapassport.com";
|
|
105
106
|
return iframeUrl;
|
|
106
107
|
}
|
|
108
|
+
function getBlockscoutApiUrl() {
|
|
109
|
+
const config = DEFAULT_LUMIA_PASSPORT_CONFIG;
|
|
110
|
+
const buildBlockscoutUrl = "https://beam-explorer.lumia.org/api/v2";
|
|
111
|
+
if (buildBlockscoutUrl) {
|
|
112
|
+
return buildBlockscoutUrl;
|
|
113
|
+
}
|
|
114
|
+
const explorerUrl = config.network.explorerUrl || "https://beam-explorer.lumia.org";
|
|
115
|
+
return `${explorerUrl.replace(/\/$/, "")}/api/v2`;
|
|
116
|
+
}
|
|
107
117
|
var DEFAULT_LUMIA_PASSPORT_CONFIG;
|
|
108
118
|
var init_lumiaPassport = __esm({
|
|
109
119
|
"src/config/lumiaPassport.tsx"() {
|
|
@@ -4319,7 +4329,7 @@ var init_profile = __esm({
|
|
|
4319
4329
|
});
|
|
4320
4330
|
|
|
4321
4331
|
// src/styles/built.css
|
|
4322
|
-
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-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 .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4332
|
+
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-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 .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-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-warning-bg\\)\\]{background-color:var(--l-pass-warning-bg)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.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-8{line-height:2rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4323
4333
|
|
|
4324
4334
|
// src/context/LumiaPassportContext.tsx
|
|
4325
4335
|
init_lumiaPassport();
|
|
@@ -4328,11 +4338,11 @@ import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-trackin
|
|
|
4328
4338
|
import { merge as merge2 } from "lodash-es";
|
|
4329
4339
|
import {
|
|
4330
4340
|
createContext,
|
|
4331
|
-
useCallback as
|
|
4341
|
+
useCallback as useCallback20,
|
|
4332
4342
|
useContext,
|
|
4333
4343
|
useEffect as useEffect33,
|
|
4334
|
-
useMemo as
|
|
4335
|
-
useRef as
|
|
4344
|
+
useMemo as useMemo5,
|
|
4345
|
+
useRef as useRef13
|
|
4336
4346
|
} from "react";
|
|
4337
4347
|
|
|
4338
4348
|
// src/context/LumiaPassportSessionContext.tsx
|
|
@@ -4358,6 +4368,10 @@ var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
|
4358
4368
|
var MAX_CONTENT_HEIGHT = 640;
|
|
4359
4369
|
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4360
4370
|
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4371
|
+
var BLOCKSCOUT_QUERY_STALE_TIME = 30 * 1e3;
|
|
4372
|
+
var BLOCKSCOUT_QUERY_GC_TIME = 5 * 60 * 1e3;
|
|
4373
|
+
var BLOCKSCOUT_REFRESH_DEBOUNCE = 2e3;
|
|
4374
|
+
var IPFS_GATEWAY = "https://ipfs.io/ipfs/";
|
|
4361
4375
|
var PROVIDERS_META2 = {
|
|
4362
4376
|
passkey: { name: "Passkey", icon: Key2, description: "Biometric authentication" },
|
|
4363
4377
|
email: { name: "Email", icon: Mail2, description: "Email verification" },
|
|
@@ -4512,7 +4526,7 @@ import { useEffect as useEffect31 } from "react";
|
|
|
4512
4526
|
// package.json
|
|
4513
4527
|
var package_default = {
|
|
4514
4528
|
name: "@lumiapassport/ui-kit",
|
|
4515
|
-
version: "1.14.
|
|
4529
|
+
version: "1.14.6",
|
|
4516
4530
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4517
4531
|
type: "module",
|
|
4518
4532
|
main: "./dist/index.cjs",
|
|
@@ -5805,7 +5819,7 @@ function useDetectMaxScrollHeight() {
|
|
|
5805
5819
|
}
|
|
5806
5820
|
|
|
5807
5821
|
// src/internal/hooks/usePageMapper.tsx
|
|
5808
|
-
import { useCallback as
|
|
5822
|
+
import { useCallback as useCallback17, useEffect as useEffect28 } from "react";
|
|
5809
5823
|
|
|
5810
5824
|
// src/internal/components/AuthMenu/AuthMenu.tsx
|
|
5811
5825
|
import { AnimatePresence, motion } from "framer-motion";
|
|
@@ -10249,174 +10263,324 @@ function UnlinkProviderMenu() {
|
|
|
10249
10263
|
|
|
10250
10264
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
10251
10265
|
import { useQueryClient as useQueryClient16 } from "@tanstack/react-query";
|
|
10252
|
-
import { ArrowLeft as ArrowLeft11, Gem, Loader as Loader16, RefreshCw } from "lucide-react";
|
|
10253
|
-
import { useCallback as
|
|
10266
|
+
import { AlertCircle as AlertCircle4, ArrowLeft as ArrowLeft11, Gem, Loader as Loader16, RefreshCw } from "lucide-react";
|
|
10267
|
+
import { useCallback as useCallback13 } from "react";
|
|
10254
10268
|
|
|
10255
|
-
// src/
|
|
10269
|
+
// src/internal/hooks/useBlockscoutAssets.ts
|
|
10270
|
+
init_lumiaPassport();
|
|
10256
10271
|
init_base();
|
|
10257
|
-
import
|
|
10258
|
-
import {
|
|
10259
|
-
import {
|
|
10260
|
-
|
|
10261
|
-
|
|
10262
|
-
|
|
10263
|
-
|
|
10264
|
-
|
|
10265
|
-
|
|
10266
|
-
|
|
10267
|
-
|
|
10268
|
-
|
|
10272
|
+
import { useCallback as useCallback12, useMemo as useMemo4, useRef as useRef12 } from "react";
|
|
10273
|
+
import { useQuery as useQuery11 } from "@tanstack/react-query";
|
|
10274
|
+
import { useBalance as useBalance2, usePublicClient } from "wagmi";
|
|
10275
|
+
import { formatUnits } from "viem";
|
|
10276
|
+
import {
|
|
10277
|
+
createBlockscoutClient
|
|
10278
|
+
} from "@lumiapassport/core/clients";
|
|
10279
|
+
var BLOCKSCOUT_QUERY_KEY = "blockscout-token-balances";
|
|
10280
|
+
var ERC3643_DETECTION_QUERY_KEY = "erc3643-detection";
|
|
10281
|
+
var ERC3643_ABI = [
|
|
10282
|
+
{
|
|
10283
|
+
name: "identityRegistry",
|
|
10284
|
+
type: "function",
|
|
10285
|
+
stateMutability: "view",
|
|
10286
|
+
inputs: [],
|
|
10287
|
+
outputs: [{ name: "", type: "address" }]
|
|
10288
|
+
}
|
|
10269
10289
|
];
|
|
10270
|
-
function
|
|
10271
|
-
|
|
10290
|
+
function resolveIpfsUri(uri) {
|
|
10291
|
+
if (!uri) return "";
|
|
10292
|
+
if (uri.startsWith("ipfs://")) {
|
|
10293
|
+
return uri.replace("ipfs://", IPFS_GATEWAY);
|
|
10294
|
+
}
|
|
10295
|
+
if (uri.startsWith("data:application/json")) {
|
|
10296
|
+
return uri;
|
|
10297
|
+
}
|
|
10298
|
+
return uri;
|
|
10299
|
+
}
|
|
10300
|
+
function mapTokenType(blockscoutType) {
|
|
10301
|
+
switch (blockscoutType) {
|
|
10302
|
+
case "ERC-20":
|
|
10303
|
+
return "erc20";
|
|
10304
|
+
case "ERC-721":
|
|
10305
|
+
return "erc721";
|
|
10306
|
+
case "ERC-1155":
|
|
10307
|
+
return "erc1155";
|
|
10308
|
+
default:
|
|
10309
|
+
return "erc20";
|
|
10310
|
+
}
|
|
10311
|
+
}
|
|
10312
|
+
function mapBlockscoutToAsset(balance) {
|
|
10313
|
+
const { token, value, token_id, token_instance } = balance;
|
|
10314
|
+
const type = mapTokenType(token.type);
|
|
10315
|
+
const decimals = token.decimals ? parseInt(token.decimals, 10) : void 0;
|
|
10316
|
+
let formattedBalance;
|
|
10317
|
+
if (type === "erc721") {
|
|
10318
|
+
formattedBalance = "1";
|
|
10319
|
+
} else if (decimals !== void 0) {
|
|
10320
|
+
formattedBalance = parseFloat(formatUnits(BigInt(value), decimals)).toFixed(4);
|
|
10321
|
+
} else {
|
|
10322
|
+
formattedBalance = value;
|
|
10323
|
+
}
|
|
10324
|
+
const asset = {
|
|
10325
|
+
type,
|
|
10326
|
+
address: token.address,
|
|
10327
|
+
name: token.name || "Unknown Token",
|
|
10328
|
+
symbol: token.symbol || "???",
|
|
10329
|
+
balance: value,
|
|
10330
|
+
formattedBalance,
|
|
10331
|
+
decimals,
|
|
10332
|
+
logo: token.icon_url || void 0
|
|
10333
|
+
};
|
|
10334
|
+
if (type === "erc721" || type === "erc1155") {
|
|
10335
|
+
asset.tokenId = token_id || void 0;
|
|
10336
|
+
if (token_instance?.metadata) {
|
|
10337
|
+
const metadata = token_instance.metadata;
|
|
10338
|
+
asset.image = metadata.image ? resolveIpfsUri(metadata.image) : void 0;
|
|
10339
|
+
asset.nftMetadata = {
|
|
10340
|
+
name: metadata.name,
|
|
10341
|
+
description: metadata.description,
|
|
10342
|
+
image: asset.image,
|
|
10343
|
+
externalUrl: metadata.external_url,
|
|
10344
|
+
collectionName: token.name,
|
|
10345
|
+
attributes: metadata.attributes
|
|
10346
|
+
};
|
|
10347
|
+
}
|
|
10348
|
+
}
|
|
10349
|
+
return asset;
|
|
10350
|
+
}
|
|
10351
|
+
function mapBlockscoutNftToAsset(nft) {
|
|
10352
|
+
const { token, value, id, image_url, metadata } = nft;
|
|
10353
|
+
const type = mapTokenType(token.type);
|
|
10354
|
+
const imageUrl = image_url || (metadata?.image ? resolveIpfsUri(metadata.image) : void 0);
|
|
10355
|
+
const asset = {
|
|
10356
|
+
type,
|
|
10357
|
+
address: token.address,
|
|
10358
|
+
name: token.name || "Unknown NFT",
|
|
10359
|
+
symbol: token.symbol || "???",
|
|
10360
|
+
balance: value || "1",
|
|
10361
|
+
formattedBalance: "1",
|
|
10362
|
+
tokenId: id,
|
|
10363
|
+
logo: token.icon_url || void 0,
|
|
10364
|
+
image: imageUrl,
|
|
10365
|
+
nftMetadata: {
|
|
10366
|
+
name: metadata?.name,
|
|
10367
|
+
description: metadata?.description,
|
|
10368
|
+
image: imageUrl,
|
|
10369
|
+
externalUrl: metadata?.external_url,
|
|
10370
|
+
collectionName: token.name,
|
|
10371
|
+
attributes: metadata?.attributes
|
|
10372
|
+
}
|
|
10373
|
+
};
|
|
10374
|
+
return asset;
|
|
10375
|
+
}
|
|
10376
|
+
function createError(error) {
|
|
10377
|
+
if (error instanceof Error) {
|
|
10378
|
+
const message = error.message;
|
|
10379
|
+
if (message.includes("abort") || message.includes("timeout")) {
|
|
10380
|
+
return {
|
|
10381
|
+
type: "timeout",
|
|
10382
|
+
message: "Unable to load token list - request timed out",
|
|
10383
|
+
retryable: true
|
|
10384
|
+
};
|
|
10385
|
+
}
|
|
10386
|
+
if (message.includes("network") || message.includes("fetch")) {
|
|
10387
|
+
return {
|
|
10388
|
+
type: "network",
|
|
10389
|
+
message: "Unable to load token list - network error",
|
|
10390
|
+
retryable: true
|
|
10391
|
+
};
|
|
10392
|
+
}
|
|
10393
|
+
if (message.includes("Blockscout") || message.includes("API")) {
|
|
10394
|
+
return {
|
|
10395
|
+
type: "api",
|
|
10396
|
+
message: "Token service unavailable",
|
|
10397
|
+
retryable: true
|
|
10398
|
+
};
|
|
10399
|
+
}
|
|
10400
|
+
return {
|
|
10401
|
+
type: "unknown",
|
|
10402
|
+
message: "Unable to load token list",
|
|
10403
|
+
retryable: true
|
|
10404
|
+
};
|
|
10405
|
+
}
|
|
10406
|
+
return {
|
|
10407
|
+
type: "unknown",
|
|
10408
|
+
message: "Unable to load token list",
|
|
10409
|
+
retryable: true
|
|
10410
|
+
};
|
|
10411
|
+
}
|
|
10412
|
+
function useBlockscoutAssets(options) {
|
|
10413
|
+
const { address, enabled = true, detectSecurityTokens = true } = options;
|
|
10414
|
+
const blockscoutApiUrl = getBlockscoutApiUrl();
|
|
10415
|
+
const blockscoutClient = useMemo4(
|
|
10416
|
+
() => createBlockscoutClient({ baseUrl: blockscoutApiUrl }),
|
|
10417
|
+
[blockscoutApiUrl]
|
|
10418
|
+
);
|
|
10419
|
+
const publicClient2 = usePublicClient({ chainId: lumiaBeam.id });
|
|
10420
|
+
const lastRefreshRef = useRef12(0);
|
|
10421
|
+
const {
|
|
10422
|
+
data: nativeBalanceData,
|
|
10423
|
+
isLoading: nativeLoading,
|
|
10424
|
+
refetch: refetchNative
|
|
10425
|
+
} = useBalance2({
|
|
10272
10426
|
address,
|
|
10273
10427
|
chainId: lumiaBeam.id,
|
|
10274
10428
|
query: {
|
|
10275
|
-
enabled: !!address
|
|
10429
|
+
enabled: !!address && enabled
|
|
10276
10430
|
}
|
|
10277
10431
|
});
|
|
10278
|
-
const
|
|
10279
|
-
|
|
10280
|
-
|
|
10281
|
-
|
|
10282
|
-
|
|
10283
|
-
|
|
10284
|
-
}
|
|
10285
|
-
|
|
10286
|
-
|
|
10287
|
-
|
|
10288
|
-
|
|
10289
|
-
|
|
10432
|
+
const {
|
|
10433
|
+
data: tokenBalances,
|
|
10434
|
+
isLoading: tokensLoading,
|
|
10435
|
+
error: tokensError,
|
|
10436
|
+
refetch: refetchTokens,
|
|
10437
|
+
dataUpdatedAt
|
|
10438
|
+
} = useQuery11({
|
|
10439
|
+
queryKey: [BLOCKSCOUT_QUERY_KEY, address, blockscoutApiUrl],
|
|
10440
|
+
queryFn: () => blockscoutClient.getTokenBalances(address),
|
|
10441
|
+
enabled: !!address && enabled,
|
|
10442
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
|
|
10443
|
+
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
10444
|
+
retry: 2,
|
|
10445
|
+
retryDelay: 1e3
|
|
10290
10446
|
});
|
|
10291
|
-
const {
|
|
10292
|
-
|
|
10293
|
-
|
|
10294
|
-
|
|
10295
|
-
|
|
10447
|
+
const {
|
|
10448
|
+
data: nftItems,
|
|
10449
|
+
isLoading: nftsLoading,
|
|
10450
|
+
refetch: refetchNfts
|
|
10451
|
+
} = useQuery11({
|
|
10452
|
+
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", address, blockscoutApiUrl],
|
|
10453
|
+
queryFn: () => blockscoutClient.getNfts(address),
|
|
10454
|
+
enabled: !!address && enabled,
|
|
10455
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
|
|
10456
|
+
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
10457
|
+
retry: 2,
|
|
10458
|
+
retryDelay: 1e3
|
|
10459
|
+
});
|
|
10460
|
+
const erc20TokenAddresses = useMemo4(() => {
|
|
10461
|
+
if (!tokenBalances) return [];
|
|
10462
|
+
return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address);
|
|
10463
|
+
}, [tokenBalances]);
|
|
10464
|
+
const { data: erc3643Results } = useQuery11({
|
|
10465
|
+
queryKey: [ERC3643_DETECTION_QUERY_KEY, address, erc20TokenAddresses],
|
|
10466
|
+
queryFn: async () => {
|
|
10467
|
+
if (!publicClient2 || erc20TokenAddresses.length === 0) {
|
|
10468
|
+
return /* @__PURE__ */ new Map();
|
|
10469
|
+
}
|
|
10470
|
+
const results = /* @__PURE__ */ new Map();
|
|
10471
|
+
const batchSize = 10;
|
|
10472
|
+
for (let i = 0; i < erc20TokenAddresses.length; i += batchSize) {
|
|
10473
|
+
const batch = erc20TokenAddresses.slice(i, i + batchSize);
|
|
10474
|
+
const promises = batch.map(async (tokenAddress) => {
|
|
10475
|
+
try {
|
|
10476
|
+
const registry = await publicClient2.readContract({
|
|
10477
|
+
address: tokenAddress,
|
|
10478
|
+
abi: ERC3643_ABI,
|
|
10479
|
+
functionName: "identityRegistry"
|
|
10480
|
+
});
|
|
10481
|
+
if (registry && registry !== "0x0000000000000000000000000000000000000000") {
|
|
10482
|
+
return { tokenAddress, registry };
|
|
10483
|
+
}
|
|
10484
|
+
return null;
|
|
10485
|
+
} catch {
|
|
10486
|
+
return null;
|
|
10487
|
+
}
|
|
10488
|
+
});
|
|
10489
|
+
const batchResults = await Promise.allSettled(promises);
|
|
10490
|
+
batchResults.forEach((result) => {
|
|
10491
|
+
if (result.status === "fulfilled" && result.value) {
|
|
10492
|
+
results.set(result.value.tokenAddress.toLowerCase(), result.value.registry);
|
|
10493
|
+
}
|
|
10494
|
+
});
|
|
10495
|
+
}
|
|
10496
|
+
return results;
|
|
10497
|
+
},
|
|
10498
|
+
enabled: !!address && enabled && detectSecurityTokens && erc20TokenAddresses.length > 0 && !!publicClient2,
|
|
10499
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME * 2,
|
|
10500
|
+
// Less frequent refresh for contract calls
|
|
10501
|
+
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
10502
|
+
retry: 1
|
|
10503
|
+
});
|
|
10504
|
+
const assets = useMemo4(() => {
|
|
10505
|
+
const result = [];
|
|
10506
|
+
if (nativeBalanceData) {
|
|
10507
|
+
result.push({
|
|
10296
10508
|
type: "native",
|
|
10297
10509
|
name: "Lumia",
|
|
10298
10510
|
symbol: "LUMIA",
|
|
10299
|
-
balance:
|
|
10300
|
-
formattedBalance: parseFloat(
|
|
10511
|
+
balance: nativeBalanceData.value.toString(),
|
|
10512
|
+
formattedBalance: parseFloat(nativeBalanceData.formatted).toFixed(4),
|
|
10301
10513
|
decimals: 18
|
|
10302
10514
|
});
|
|
10303
10515
|
}
|
|
10304
|
-
if (tokenBalances
|
|
10305
|
-
tokenBalances.
|
|
10306
|
-
|
|
10307
|
-
|
|
10308
|
-
|
|
10309
|
-
const
|
|
10310
|
-
|
|
10311
|
-
type
|
|
10312
|
-
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
decimals: token.decimals,
|
|
10318
|
-
logo: token.logo
|
|
10319
|
-
});
|
|
10516
|
+
if (tokenBalances) {
|
|
10517
|
+
const erc20Tokens = tokenBalances.filter((balance) => balance.token.type === "ERC-20");
|
|
10518
|
+
const mappedTokens = erc20Tokens.map((balance) => {
|
|
10519
|
+
const asset = mapBlockscoutToAsset(balance);
|
|
10520
|
+
if (asset.type === "erc20" && asset.address && erc3643Results) {
|
|
10521
|
+
const registryAddress = erc3643Results.get(asset.address.toLowerCase());
|
|
10522
|
+
if (registryAddress) {
|
|
10523
|
+
asset.type = "erc3643";
|
|
10524
|
+
asset.complianceStatus = {
|
|
10525
|
+
isSecurityToken: true,
|
|
10526
|
+
identityRegistry: registryAddress
|
|
10527
|
+
};
|
|
10528
|
+
}
|
|
10320
10529
|
}
|
|
10530
|
+
return asset;
|
|
10321
10531
|
});
|
|
10532
|
+
result.push(...mappedTokens);
|
|
10322
10533
|
}
|
|
10323
|
-
|
|
10324
|
-
|
|
10325
|
-
|
|
10326
|
-
const tokenIndex = COMMON_TOKENS.findIndex(
|
|
10327
|
-
(token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
|
|
10328
|
-
);
|
|
10329
|
-
if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
|
|
10330
|
-
return null;
|
|
10331
|
-
}
|
|
10332
|
-
const balance = tokenBalances[tokenIndex];
|
|
10333
|
-
const token = COMMON_TOKENS[tokenIndex];
|
|
10334
|
-
if (balance.status === "success" && balance.result) {
|
|
10335
|
-
const balanceValue = balance.result;
|
|
10336
|
-
const formattedBalance = formatUnits(balanceValue, token.decimals);
|
|
10337
|
-
return {
|
|
10338
|
-
address: token.address,
|
|
10339
|
-
name: token.name,
|
|
10340
|
-
symbol: token.symbol,
|
|
10341
|
-
decimals: token.decimals,
|
|
10342
|
-
balance: balanceValue.toString(),
|
|
10343
|
-
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
10344
|
-
logo: token.logo
|
|
10345
|
-
};
|
|
10534
|
+
if (nftItems && nftItems.length > 0) {
|
|
10535
|
+
const mappedNfts = nftItems.map(mapBlockscoutNftToAsset);
|
|
10536
|
+
result.push(...mappedNfts);
|
|
10346
10537
|
}
|
|
10347
|
-
return
|
|
10348
|
-
};
|
|
10349
|
-
const
|
|
10350
|
-
|
|
10351
|
-
refetchNativeBalance(),
|
|
10352
|
-
refetchTokenBalances()
|
|
10353
|
-
]);
|
|
10354
|
-
};
|
|
10355
|
-
return {
|
|
10356
|
-
nativeBalance,
|
|
10357
|
-
tokenBalances,
|
|
10358
|
-
assets: getAllAssets(),
|
|
10359
|
-
getTokenBalance,
|
|
10360
|
-
refreshBalances,
|
|
10361
|
-
isLoading: nativeBalanceLoading || tokenBalancesLoading,
|
|
10362
|
-
isConnected: !!address
|
|
10363
|
-
};
|
|
10364
|
-
}
|
|
10365
|
-
function useTokenInfo(tokenAddress) {
|
|
10366
|
-
const readContractsResult = useReadContracts({
|
|
10367
|
-
contracts: [
|
|
10368
|
-
{ address: tokenAddress, abi: erc20Abi, functionName: "name", chainId: lumiaBeam.id },
|
|
10369
|
-
{ address: tokenAddress, abi: erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
|
|
10370
|
-
{ address: tokenAddress, abi: erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
|
|
10371
|
-
]
|
|
10372
|
-
});
|
|
10373
|
-
const { data: tokenData, isLoading } = readContractsResult;
|
|
10374
|
-
if (!tokenData || isLoading) {
|
|
10375
|
-
return { isLoading, tokenInfo: null };
|
|
10376
|
-
}
|
|
10377
|
-
const [nameResult, symbolResult, decimalsResult] = tokenData;
|
|
10378
|
-
if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
|
|
10538
|
+
return result;
|
|
10539
|
+
}, [nativeBalanceData, tokenBalances, nftItems, erc3643Results]);
|
|
10540
|
+
const nativeBalance = useMemo4(() => {
|
|
10541
|
+
if (!nativeBalanceData) return null;
|
|
10379
10542
|
return {
|
|
10380
|
-
|
|
10381
|
-
|
|
10382
|
-
|
|
10383
|
-
symbol: symbolResult.result,
|
|
10384
|
-
decimals: decimalsResult.result,
|
|
10385
|
-
address: tokenAddress
|
|
10386
|
-
}
|
|
10543
|
+
value: nativeBalanceData.value,
|
|
10544
|
+
formatted: nativeBalanceData.formatted,
|
|
10545
|
+
symbol: "LUMIA"
|
|
10387
10546
|
};
|
|
10388
|
-
}
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10393
|
-
|
|
10394
|
-
|
|
10395
|
-
|
|
10396
|
-
|
|
10397
|
-
chainId: lumiaBeam.id,
|
|
10398
|
-
query: {
|
|
10399
|
-
enabled: !!userAddress
|
|
10547
|
+
}, [nativeBalanceData]);
|
|
10548
|
+
const error = useMemo4(() => {
|
|
10549
|
+
if (!tokensError) return null;
|
|
10550
|
+
return createError(tokensError);
|
|
10551
|
+
}, [tokensError]);
|
|
10552
|
+
const refreshBalances = useCallback12(async () => {
|
|
10553
|
+
const now = Date.now();
|
|
10554
|
+
if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
|
|
10555
|
+
return;
|
|
10400
10556
|
}
|
|
10401
|
-
|
|
10402
|
-
|
|
10403
|
-
|
|
10404
|
-
|
|
10405
|
-
|
|
10406
|
-
|
|
10557
|
+
lastRefreshRef.current = now;
|
|
10558
|
+
await Promise.all([refetchNative(), refetchTokens(), refetchNfts()]);
|
|
10559
|
+
}, [refetchNative, refetchTokens, refetchNfts]);
|
|
10560
|
+
const getTokenBalance = useCallback12(
|
|
10561
|
+
(tokenAddress) => {
|
|
10562
|
+
return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
|
|
10563
|
+
},
|
|
10564
|
+
[assets]
|
|
10565
|
+
);
|
|
10407
10566
|
return {
|
|
10408
|
-
|
|
10409
|
-
|
|
10410
|
-
|
|
10411
|
-
|
|
10412
|
-
|
|
10567
|
+
nativeBalance,
|
|
10568
|
+
assets,
|
|
10569
|
+
isLoading: nativeLoading || tokensLoading || nftsLoading,
|
|
10570
|
+
isInitialLoading: nativeLoading && !nativeBalanceData,
|
|
10571
|
+
error,
|
|
10572
|
+
isBlockscoutAvailable: !tokensError,
|
|
10573
|
+
refreshBalances,
|
|
10574
|
+
getTokenBalance,
|
|
10575
|
+
lastUpdated: dataUpdatedAt || null
|
|
10413
10576
|
};
|
|
10414
10577
|
}
|
|
10415
10578
|
|
|
10416
10579
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
10417
10580
|
init_base();
|
|
10418
|
-
import { useQuery as
|
|
10419
|
-
import { Loader as Loader15 } from "lucide-react";
|
|
10581
|
+
import { useQuery as useQuery12, useQueryClient as useQueryClient15 } from "@tanstack/react-query";
|
|
10582
|
+
import { Image as ImageIcon, Loader as Loader15, Shield, Sparkles } from "lucide-react";
|
|
10583
|
+
import { useState as useState10 } from "react";
|
|
10420
10584
|
import { Fragment as Fragment15, jsx as jsx52, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
10421
10585
|
var price16 = Intl.NumberFormat("en-US", { minimumFractionDigits: 16, maximumFractionDigits: 16 });
|
|
10422
10586
|
function formatValue(price) {
|
|
@@ -10436,6 +10600,18 @@ function formatValue(price) {
|
|
|
10436
10600
|
function openInExplorer(address) {
|
|
10437
10601
|
window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
|
|
10438
10602
|
}
|
|
10603
|
+
function isNftAsset(asset) {
|
|
10604
|
+
if (!("type" in asset)) return false;
|
|
10605
|
+
return asset.type === "erc721" || asset.type === "erc1155";
|
|
10606
|
+
}
|
|
10607
|
+
function getNftImage(asset) {
|
|
10608
|
+
if (!("type" in asset)) return void 0;
|
|
10609
|
+
return asset.image || asset.nftMetadata?.image;
|
|
10610
|
+
}
|
|
10611
|
+
function isSecurityToken(asset) {
|
|
10612
|
+
if (!("type" in asset)) return false;
|
|
10613
|
+
return asset.type === "erc3643";
|
|
10614
|
+
}
|
|
10439
10615
|
async function getAssetRate2(symbol) {
|
|
10440
10616
|
const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}USDT`;
|
|
10441
10617
|
const response = await fetch(assetURL);
|
|
@@ -10444,14 +10620,18 @@ async function getAssetRate2(symbol) {
|
|
|
10444
10620
|
var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
|
|
10445
10621
|
function PortfolioItem(props) {
|
|
10446
10622
|
const { address, asset, isProjectAsset } = props;
|
|
10623
|
+
const [nftImageError, setNftImageError] = useState10(false);
|
|
10447
10624
|
const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
|
|
10448
10625
|
const qc = useQueryClient15();
|
|
10449
10626
|
const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
|
|
10450
10627
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
10451
|
-
const
|
|
10628
|
+
const isNft = isNftAsset(asset);
|
|
10629
|
+
const nftImage = getNftImage(asset);
|
|
10630
|
+
const isSecurity = isSecurityToken(asset);
|
|
10631
|
+
const { data: assetRate, isLoading: isRateLoading } = useQuery12({
|
|
10452
10632
|
retry: false,
|
|
10453
10633
|
staleTime: 4 * 60 * 1e3,
|
|
10454
|
-
enabled: !!address && !!asset.symbol && !isProjectAsset,
|
|
10634
|
+
enabled: !!address && !!asset.symbol && !isProjectAsset && !isNft && !isSecurity,
|
|
10455
10635
|
queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
|
|
10456
10636
|
queryFn: async () => await getAssetRate2(asset.symbol)
|
|
10457
10637
|
});
|
|
@@ -10467,22 +10647,68 @@ function PortfolioItem(props) {
|
|
|
10467
10647
|
),
|
|
10468
10648
|
onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
|
|
10469
10649
|
children: [
|
|
10470
|
-
/* @__PURE__ */
|
|
10650
|
+
/* @__PURE__ */ jsxs43(
|
|
10471
10651
|
"div",
|
|
10472
10652
|
{
|
|
10473
10653
|
className: cn(
|
|
10474
|
-
"flex-none
|
|
10475
|
-
"group-hover:opacity-60 transition-opacity"
|
|
10654
|
+
"flex-none flex items-center justify-center overflow-hidden relative",
|
|
10655
|
+
"group-hover:opacity-60 transition-opacity",
|
|
10656
|
+
// NFTs get rounded corners, tokens get circular
|
|
10657
|
+
isNft ? "w-12 h-12 rounded-lg" : "w-10 h-10 rounded-full",
|
|
10658
|
+
!asset.logo && !nftImage && "bg-[var(--l-pass-fg)]"
|
|
10476
10659
|
),
|
|
10477
|
-
children:
|
|
10660
|
+
children: [
|
|
10661
|
+
isNft && nftImage && !nftImageError ? /* @__PURE__ */ jsx52(
|
|
10662
|
+
"img",
|
|
10663
|
+
{
|
|
10664
|
+
src: nftImage,
|
|
10665
|
+
alt: asset.nftMetadata?.name || asset.name,
|
|
10666
|
+
className: "w-full h-full object-cover",
|
|
10667
|
+
onError: () => setNftImageError(true)
|
|
10668
|
+
}
|
|
10669
|
+
) : isNft && (!nftImage || nftImageError) ? (
|
|
10670
|
+
// NFT placeholder when no image available
|
|
10671
|
+
/* @__PURE__ */ jsx52("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx52(ImageIcon, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
|
|
10672
|
+
) : asset.logo ? /* @__PURE__ */ jsx52(
|
|
10673
|
+
"img",
|
|
10674
|
+
{
|
|
10675
|
+
src: asset.logo,
|
|
10676
|
+
alt: asset.symbol,
|
|
10677
|
+
className: "w-full h-full object-cover",
|
|
10678
|
+
onError: (e) => {
|
|
10679
|
+
const target = e.target;
|
|
10680
|
+
target.style.display = "none";
|
|
10681
|
+
target.parentElement.classList.add("bg-[var(--l-pass-fg)]");
|
|
10682
|
+
target.parentElement.innerHTML = `<span class="text-[var(--l-pass-fg-inverted)] font-bold text-sm">${asset.symbol.charAt(0)}</span>`;
|
|
10683
|
+
}
|
|
10684
|
+
}
|
|
10685
|
+
) : /* @__PURE__ */ jsx52("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
|
|
10686
|
+
isNft && /* @__PURE__ */ jsx52("div", { className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ jsx52(Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
|
|
10687
|
+
isSecurity && /* @__PURE__ */ jsx52(
|
|
10688
|
+
"div",
|
|
10689
|
+
{
|
|
10690
|
+
className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-amber-500 flex items-center justify-center",
|
|
10691
|
+
title: "Security Token (ERC-3643)",
|
|
10692
|
+
children: /* @__PURE__ */ jsx52(Shield, { className: "w-2.5 h-2.5 text-white" })
|
|
10693
|
+
}
|
|
10694
|
+
)
|
|
10695
|
+
]
|
|
10478
10696
|
}
|
|
10479
10697
|
),
|
|
10480
10698
|
/* @__PURE__ */ jsxs43("div", { className: "w-full flex-1", children: [
|
|
10481
10699
|
/* @__PURE__ */ jsxs43("div", { className: "w-full flex items-center justify-between text-xs", children: [
|
|
10482
|
-
/* @__PURE__ */ jsx52("span", { children: asset.name }),
|
|
10483
|
-
!isProjectAsset && /* @__PURE__ */ jsx52("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" })
|
|
10700
|
+
/* @__PURE__ */ jsx52("span", { className: "truncate max-w-[150px]", title: isNft ? asset.nftMetadata?.collectionName || asset.name : asset.name, children: isNft ? asset.nftMetadata?.collectionName || asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") : asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") }),
|
|
10701
|
+
!isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ jsx52("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
|
|
10702
|
+
isNft && "type" in asset && /* @__PURE__ */ jsx52("span", { className: "text-[var(--l-pass-fg-muted)] uppercase text-[10px]", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
|
|
10703
|
+
isSecurity && /* @__PURE__ */ jsx52("span", { className: "text-amber-500 uppercase text-[10px] font-medium", children: "Security Token" })
|
|
10484
10704
|
] }),
|
|
10485
|
-
/* @__PURE__ */
|
|
10705
|
+
/* @__PURE__ */ jsx52("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ jsxs43(Fragment15, { children: [
|
|
10706
|
+
/* @__PURE__ */ jsx52("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
|
|
10707
|
+
"tokenId" in asset && asset.tokenId && /* @__PURE__ */ jsxs43("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
|
|
10708
|
+
"#",
|
|
10709
|
+
asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
|
|
10710
|
+
] })
|
|
10711
|
+
] }) : /* @__PURE__ */ jsxs43(Fragment15, { children: [
|
|
10486
10712
|
/* @__PURE__ */ jsxs43("span", { children: [
|
|
10487
10713
|
/* @__PURE__ */ jsx52("span", { children: formatValue(Number(renderBalance)) }),
|
|
10488
10714
|
/* @__PURE__ */ jsx52("span", { children: " " + asset.symbol })
|
|
@@ -10494,7 +10720,7 @@ function PortfolioItem(props) {
|
|
|
10494
10720
|
currency: "USD",
|
|
10495
10721
|
style: "currency"
|
|
10496
10722
|
}) })
|
|
10497
|
-
] })
|
|
10723
|
+
] }) })
|
|
10498
10724
|
] })
|
|
10499
10725
|
]
|
|
10500
10726
|
}
|
|
@@ -10511,8 +10737,10 @@ function PortfolioMenu() {
|
|
|
10511
10737
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10512
10738
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10513
10739
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10514
|
-
const { assets, refreshBalances, isLoading } =
|
|
10515
|
-
|
|
10740
|
+
const { assets, refreshBalances, isLoading, error, isBlockscoutAvailable } = useBlockscoutAssets({
|
|
10741
|
+
address
|
|
10742
|
+
});
|
|
10743
|
+
const refreshAllAssetsBalances = useCallback13(() => {
|
|
10516
10744
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10517
10745
|
refreshBalances();
|
|
10518
10746
|
}, [qc, projectAssets, refreshBalances]);
|
|
@@ -10541,6 +10769,10 @@ function PortfolioMenu() {
|
|
|
10541
10769
|
)
|
|
10542
10770
|
] }),
|
|
10543
10771
|
/* @__PURE__ */ jsxs44("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10772
|
+
error && !isBlockscoutAvailable && /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center gap-2 p-3 rounded-lg bg-[var(--l-pass-warning-bg)] text-[var(--l-pass-warning)]", children: [
|
|
10773
|
+
/* @__PURE__ */ jsx53(AlertCircle4, { className: "h-4 w-4 flex-shrink-0" }),
|
|
10774
|
+
/* @__PURE__ */ jsx53("span", { className: "text-sm", children: error.message })
|
|
10775
|
+
] }),
|
|
10544
10776
|
isLoading && /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
10545
10777
|
/* @__PURE__ */ jsx53(Loader16, { className: "h-5 w-5 animate-spin" }),
|
|
10546
10778
|
/* @__PURE__ */ jsx53("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
|
|
@@ -10557,7 +10789,7 @@ function PortfolioMenu() {
|
|
|
10557
10789
|
address,
|
|
10558
10790
|
asset
|
|
10559
10791
|
},
|
|
10560
|
-
`${asset.type}-${asset.address || "native"}-${index}`
|
|
10792
|
+
`${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
|
|
10561
10793
|
))
|
|
10562
10794
|
] })
|
|
10563
10795
|
] })
|
|
@@ -10569,7 +10801,7 @@ function PortfolioMenu() {
|
|
|
10569
10801
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
10570
10802
|
init_auth();
|
|
10571
10803
|
init_keyshare();
|
|
10572
|
-
import { useQuery as
|
|
10804
|
+
import { useQuery as useQuery13, useQueryClient as useQueryClient17 } from "@tanstack/react-query";
|
|
10573
10805
|
import {
|
|
10574
10806
|
AlertTriangle as AlertTriangle4,
|
|
10575
10807
|
ArrowLeft as ArrowLeft12,
|
|
@@ -10580,10 +10812,10 @@ import {
|
|
|
10580
10812
|
Loader as Loader17,
|
|
10581
10813
|
RefreshCw as RefreshCw2,
|
|
10582
10814
|
Server as Server2,
|
|
10583
|
-
Shield,
|
|
10815
|
+
Shield as Shield2,
|
|
10584
10816
|
Trash2 as Trash22
|
|
10585
10817
|
} from "lucide-react";
|
|
10586
|
-
import { useEffect as useEffect24, useState as
|
|
10818
|
+
import { useEffect as useEffect24, useState as useState11 } from "react";
|
|
10587
10819
|
init_iframe_manager();
|
|
10588
10820
|
init_vaultClient();
|
|
10589
10821
|
import { jsx as jsx54, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
@@ -10605,21 +10837,21 @@ function SecurityMenu() {
|
|
|
10605
10837
|
useEffect24(() => {
|
|
10606
10838
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
10607
10839
|
}, [userId, setPage]);
|
|
10608
|
-
const [localInfo, setLocalInfo] =
|
|
10609
|
-
const [recoveryCreatedAt, setRecoveryCreatedAt] =
|
|
10610
|
-
const [recoveryBrowser, setRecoveryBrowser] =
|
|
10611
|
-
const [recoveryUa, setRecoveryUa] =
|
|
10612
|
-
const [recoveryDeviceId, setRecoveryDeviceId] =
|
|
10613
|
-
const [recoveryDeviceName, setRecoveryDeviceName] =
|
|
10614
|
-
const [recoveryCountry, setRecoveryCountry] =
|
|
10615
|
-
const [hasServerBackup, setHasServerBackup] =
|
|
10616
|
-
const [trustedApps, setTrustedApps] =
|
|
10617
|
-
const [appToRemove, setAppToRemove] =
|
|
10840
|
+
const [localInfo, setLocalInfo] = useState11(null);
|
|
10841
|
+
const [recoveryCreatedAt, setRecoveryCreatedAt] = useState11(null);
|
|
10842
|
+
const [recoveryBrowser, setRecoveryBrowser] = useState11(null);
|
|
10843
|
+
const [recoveryUa, setRecoveryUa] = useState11(null);
|
|
10844
|
+
const [recoveryDeviceId, setRecoveryDeviceId] = useState11(null);
|
|
10845
|
+
const [recoveryDeviceName, setRecoveryDeviceName] = useState11(null);
|
|
10846
|
+
const [recoveryCountry, setRecoveryCountry] = useState11(null);
|
|
10847
|
+
const [hasServerBackup, setHasServerBackup] = useState11(false);
|
|
10848
|
+
const [trustedApps, setTrustedApps] = useState11([]);
|
|
10849
|
+
const [appToRemove, setAppToRemove] = useState11(null);
|
|
10618
10850
|
const {
|
|
10619
10851
|
data: recoveryData,
|
|
10620
10852
|
isFetching: isRecoveryRefreshing
|
|
10621
10853
|
// error: recoveryError
|
|
10622
|
-
} =
|
|
10854
|
+
} = useQuery13({
|
|
10623
10855
|
enabled: !!userId,
|
|
10624
10856
|
queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
|
|
10625
10857
|
queryFn: async () => {
|
|
@@ -10718,7 +10950,7 @@ function SecurityMenu() {
|
|
|
10718
10950
|
] }),
|
|
10719
10951
|
/* @__PURE__ */ jsxs45("div", { className: "space-y-2 text-center", children: [
|
|
10720
10952
|
/* @__PURE__ */ jsxs45("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
|
|
10721
|
-
/* @__PURE__ */ jsx54(
|
|
10953
|
+
/* @__PURE__ */ jsx54(Shield2, { className: "h-4 w-4" }),
|
|
10722
10954
|
/* @__PURE__ */ jsx54("span", { className: "text-xs font-medium", children: "Vault" })
|
|
10723
10955
|
] }),
|
|
10724
10956
|
/* @__PURE__ */ jsxs45(
|
|
@@ -10864,22 +11096,22 @@ function SecurityMenu() {
|
|
|
10864
11096
|
}
|
|
10865
11097
|
|
|
10866
11098
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10867
|
-
import { AlertCircle as
|
|
10868
|
-
import { useEffect as useEffect25, useState as
|
|
11099
|
+
import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft13, CheckCircle2 as CheckCircle24, Loader as Loader18, Wallet as Wallet3 } from "lucide-react";
|
|
11100
|
+
import { useEffect as useEffect25, useState as useState13 } from "react";
|
|
10869
11101
|
import { isAddress as isAddress2 } from "viem";
|
|
10870
|
-
import { useBalance as
|
|
11102
|
+
import { useBalance as useBalance4 } from "wagmi";
|
|
10871
11103
|
|
|
10872
11104
|
// src/hooks/useSendTransaction.ts
|
|
10873
|
-
import { useCallback as
|
|
11105
|
+
import { useCallback as useCallback14, useState as useState12 } from "react";
|
|
10874
11106
|
import { isAddress, parseEther as parseEther2 } from "viem";
|
|
10875
11107
|
init_account();
|
|
10876
11108
|
function useSendTransaction() {
|
|
10877
11109
|
const session = useLumiaPassportSession((st) => st.session);
|
|
10878
11110
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10879
|
-
const [isLoading, setIsLoading] =
|
|
10880
|
-
const [error, setError] =
|
|
10881
|
-
const [userOpHash, setUserOpHash] =
|
|
10882
|
-
const sendTransaction =
|
|
11111
|
+
const [isLoading, setIsLoading] = useState12(false);
|
|
11112
|
+
const [error, setError] = useState12(null);
|
|
11113
|
+
const [userOpHash, setUserOpHash] = useState12(null);
|
|
11114
|
+
const sendTransaction = useCallback14(
|
|
10883
11115
|
async (params) => {
|
|
10884
11116
|
if (!session || !address) {
|
|
10885
11117
|
setError("No active session");
|
|
@@ -10919,7 +11151,7 @@ function useSendTransaction() {
|
|
|
10919
11151
|
},
|
|
10920
11152
|
[session, address]
|
|
10921
11153
|
);
|
|
10922
|
-
const reset =
|
|
11154
|
+
const reset = useCallback14(() => {
|
|
10923
11155
|
setError(null);
|
|
10924
11156
|
setUserOpHash(null);
|
|
10925
11157
|
setIsLoading(false);
|
|
@@ -10933,6 +11165,167 @@ function useSendTransaction() {
|
|
|
10933
11165
|
};
|
|
10934
11166
|
}
|
|
10935
11167
|
|
|
11168
|
+
// src/modules/assets.ts
|
|
11169
|
+
init_base();
|
|
11170
|
+
import React8 from "react";
|
|
11171
|
+
import { useBalance as useBalance3, useReadContract, useReadContracts } from "wagmi";
|
|
11172
|
+
import { formatUnits as formatUnits2, erc20Abi } from "viem";
|
|
11173
|
+
var COMMON_TOKENS = [
|
|
11174
|
+
// Add real token addresses here when available
|
|
11175
|
+
// {
|
|
11176
|
+
// address: '0x....',
|
|
11177
|
+
// name: 'USD Coin',
|
|
11178
|
+
// symbol: 'USDC',
|
|
11179
|
+
// decimals: 6,
|
|
11180
|
+
// logo: 'https://...'
|
|
11181
|
+
// }
|
|
11182
|
+
];
|
|
11183
|
+
function useAssets(address) {
|
|
11184
|
+
const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = useBalance3({
|
|
11185
|
+
address,
|
|
11186
|
+
chainId: lumiaBeam.id,
|
|
11187
|
+
query: {
|
|
11188
|
+
enabled: !!address
|
|
11189
|
+
}
|
|
11190
|
+
});
|
|
11191
|
+
const tokenContracts = COMMON_TOKENS.map((token) => ({
|
|
11192
|
+
address: token.address,
|
|
11193
|
+
abi: erc20Abi,
|
|
11194
|
+
functionName: "balanceOf",
|
|
11195
|
+
args: [address],
|
|
11196
|
+
chainId: lumiaBeam.id
|
|
11197
|
+
}));
|
|
11198
|
+
const readContractsResult = useReadContracts({
|
|
11199
|
+
contracts: tokenContracts,
|
|
11200
|
+
query: {
|
|
11201
|
+
enabled: !!address && COMMON_TOKENS.length > 0
|
|
11202
|
+
}
|
|
11203
|
+
});
|
|
11204
|
+
const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
|
|
11205
|
+
const getAllAssets = () => {
|
|
11206
|
+
const assets = [];
|
|
11207
|
+
if (nativeBalance) {
|
|
11208
|
+
assets.push({
|
|
11209
|
+
type: "native",
|
|
11210
|
+
name: "Lumia",
|
|
11211
|
+
symbol: "LUMIA",
|
|
11212
|
+
balance: nativeBalance.value.toString(),
|
|
11213
|
+
formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
|
|
11214
|
+
decimals: 18
|
|
11215
|
+
});
|
|
11216
|
+
}
|
|
11217
|
+
if (tokenBalances && COMMON_TOKENS.length > 0) {
|
|
11218
|
+
tokenBalances.forEach((balance, index) => {
|
|
11219
|
+
const token = COMMON_TOKENS[index];
|
|
11220
|
+
if (balance.status === "success" && balance.result) {
|
|
11221
|
+
const balanceValue = balance.result;
|
|
11222
|
+
const formattedBalance = formatUnits2(balanceValue, token.decimals);
|
|
11223
|
+
assets.push({
|
|
11224
|
+
type: "erc20",
|
|
11225
|
+
address: token.address,
|
|
11226
|
+
name: token.name,
|
|
11227
|
+
symbol: token.symbol,
|
|
11228
|
+
balance: balanceValue.toString(),
|
|
11229
|
+
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
11230
|
+
decimals: token.decimals,
|
|
11231
|
+
logo: token.logo
|
|
11232
|
+
});
|
|
11233
|
+
}
|
|
11234
|
+
});
|
|
11235
|
+
}
|
|
11236
|
+
return assets;
|
|
11237
|
+
};
|
|
11238
|
+
const getTokenBalance = (tokenAddress) => {
|
|
11239
|
+
const tokenIndex = COMMON_TOKENS.findIndex(
|
|
11240
|
+
(token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
|
|
11241
|
+
);
|
|
11242
|
+
if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
|
|
11243
|
+
return null;
|
|
11244
|
+
}
|
|
11245
|
+
const balance = tokenBalances[tokenIndex];
|
|
11246
|
+
const token = COMMON_TOKENS[tokenIndex];
|
|
11247
|
+
if (balance.status === "success" && balance.result) {
|
|
11248
|
+
const balanceValue = balance.result;
|
|
11249
|
+
const formattedBalance = formatUnits2(balanceValue, token.decimals);
|
|
11250
|
+
return {
|
|
11251
|
+
address: token.address,
|
|
11252
|
+
name: token.name,
|
|
11253
|
+
symbol: token.symbol,
|
|
11254
|
+
decimals: token.decimals,
|
|
11255
|
+
balance: balanceValue.toString(),
|
|
11256
|
+
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
11257
|
+
logo: token.logo
|
|
11258
|
+
};
|
|
11259
|
+
}
|
|
11260
|
+
return null;
|
|
11261
|
+
};
|
|
11262
|
+
const refreshBalances = async () => {
|
|
11263
|
+
await Promise.all([
|
|
11264
|
+
refetchNativeBalance(),
|
|
11265
|
+
refetchTokenBalances()
|
|
11266
|
+
]);
|
|
11267
|
+
};
|
|
11268
|
+
return {
|
|
11269
|
+
nativeBalance,
|
|
11270
|
+
tokenBalances,
|
|
11271
|
+
assets: getAllAssets(),
|
|
11272
|
+
getTokenBalance,
|
|
11273
|
+
refreshBalances,
|
|
11274
|
+
isLoading: nativeBalanceLoading || tokenBalancesLoading,
|
|
11275
|
+
isConnected: !!address
|
|
11276
|
+
};
|
|
11277
|
+
}
|
|
11278
|
+
function useTokenInfo(tokenAddress) {
|
|
11279
|
+
const readContractsResult = useReadContracts({
|
|
11280
|
+
contracts: [
|
|
11281
|
+
{ address: tokenAddress, abi: erc20Abi, functionName: "name", chainId: lumiaBeam.id },
|
|
11282
|
+
{ address: tokenAddress, abi: erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
|
|
11283
|
+
{ address: tokenAddress, abi: erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
|
|
11284
|
+
]
|
|
11285
|
+
});
|
|
11286
|
+
const { data: tokenData, isLoading } = readContractsResult;
|
|
11287
|
+
if (!tokenData || isLoading) {
|
|
11288
|
+
return { isLoading, tokenInfo: null };
|
|
11289
|
+
}
|
|
11290
|
+
const [nameResult, symbolResult, decimalsResult] = tokenData;
|
|
11291
|
+
if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
|
|
11292
|
+
return {
|
|
11293
|
+
isLoading: false,
|
|
11294
|
+
tokenInfo: {
|
|
11295
|
+
name: nameResult.result,
|
|
11296
|
+
symbol: symbolResult.result,
|
|
11297
|
+
decimals: decimalsResult.result,
|
|
11298
|
+
address: tokenAddress
|
|
11299
|
+
}
|
|
11300
|
+
};
|
|
11301
|
+
}
|
|
11302
|
+
return { isLoading: false, tokenInfo: null };
|
|
11303
|
+
}
|
|
11304
|
+
function useTokenBalance(tokenAddress, userAddress) {
|
|
11305
|
+
const { data: balance, isLoading, refetch } = useReadContract({
|
|
11306
|
+
address: tokenAddress,
|
|
11307
|
+
abi: erc20Abi,
|
|
11308
|
+
functionName: "balanceOf",
|
|
11309
|
+
args: userAddress ? [userAddress] : void 0,
|
|
11310
|
+
chainId: lumiaBeam.id,
|
|
11311
|
+
query: {
|
|
11312
|
+
enabled: !!userAddress
|
|
11313
|
+
}
|
|
11314
|
+
});
|
|
11315
|
+
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
11316
|
+
const formattedBalance = React8.useMemo(() => {
|
|
11317
|
+
if (!balance || !tokenInfo) return "0";
|
|
11318
|
+
return formatUnits2(balance, tokenInfo.decimals);
|
|
11319
|
+
}, [balance, tokenInfo]);
|
|
11320
|
+
return {
|
|
11321
|
+
balance,
|
|
11322
|
+
formattedBalance,
|
|
11323
|
+
tokenInfo,
|
|
11324
|
+
isLoading,
|
|
11325
|
+
refetch
|
|
11326
|
+
};
|
|
11327
|
+
}
|
|
11328
|
+
|
|
10936
11329
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10937
11330
|
init_base();
|
|
10938
11331
|
import { Fragment as Fragment16, jsx as jsx55, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
@@ -10943,14 +11336,14 @@ function SendLumiaMenu() {
|
|
|
10943
11336
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10944
11337
|
const { assets } = useAssets(address);
|
|
10945
11338
|
const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
|
|
10946
|
-
const { refetch: refetchBalance } =
|
|
11339
|
+
const { refetch: refetchBalance } = useBalance4({
|
|
10947
11340
|
address,
|
|
10948
11341
|
chainId: lumiaBeam.id
|
|
10949
11342
|
});
|
|
10950
|
-
const [recipient, setRecipient] =
|
|
10951
|
-
const [amount, setAmount] =
|
|
10952
|
-
const [txStep, setTxStep] =
|
|
10953
|
-
const [validationError, setValidationError] =
|
|
11343
|
+
const [recipient, setRecipient] = useState13("");
|
|
11344
|
+
const [amount, setAmount] = useState13("");
|
|
11345
|
+
const [txStep, setTxStep] = useState13("input");
|
|
11346
|
+
const [validationError, setValidationError] = useState13(null);
|
|
10954
11347
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10955
11348
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10956
11349
|
useEffect25(() => {
|
|
@@ -11062,7 +11455,7 @@ function SendLumiaMenu() {
|
|
|
11062
11455
|
] })
|
|
11063
11456
|
] }),
|
|
11064
11457
|
(validationError || error) && /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
|
|
11065
|
-
/* @__PURE__ */ jsx55(
|
|
11458
|
+
/* @__PURE__ */ jsx55(AlertCircle5, { className: "h-4 w-4" }),
|
|
11066
11459
|
/* @__PURE__ */ jsx55("span", { className: "text-sm", children: validationError || error })
|
|
11067
11460
|
] }),
|
|
11068
11461
|
/* @__PURE__ */ jsx55(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
|
|
@@ -11118,7 +11511,7 @@ function SendLumiaMenu() {
|
|
|
11118
11511
|
init_clients();
|
|
11119
11512
|
import { ArrowLeft as ArrowLeft14, CheckCircle2 as CheckCircle25, Copy as Copy2, Loader as Loader19 } from "lucide-react";
|
|
11120
11513
|
import QRCode from "qrcode";
|
|
11121
|
-
import { useCallback as
|
|
11514
|
+
import { useCallback as useCallback15, useEffect as useEffect26, useState as useState14 } from "react";
|
|
11122
11515
|
import { Fragment as Fragment17, jsx as jsx56, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
11123
11516
|
function ReceiveLumiaMenu() {
|
|
11124
11517
|
const address = useLumiaPassportSession((st) => st.address);
|
|
@@ -11126,8 +11519,8 @@ function ReceiveLumiaMenu() {
|
|
|
11126
11519
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11127
11520
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11128
11521
|
const open = page === "receive";
|
|
11129
|
-
const [qrCodeUrl, setQrCodeUrl] =
|
|
11130
|
-
const [copied, setCopied] =
|
|
11522
|
+
const [qrCodeUrl, setQrCodeUrl] = useState14("");
|
|
11523
|
+
const [copied, setCopied] = useState14(false);
|
|
11131
11524
|
useEffect26(() => {
|
|
11132
11525
|
if (open && address) {
|
|
11133
11526
|
QRCode.toDataURL(address, {
|
|
@@ -11141,7 +11534,7 @@ function ReceiveLumiaMenu() {
|
|
|
11141
11534
|
});
|
|
11142
11535
|
}
|
|
11143
11536
|
}, [open, address]);
|
|
11144
|
-
const handleCopy =
|
|
11537
|
+
const handleCopy = useCallback15(async () => {
|
|
11145
11538
|
if (!address) return;
|
|
11146
11539
|
try {
|
|
11147
11540
|
await navigator.clipboard.writeText(address);
|
|
@@ -11280,9 +11673,9 @@ function TermsOfService() {
|
|
|
11280
11673
|
}
|
|
11281
11674
|
|
|
11282
11675
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11283
|
-
import { useQuery as
|
|
11676
|
+
import { useQuery as useQuery14, useQueryClient as useQueryClient18 } from "@tanstack/react-query";
|
|
11284
11677
|
import { ArrowLeft as ArrowLeft17, Loader as Loader20, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
|
|
11285
|
-
import { useCallback as
|
|
11678
|
+
import { useCallback as useCallback16, useState as useState15 } from "react";
|
|
11286
11679
|
|
|
11287
11680
|
// src/internal/components/TransactionsMenu/api.ts
|
|
11288
11681
|
init_base();
|
|
@@ -11763,19 +12156,19 @@ function TransactionsMenu() {
|
|
|
11763
12156
|
const page = useLayoutDataStore((st) => st.page);
|
|
11764
12157
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11765
12158
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11766
|
-
const [expandedGroups, setExpandedGroups] =
|
|
12159
|
+
const [expandedGroups, setExpandedGroups] = useState15({});
|
|
11767
12160
|
const {
|
|
11768
12161
|
data: txHistoryGroups = [],
|
|
11769
12162
|
isLoading: isTxHistoryLoading,
|
|
11770
12163
|
isFetching: isTxHistoryFetching,
|
|
11771
12164
|
error: txHistoryError
|
|
11772
|
-
} =
|
|
12165
|
+
} = useQuery14({
|
|
11773
12166
|
retry: false,
|
|
11774
12167
|
enabled: !!address && page === "transactions",
|
|
11775
12168
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
11776
12169
|
queryFn: () => getTransactionsListQuery(address)
|
|
11777
12170
|
});
|
|
11778
|
-
const refreshTxHistory =
|
|
12171
|
+
const refreshTxHistory = useCallback16(
|
|
11779
12172
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
|
|
11780
12173
|
[qc, address]
|
|
11781
12174
|
);
|
|
@@ -11935,7 +12328,7 @@ function usePageMapper() {
|
|
|
11935
12328
|
setIsDialogOpen,
|
|
11936
12329
|
setIsDialogClosing
|
|
11937
12330
|
} = useLayoutStore();
|
|
11938
|
-
const closeDialog =
|
|
12331
|
+
const closeDialog = useCallback17(() => {
|
|
11939
12332
|
setIsDialogClosing(true);
|
|
11940
12333
|
setTimeout(() => {
|
|
11941
12334
|
setDialogContent(null);
|
|
@@ -11946,7 +12339,7 @@ function usePageMapper() {
|
|
|
11946
12339
|
setIsDialogOpen(false);
|
|
11947
12340
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
11948
12341
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
11949
|
-
const openDialog =
|
|
12342
|
+
const openDialog = useCallback17(
|
|
11950
12343
|
(pageItem) => {
|
|
11951
12344
|
const PageContentComponent = pageItem.component;
|
|
11952
12345
|
setDialogTitle(pageItem.title);
|
|
@@ -12081,7 +12474,7 @@ function LumiaPassportDialog() {
|
|
|
12081
12474
|
}
|
|
12082
12475
|
|
|
12083
12476
|
// src/internal/components/TssManager.tsx
|
|
12084
|
-
import React10, { useCallback as
|
|
12477
|
+
import React10, { useCallback as useCallback18 } from "react";
|
|
12085
12478
|
init_auth();
|
|
12086
12479
|
init_clients();
|
|
12087
12480
|
var TssManagerWithRef = React10.forwardRef((props, ref) => {
|
|
@@ -12090,7 +12483,7 @@ var TssManagerWithRef = React10.forwardRef((props, ref) => {
|
|
|
12090
12483
|
const setStatus = useLumiaPassportSession((st) => st.setStatus);
|
|
12091
12484
|
const setSession = useLumiaPassportSession((st) => st.setSession);
|
|
12092
12485
|
const setAddress = useLumiaPassportSession((st) => st.setAddress);
|
|
12093
|
-
const onSessionCreated =
|
|
12486
|
+
const onSessionCreated = useCallback18(
|
|
12094
12487
|
(session, address) => {
|
|
12095
12488
|
setSession(session);
|
|
12096
12489
|
setAddress(address);
|
|
@@ -12126,7 +12519,7 @@ var TssManagerWithRef = React10.forwardRef((props, ref) => {
|
|
|
12126
12519
|
init_wallet();
|
|
12127
12520
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
12128
12521
|
import { useMutation as useMutation15, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
|
|
12129
|
-
import React11, { useCallback as
|
|
12522
|
+
import React11, { useCallback as useCallback19, useEffect as useEffect32 } from "react";
|
|
12130
12523
|
import { useAccount, useDisconnect, useSignMessage } from "wagmi";
|
|
12131
12524
|
function WalletConnectHandler() {
|
|
12132
12525
|
const qc = useQueryClient19();
|
|
@@ -12143,7 +12536,7 @@ function WalletConnectHandler() {
|
|
|
12143
12536
|
const setManageWalletLinkError = useManageWalletStore((st) => st.setLinkError);
|
|
12144
12537
|
const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
|
|
12145
12538
|
const setProviderType = useManageWalletStore((st) => st.setProviderType);
|
|
12146
|
-
const onLinkingComplete =
|
|
12539
|
+
const onLinkingComplete = useCallback19(
|
|
12147
12540
|
async (success) => {
|
|
12148
12541
|
setIsWalletLinking(false);
|
|
12149
12542
|
if (!success && !passportWalletAddress) {
|
|
@@ -12361,8 +12754,8 @@ function LumiaPassportProvider(props) {
|
|
|
12361
12754
|
const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
|
|
12362
12755
|
const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
|
|
12363
12756
|
useEffect33(() => notifyNoProjetctId(projectId), [projectId]);
|
|
12364
|
-
const config =
|
|
12365
|
-
const updateConfig =
|
|
12757
|
+
const config = useRef13({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
|
|
12758
|
+
const updateConfig = useCallback20((updates) => {
|
|
12366
12759
|
const prev = config.current;
|
|
12367
12760
|
const next = { ...prev };
|
|
12368
12761
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -12442,7 +12835,7 @@ function LumiaPassportProvider(props) {
|
|
|
12442
12835
|
console.error("[LumiaPassport] Error setting up iframe manager:", error);
|
|
12443
12836
|
}
|
|
12444
12837
|
}, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
|
|
12445
|
-
const contextValue =
|
|
12838
|
+
const contextValue = useMemo5(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
|
|
12446
12839
|
return /* @__PURE__ */ jsx67(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx67(LumiaPassportContext.Provider, { value: contextValue, children }) });
|
|
12447
12840
|
}
|
|
12448
12841
|
var useLumiaPassportConfig = () => {
|
|
@@ -12452,8 +12845,8 @@ var useLumiaPassportConfig = () => {
|
|
|
12452
12845
|
};
|
|
12453
12846
|
|
|
12454
12847
|
// src/components/ConnectWalletButton.tsx
|
|
12455
|
-
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader21, Shield as
|
|
12456
|
-
import { useEffect as useEffect34, useMemo as
|
|
12848
|
+
import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader21, Shield as Shield3 } from "lucide-react";
|
|
12849
|
+
import { useEffect as useEffect34, useMemo as useMemo6 } from "react";
|
|
12457
12850
|
init_auth();
|
|
12458
12851
|
import { Fragment as Fragment20, jsx as jsx68, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
12459
12852
|
function getFormattedStatus(label, status, showStatus) {
|
|
@@ -12477,7 +12870,7 @@ function ConnectWalletButton(props) {
|
|
|
12477
12870
|
useEffect34(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
12478
12871
|
const avatar = jwtTokenManager2.getAvatar();
|
|
12479
12872
|
const displayName = jwtTokenManager2.getDisplayName();
|
|
12480
|
-
const indicators =
|
|
12873
|
+
const indicators = useMemo6(() => {
|
|
12481
12874
|
const userId = jwtTokenManager2.getUserId();
|
|
12482
12875
|
if (!userId) return { server: false, local: false, backup: false };
|
|
12483
12876
|
const server = jwtTokenManager2.getHasKeyshare() ?? false;
|
|
@@ -12587,7 +12980,7 @@ function ConnectWalletButton(props) {
|
|
|
12587
12980
|
] }),
|
|
12588
12981
|
/* @__PURE__ */ jsxs55("div", { className: "group relative", children: [
|
|
12589
12982
|
/* @__PURE__ */ jsx68(
|
|
12590
|
-
|
|
12983
|
+
Shield3,
|
|
12591
12984
|
{
|
|
12592
12985
|
className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
|
|
12593
12986
|
}
|
|
@@ -12649,13 +13042,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
|
|
|
12649
13042
|
var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
|
|
12650
13043
|
|
|
12651
13044
|
// src/hooks/useLumiaPassportOpen.ts
|
|
12652
|
-
import { useCallback as
|
|
13045
|
+
import { useCallback as useCallback21 } from "react";
|
|
12653
13046
|
function useLumiaPassportOpen() {
|
|
12654
13047
|
const page = useLayoutDataStore((st) => st.page);
|
|
12655
13048
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12656
13049
|
const setPageParams = useLayoutDataStore((st) => st.setPageParams);
|
|
12657
13050
|
const address = useLumiaPassportSession((st) => st.address);
|
|
12658
|
-
const open =
|
|
13051
|
+
const open = useCallback21(
|
|
12659
13052
|
(passportPage, params) => {
|
|
12660
13053
|
if (!address) return setPage("auth" /* AUTH */);
|
|
12661
13054
|
if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
@@ -12664,12 +13057,12 @@ function useLumiaPassportOpen() {
|
|
|
12664
13057
|
},
|
|
12665
13058
|
[setPage, setPageParams, address]
|
|
12666
13059
|
);
|
|
12667
|
-
const close =
|
|
13060
|
+
const close = useCallback21(() => setPage(null), [setPage]);
|
|
12668
13061
|
return { open, close, isOpen: page !== null };
|
|
12669
13062
|
}
|
|
12670
13063
|
|
|
12671
13064
|
// src/hooks/useLumiaPassportColorMode.ts
|
|
12672
|
-
import { useCallback as
|
|
13065
|
+
import { useCallback as useCallback22, useEffect as useEffect35 } from "react";
|
|
12673
13066
|
function useLumiaPassportColorMode() {
|
|
12674
13067
|
const {
|
|
12675
13068
|
config: { current: config }
|
|
@@ -12677,7 +13070,7 @@ function useLumiaPassportColorMode() {
|
|
|
12677
13070
|
const preferedColorMode = config?.preferedColorMode;
|
|
12678
13071
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12679
13072
|
const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
|
|
12680
|
-
const setColorMode =
|
|
13073
|
+
const setColorMode = useCallback22(
|
|
12681
13074
|
(mode) => {
|
|
12682
13075
|
localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
|
|
12683
13076
|
handleStoreColorMode(mode);
|
|
@@ -12727,7 +13120,7 @@ function ThemeToggle(props) {
|
|
|
12727
13120
|
|
|
12728
13121
|
// src/context/RainbowKitContext.tsx
|
|
12729
13122
|
import { darkTheme, lightTheme, RainbowKitProvider } from "@rainbow-me/rainbowkit";
|
|
12730
|
-
import { useMemo as
|
|
13123
|
+
import { useMemo as useMemo7 } from "react";
|
|
12731
13124
|
import { WagmiProvider as WagmiProvider2 } from "wagmi";
|
|
12732
13125
|
|
|
12733
13126
|
// src/config/rainbowkit.ts
|
|
@@ -12959,8 +13352,8 @@ import { Fragment as Fragment21, jsx as jsx70 } from "react/jsx-runtime";
|
|
|
12959
13352
|
function LumiaRainbowKitProvider({ children }) {
|
|
12960
13353
|
const config = useLumiaPassportConfig().config;
|
|
12961
13354
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12962
|
-
const rainbowConfig2 =
|
|
12963
|
-
const customTheme =
|
|
13355
|
+
const rainbowConfig2 = useMemo7(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
|
|
13356
|
+
const customTheme = useMemo7(
|
|
12964
13357
|
() => colorMode === "dark" ? {
|
|
12965
13358
|
...darkTheme(),
|
|
12966
13359
|
colors: { ...darkTheme().colors, ...rainbowTheme.darkMode.colors },
|
|
@@ -12980,7 +13373,7 @@ function LumiaRainbowKitProvider({ children }) {
|
|
|
12980
13373
|
|
|
12981
13374
|
// src/internal/components/UserOpStatus.tsx
|
|
12982
13375
|
init_base();
|
|
12983
|
-
import { AlertCircle as
|
|
13376
|
+
import { AlertCircle as AlertCircle6, CheckCircle2 as CheckCircle27, Clock as Clock2, Copy as Copy5, ExternalLink as ExternalLink2, RefreshCw as RefreshCw4 } from "lucide-react";
|
|
12984
13377
|
import * as React13 from "react";
|
|
12985
13378
|
|
|
12986
13379
|
// src/internal/utils/cn.ts
|
|
@@ -13210,19 +13603,19 @@ var UserOpStatus = ({
|
|
|
13210
13603
|
if (receipt) {
|
|
13211
13604
|
const ok = !!receipt.success;
|
|
13212
13605
|
return /* @__PURE__ */ jsxs57(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
|
|
13213
|
-
ok ? /* @__PURE__ */ jsx73(CheckCircle27, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx73(
|
|
13606
|
+
ok ? /* @__PURE__ */ jsx73(CheckCircle27, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx73(AlertCircle6, { className: "h-3 w-3" }),
|
|
13214
13607
|
ok ? "Included" : "Failed"
|
|
13215
13608
|
] });
|
|
13216
13609
|
}
|
|
13217
13610
|
if (rejected) {
|
|
13218
13611
|
return /* @__PURE__ */ jsxs57(Badge, { variant: "destructive", className: "gap-1", children: [
|
|
13219
|
-
/* @__PURE__ */ jsx73(
|
|
13612
|
+
/* @__PURE__ */ jsx73(AlertCircle6, { className: "h-3 w-3" }),
|
|
13220
13613
|
" Rejected by bundler"
|
|
13221
13614
|
] });
|
|
13222
13615
|
}
|
|
13223
13616
|
if (timedOut) {
|
|
13224
13617
|
return /* @__PURE__ */ jsxs57(Badge, { variant: "warning", className: "gap-1", children: [
|
|
13225
|
-
/* @__PURE__ */ jsx73(
|
|
13618
|
+
/* @__PURE__ */ jsx73(AlertCircle6, { className: "h-3 w-3" }),
|
|
13226
13619
|
" Timeout - may be rejected"
|
|
13227
13620
|
] });
|
|
13228
13621
|
}
|
|
@@ -13330,16 +13723,16 @@ var UserOpStatus = ({
|
|
|
13330
13723
|
] })
|
|
13331
13724
|
] }),
|
|
13332
13725
|
error && /* @__PURE__ */ jsxs57("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
13333
|
-
/* @__PURE__ */ jsx73(
|
|
13726
|
+
/* @__PURE__ */ jsx73(AlertCircle6, { className: "h-4 w-4" }),
|
|
13334
13727
|
" ",
|
|
13335
13728
|
error
|
|
13336
13729
|
] }),
|
|
13337
13730
|
rejected && /* @__PURE__ */ jsxs57("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
13338
|
-
/* @__PURE__ */ jsx73(
|
|
13731
|
+
/* @__PURE__ */ jsx73(AlertCircle6, { className: "h-4 w-4" }),
|
|
13339
13732
|
"UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
|
|
13340
13733
|
] }),
|
|
13341
13734
|
timedOut && /* @__PURE__ */ jsxs57("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
13342
|
-
/* @__PURE__ */ jsx73(
|
|
13735
|
+
/* @__PURE__ */ jsx73(AlertCircle6, { className: "h-4 w-4" }),
|
|
13343
13736
|
"Stopped polling after ",
|
|
13344
13737
|
Math.round(maxPollTimeMs / 1e3),
|
|
13345
13738
|
"s. UserOperation may have been rejected by the bundler."
|
|
@@ -13413,12 +13806,12 @@ var Hash = ({
|
|
|
13413
13806
|
|
|
13414
13807
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13415
13808
|
init_base();
|
|
13416
|
-
import { useEffect as useEffect37, useState as
|
|
13809
|
+
import { useEffect as useEffect37, useState as useState19 } from "react";
|
|
13417
13810
|
import { jsx as jsx75, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
13418
13811
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13419
|
-
const [transactions, setTransactions] =
|
|
13420
|
-
const [loading, setLoading] =
|
|
13421
|
-
const [error, setError] =
|
|
13812
|
+
const [transactions, setTransactions] = useState19([]);
|
|
13813
|
+
const [loading, setLoading] = useState19(true);
|
|
13814
|
+
const [error, setError] = useState19(null);
|
|
13422
13815
|
useEffect37(() => {
|
|
13423
13816
|
const fetchTransactions = async () => {
|
|
13424
13817
|
try {
|
|
@@ -13721,11 +14114,11 @@ function useUserOpStatus(options = {}) {
|
|
|
13721
14114
|
|
|
13722
14115
|
// src/hooks/useLogout.ts
|
|
13723
14116
|
import { logout as coreLogout, jwtTokenManager as jwtTokenManager3 } from "@lumiapassport/core/auth";
|
|
13724
|
-
import { useCallback as
|
|
14117
|
+
import { useCallback as useCallback25 } from "react";
|
|
13725
14118
|
function useLogout() {
|
|
13726
14119
|
const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
|
|
13727
14120
|
const { callbacks } = useLumiaPassportConfig();
|
|
13728
|
-
const logout2 =
|
|
14121
|
+
const logout2 = useCallback25(async () => {
|
|
13729
14122
|
const prevAddress = address;
|
|
13730
14123
|
let userId = null;
|
|
13731
14124
|
setIsLoading(true);
|
|
@@ -13764,10 +14157,10 @@ init_profile();
|
|
|
13764
14157
|
|
|
13765
14158
|
// src/modules/transactions.ts
|
|
13766
14159
|
init_base();
|
|
13767
|
-
import { usePublicClient, useWalletClient, useAccount as useAccount2 } from "wagmi";
|
|
14160
|
+
import { usePublicClient as usePublicClient2, useWalletClient, useAccount as useAccount2 } from "wagmi";
|
|
13768
14161
|
import { parseEther as parseEther4 } from "viem";
|
|
13769
14162
|
function useTransactions() {
|
|
13770
|
-
const publicClient2 =
|
|
14163
|
+
const publicClient2 = usePublicClient2({ chainId: lumiaBeam.id });
|
|
13771
14164
|
const { data: walletClient } = useWalletClient();
|
|
13772
14165
|
const { address } = useAccount2();
|
|
13773
14166
|
const sendTransaction = async (params) => {
|