@lumiapassport/ui-kit 1.14.5 → 1.14.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -81,6 +81,7 @@ var init_assets = __esm({
81
81
  var lumiaPassport_exports = {};
82
82
  __export(lumiaPassport_exports, {
83
83
  DEFAULT_LUMIA_PASSPORT_CONFIG: () => DEFAULT_LUMIA_PASSPORT_CONFIG,
84
+ getBlockscoutApiUrl: () => getBlockscoutApiUrl,
84
85
  getIframeUrl: () => getIframeUrl,
85
86
  getServiceUrls: () => getServiceUrls
86
87
  });
@@ -114,6 +115,15 @@ function getIframeUrl() {
114
115
  const iframeUrl = buildIframeUrl || config.services.iframeUrl || "https://auth.lumiapassport.com";
115
116
  return iframeUrl;
116
117
  }
118
+ function getBlockscoutApiUrl() {
119
+ const config = DEFAULT_LUMIA_PASSPORT_CONFIG;
120
+ const buildBlockscoutUrl = "https://beam-explorer.lumia.org/api/v2";
121
+ if (buildBlockscoutUrl) {
122
+ return buildBlockscoutUrl;
123
+ }
124
+ const explorerUrl = config.network.explorerUrl || "https://beam-explorer.lumia.org";
125
+ return `${explorerUrl.replace(/\/$/, "")}/api/v2`;
126
+ }
117
127
  var DEFAULT_LUMIA_PASSPORT_CONFIG;
118
128
  var init_lumiaPassport = __esm({
119
129
  "src/config/lumiaPassport.tsx"() {
@@ -4368,17 +4378,17 @@ __export(index_exports, {
4368
4378
  module.exports = __toCommonJS(index_exports);
4369
4379
 
4370
4380
  // src/styles/built.css
4371
- 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}';
4381
+ 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}';
4372
4382
 
4373
4383
  // src/context/LumiaPassportContext.tsx
4374
4384
  var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
4375
4385
  var import_lodash_es4 = require("lodash-es");
4376
- var import_react54 = require("react");
4386
+ var import_react56 = require("react");
4377
4387
  init_lumiaPassport();
4378
4388
  init_iframe_manager();
4379
4389
 
4380
4390
  // src/context/LumiaPassportSessionContext.tsx
4381
- var import_react53 = require("react");
4391
+ var import_react55 = require("react");
4382
4392
  var import_zustand6 = require("zustand");
4383
4393
 
4384
4394
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
@@ -4400,6 +4410,10 @@ var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
4400
4410
  var MAX_CONTENT_HEIGHT = 640;
4401
4411
  var MAIN_DIALOG_ANIMATION_SPEED = 375;
4402
4412
  var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
4413
+ var BLOCKSCOUT_QUERY_STALE_TIME = 30 * 1e3;
4414
+ var BLOCKSCOUT_QUERY_GC_TIME = 5 * 60 * 1e3;
4415
+ var BLOCKSCOUT_REFRESH_DEBOUNCE = 2e3;
4416
+ var IPFS_GATEWAY = "https://ipfs.io/ipfs/";
4403
4417
  var PROVIDERS_META2 = {
4404
4418
  passkey: { name: "Passkey", icon: import_lucide_react2.Key, description: "Biometric authentication" },
4405
4419
  email: { name: "Email", icon: import_lucide_react2.Mail, description: "Email verification" },
@@ -4549,12 +4563,12 @@ function BalanceFeedProvider() {
4549
4563
 
4550
4564
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4551
4565
  var import_framer_motion3 = require("framer-motion");
4552
- var import_react50 = require("react");
4566
+ var import_react52 = require("react");
4553
4567
 
4554
4568
  // package.json
4555
4569
  var package_default = {
4556
4570
  name: "@lumiapassport/ui-kit",
4557
- version: "1.14.5",
4571
+ version: "1.14.7",
4558
4572
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
4559
4573
  type: "module",
4560
4574
  main: "./dist/index.cjs",
@@ -5847,7 +5861,7 @@ function useDetectMaxScrollHeight() {
5847
5861
  }
5848
5862
 
5849
5863
  // src/internal/hooks/usePageMapper.tsx
5850
- var import_react47 = require("react");
5864
+ var import_react49 = require("react");
5851
5865
 
5852
5866
  // src/internal/components/AuthMenu/AuthMenu.tsx
5853
5867
  var import_framer_motion = require("framer-motion");
@@ -10290,174 +10304,322 @@ function UnlinkProviderMenu() {
10290
10304
  }
10291
10305
 
10292
10306
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
10293
- var import_react_query28 = require("@tanstack/react-query");
10307
+ var import_react_query29 = require("@tanstack/react-query");
10294
10308
  var import_lucide_react35 = require("lucide-react");
10295
- var import_react40 = require("react");
10309
+ var import_react41 = require("react");
10296
10310
 
10297
- // src/modules/assets.ts
10298
- var import_react39 = __toESM(require("react"), 1);
10311
+ // src/internal/hooks/useBlockscoutAssets.ts
10312
+ var import_react39 = require("react");
10313
+ var import_react_query27 = require("@tanstack/react-query");
10299
10314
  var import_wagmi2 = require("wagmi");
10300
10315
  var import_viem4 = require("viem");
10316
+ var import_clients2 = require("@lumiapassport/core/clients");
10317
+ init_lumiaPassport();
10301
10318
  init_base();
10302
- var COMMON_TOKENS = [
10303
- // Add real token addresses here when available
10304
- // {
10305
- // address: '0x....',
10306
- // name: 'USD Coin',
10307
- // symbol: 'USDC',
10308
- // decimals: 6,
10309
- // logo: 'https://...'
10310
- // }
10319
+ var BLOCKSCOUT_QUERY_KEY = "blockscout-token-balances";
10320
+ var ERC3643_DETECTION_QUERY_KEY = "erc3643-detection";
10321
+ var ERC3643_ABI = [
10322
+ {
10323
+ name: "identityRegistry",
10324
+ type: "function",
10325
+ stateMutability: "view",
10326
+ inputs: [],
10327
+ outputs: [{ name: "", type: "address" }]
10328
+ }
10311
10329
  ];
10312
- function useAssets(address) {
10313
- const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = (0, import_wagmi2.useBalance)({
10330
+ function resolveIpfsUri(uri) {
10331
+ if (!uri) return "";
10332
+ if (uri.startsWith("ipfs://")) {
10333
+ return uri.replace("ipfs://", IPFS_GATEWAY);
10334
+ }
10335
+ if (uri.startsWith("data:application/json")) {
10336
+ return uri;
10337
+ }
10338
+ return uri;
10339
+ }
10340
+ function mapTokenType(blockscoutType) {
10341
+ switch (blockscoutType) {
10342
+ case "ERC-20":
10343
+ return "erc20";
10344
+ case "ERC-721":
10345
+ return "erc721";
10346
+ case "ERC-1155":
10347
+ return "erc1155";
10348
+ default:
10349
+ return "erc20";
10350
+ }
10351
+ }
10352
+ function mapBlockscoutToAsset(balance) {
10353
+ const { token, value, token_id, token_instance } = balance;
10354
+ const type = mapTokenType(token.type);
10355
+ const decimals = token.decimals ? parseInt(token.decimals, 10) : void 0;
10356
+ let formattedBalance;
10357
+ if (type === "erc721") {
10358
+ formattedBalance = "1";
10359
+ } else if (decimals !== void 0) {
10360
+ formattedBalance = (0, import_viem4.formatUnits)(BigInt(value), decimals);
10361
+ } else {
10362
+ formattedBalance = value;
10363
+ }
10364
+ const asset = {
10365
+ type,
10366
+ address: token.address,
10367
+ name: token.name || "Unknown Token",
10368
+ symbol: token.symbol || "???",
10369
+ balance: value,
10370
+ formattedBalance,
10371
+ decimals,
10372
+ logo: token.icon_url || void 0
10373
+ };
10374
+ if (type === "erc721" || type === "erc1155") {
10375
+ asset.tokenId = token_id || void 0;
10376
+ if (token_instance?.metadata) {
10377
+ const metadata = token_instance.metadata;
10378
+ asset.image = metadata.image ? resolveIpfsUri(metadata.image) : void 0;
10379
+ asset.nftMetadata = {
10380
+ name: metadata.name,
10381
+ description: metadata.description,
10382
+ image: asset.image,
10383
+ externalUrl: metadata.external_url,
10384
+ collectionName: token.name,
10385
+ attributes: metadata.attributes
10386
+ };
10387
+ }
10388
+ }
10389
+ return asset;
10390
+ }
10391
+ function mapBlockscoutNftToAsset(nft) {
10392
+ const { token, value, id, image_url, metadata } = nft;
10393
+ const type = mapTokenType(token.type);
10394
+ const imageUrl = image_url || (metadata?.image ? resolveIpfsUri(metadata.image) : void 0);
10395
+ const asset = {
10396
+ type,
10397
+ address: token.address,
10398
+ name: token.name || "Unknown NFT",
10399
+ symbol: token.symbol || "???",
10400
+ balance: value || "1",
10401
+ formattedBalance: "1",
10402
+ tokenId: id,
10403
+ logo: token.icon_url || void 0,
10404
+ image: imageUrl,
10405
+ nftMetadata: {
10406
+ name: metadata?.name,
10407
+ description: metadata?.description,
10408
+ image: imageUrl,
10409
+ externalUrl: metadata?.external_url,
10410
+ collectionName: token.name,
10411
+ attributes: metadata?.attributes
10412
+ }
10413
+ };
10414
+ return asset;
10415
+ }
10416
+ function createError(error) {
10417
+ if (error instanceof Error) {
10418
+ const message = error.message;
10419
+ if (message.includes("abort") || message.includes("timeout")) {
10420
+ return {
10421
+ type: "timeout",
10422
+ message: "Unable to load token list - request timed out",
10423
+ retryable: true
10424
+ };
10425
+ }
10426
+ if (message.includes("network") || message.includes("fetch")) {
10427
+ return {
10428
+ type: "network",
10429
+ message: "Unable to load token list - network error",
10430
+ retryable: true
10431
+ };
10432
+ }
10433
+ if (message.includes("Blockscout") || message.includes("API")) {
10434
+ return {
10435
+ type: "api",
10436
+ message: "Token service unavailable",
10437
+ retryable: true
10438
+ };
10439
+ }
10440
+ return {
10441
+ type: "unknown",
10442
+ message: "Unable to load token list",
10443
+ retryable: true
10444
+ };
10445
+ }
10446
+ return {
10447
+ type: "unknown",
10448
+ message: "Unable to load token list",
10449
+ retryable: true
10450
+ };
10451
+ }
10452
+ function useBlockscoutAssets(options) {
10453
+ const { address, enabled = true, detectSecurityTokens = true } = options;
10454
+ const blockscoutApiUrl = getBlockscoutApiUrl();
10455
+ const blockscoutClient = (0, import_react39.useMemo)(
10456
+ () => (0, import_clients2.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }),
10457
+ [blockscoutApiUrl]
10458
+ );
10459
+ const publicClient2 = (0, import_wagmi2.usePublicClient)({ chainId: lumiaBeam.id });
10460
+ const lastRefreshRef = (0, import_react39.useRef)(0);
10461
+ const {
10462
+ data: nativeBalanceData,
10463
+ isLoading: nativeLoading,
10464
+ refetch: refetchNative
10465
+ } = (0, import_wagmi2.useBalance)({
10314
10466
  address,
10315
10467
  chainId: lumiaBeam.id,
10316
10468
  query: {
10317
- enabled: !!address
10469
+ enabled: !!address && enabled
10318
10470
  }
10319
10471
  });
10320
- const tokenContracts = COMMON_TOKENS.map((token) => ({
10321
- address: token.address,
10322
- abi: import_viem4.erc20Abi,
10323
- functionName: "balanceOf",
10324
- args: [address],
10325
- chainId: lumiaBeam.id
10326
- }));
10327
- const readContractsResult = (0, import_wagmi2.useReadContracts)({
10328
- contracts: tokenContracts,
10329
- query: {
10330
- enabled: !!address && COMMON_TOKENS.length > 0
10331
- }
10472
+ const {
10473
+ data: tokenBalances,
10474
+ isLoading: tokensLoading,
10475
+ error: tokensError,
10476
+ refetch: refetchTokens,
10477
+ dataUpdatedAt
10478
+ } = (0, import_react_query27.useQuery)({
10479
+ queryKey: [BLOCKSCOUT_QUERY_KEY, address, blockscoutApiUrl],
10480
+ queryFn: () => blockscoutClient.getTokenBalances(address),
10481
+ enabled: !!address && enabled,
10482
+ staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
10483
+ gcTime: BLOCKSCOUT_QUERY_GC_TIME,
10484
+ retry: 2,
10485
+ retryDelay: 1e3
10332
10486
  });
10333
- const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
10334
- const getAllAssets = () => {
10335
- const assets = [];
10336
- if (nativeBalance) {
10337
- assets.push({
10487
+ const {
10488
+ data: nftItems,
10489
+ isLoading: nftsLoading,
10490
+ refetch: refetchNfts
10491
+ } = (0, import_react_query27.useQuery)({
10492
+ queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", address, blockscoutApiUrl],
10493
+ queryFn: () => blockscoutClient.getNfts(address),
10494
+ enabled: !!address && enabled,
10495
+ staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
10496
+ gcTime: BLOCKSCOUT_QUERY_GC_TIME,
10497
+ retry: 2,
10498
+ retryDelay: 1e3
10499
+ });
10500
+ const erc20TokenAddresses = (0, import_react39.useMemo)(() => {
10501
+ if (!tokenBalances) return [];
10502
+ return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address);
10503
+ }, [tokenBalances]);
10504
+ const { data: erc3643Results } = (0, import_react_query27.useQuery)({
10505
+ queryKey: [ERC3643_DETECTION_QUERY_KEY, address, erc20TokenAddresses],
10506
+ queryFn: async () => {
10507
+ if (!publicClient2 || erc20TokenAddresses.length === 0) {
10508
+ return /* @__PURE__ */ new Map();
10509
+ }
10510
+ const results = /* @__PURE__ */ new Map();
10511
+ const batchSize = 10;
10512
+ for (let i = 0; i < erc20TokenAddresses.length; i += batchSize) {
10513
+ const batch = erc20TokenAddresses.slice(i, i + batchSize);
10514
+ const promises = batch.map(async (tokenAddress) => {
10515
+ try {
10516
+ const registry = await publicClient2.readContract({
10517
+ address: tokenAddress,
10518
+ abi: ERC3643_ABI,
10519
+ functionName: "identityRegistry",
10520
+ args: []
10521
+ });
10522
+ if (registry && registry !== "0x0000000000000000000000000000000000000000") {
10523
+ return { tokenAddress, registry };
10524
+ }
10525
+ return null;
10526
+ } catch {
10527
+ return null;
10528
+ }
10529
+ });
10530
+ const batchResults = await Promise.allSettled(promises);
10531
+ batchResults.forEach((result) => {
10532
+ if (result.status === "fulfilled" && result.value) {
10533
+ results.set(result.value.tokenAddress.toLowerCase(), result.value.registry);
10534
+ }
10535
+ });
10536
+ }
10537
+ return results;
10538
+ },
10539
+ enabled: !!address && enabled && detectSecurityTokens && erc20TokenAddresses.length > 0 && !!publicClient2,
10540
+ staleTime: BLOCKSCOUT_QUERY_STALE_TIME * 2,
10541
+ gcTime: BLOCKSCOUT_QUERY_GC_TIME,
10542
+ retry: 1
10543
+ });
10544
+ const assets = (0, import_react39.useMemo)(() => {
10545
+ const result = [];
10546
+ if (nativeBalanceData) {
10547
+ result.push({
10338
10548
  type: "native",
10339
10549
  name: "Lumia",
10340
10550
  symbol: "LUMIA",
10341
- balance: nativeBalance.value.toString(),
10342
- formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
10551
+ balance: nativeBalanceData.value.toString(),
10552
+ formattedBalance: parseFloat(nativeBalanceData.formatted).toFixed(4),
10343
10553
  decimals: 18
10344
10554
  });
10345
10555
  }
10346
- if (tokenBalances && COMMON_TOKENS.length > 0) {
10347
- tokenBalances.forEach((balance, index) => {
10348
- const token = COMMON_TOKENS[index];
10349
- if (balance.status === "success" && balance.result) {
10350
- const balanceValue = balance.result;
10351
- const formattedBalance = (0, import_viem4.formatUnits)(balanceValue, token.decimals);
10352
- assets.push({
10353
- type: "erc20",
10354
- address: token.address,
10355
- name: token.name,
10356
- symbol: token.symbol,
10357
- balance: balanceValue.toString(),
10358
- formattedBalance: parseFloat(formattedBalance).toFixed(4),
10359
- decimals: token.decimals,
10360
- logo: token.logo
10361
- });
10556
+ if (tokenBalances) {
10557
+ const erc20Tokens = tokenBalances.filter((balance) => balance.token.type === "ERC-20");
10558
+ const mappedTokens = erc20Tokens.map((balance) => {
10559
+ const asset = mapBlockscoutToAsset(balance);
10560
+ if (asset.type === "erc20" && asset.address && erc3643Results) {
10561
+ const registryAddress = erc3643Results.get(asset.address.toLowerCase());
10562
+ if (registryAddress) {
10563
+ asset.type = "erc3643";
10564
+ asset.complianceStatus = {
10565
+ isSecurityToken: true,
10566
+ identityRegistry: registryAddress
10567
+ };
10568
+ }
10362
10569
  }
10570
+ return asset;
10363
10571
  });
10572
+ result.push(...mappedTokens);
10364
10573
  }
10365
- return assets;
10366
- };
10367
- const getTokenBalance = (tokenAddress) => {
10368
- const tokenIndex = COMMON_TOKENS.findIndex(
10369
- (token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
10370
- );
10371
- if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
10372
- return null;
10574
+ if (nftItems && nftItems.length > 0) {
10575
+ const mappedNfts = nftItems.map(mapBlockscoutNftToAsset);
10576
+ result.push(...mappedNfts);
10373
10577
  }
10374
- const balance = tokenBalances[tokenIndex];
10375
- const token = COMMON_TOKENS[tokenIndex];
10376
- if (balance.status === "success" && balance.result) {
10377
- const balanceValue = balance.result;
10378
- const formattedBalance = (0, import_viem4.formatUnits)(balanceValue, token.decimals);
10379
- return {
10380
- address: token.address,
10381
- name: token.name,
10382
- symbol: token.symbol,
10383
- decimals: token.decimals,
10384
- balance: balanceValue.toString(),
10385
- formattedBalance: parseFloat(formattedBalance).toFixed(4),
10386
- logo: token.logo
10387
- };
10388
- }
10389
- return null;
10390
- };
10391
- const refreshBalances = async () => {
10392
- await Promise.all([
10393
- refetchNativeBalance(),
10394
- refetchTokenBalances()
10395
- ]);
10396
- };
10397
- return {
10398
- nativeBalance,
10399
- tokenBalances,
10400
- assets: getAllAssets(),
10401
- getTokenBalance,
10402
- refreshBalances,
10403
- isLoading: nativeBalanceLoading || tokenBalancesLoading,
10404
- isConnected: !!address
10405
- };
10406
- }
10407
- function useTokenInfo(tokenAddress) {
10408
- const readContractsResult = (0, import_wagmi2.useReadContracts)({
10409
- contracts: [
10410
- { address: tokenAddress, abi: import_viem4.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
10411
- { address: tokenAddress, abi: import_viem4.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
10412
- { address: tokenAddress, abi: import_viem4.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
10413
- ]
10414
- });
10415
- const { data: tokenData, isLoading } = readContractsResult;
10416
- if (!tokenData || isLoading) {
10417
- return { isLoading, tokenInfo: null };
10418
- }
10419
- const [nameResult, symbolResult, decimalsResult] = tokenData;
10420
- if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
10578
+ return result;
10579
+ }, [nativeBalanceData, tokenBalances, nftItems, erc3643Results]);
10580
+ const nativeBalance = (0, import_react39.useMemo)(() => {
10581
+ if (!nativeBalanceData) return null;
10421
10582
  return {
10422
- isLoading: false,
10423
- tokenInfo: {
10424
- name: nameResult.result,
10425
- symbol: symbolResult.result,
10426
- decimals: decimalsResult.result,
10427
- address: tokenAddress
10428
- }
10583
+ value: nativeBalanceData.value,
10584
+ formatted: nativeBalanceData.formatted,
10585
+ symbol: "LUMIA"
10429
10586
  };
10430
- }
10431
- return { isLoading: false, tokenInfo: null };
10432
- }
10433
- function useTokenBalance(tokenAddress, userAddress) {
10434
- const { data: balance, isLoading, refetch } = (0, import_wagmi2.useReadContract)({
10435
- address: tokenAddress,
10436
- abi: import_viem4.erc20Abi,
10437
- functionName: "balanceOf",
10438
- args: userAddress ? [userAddress] : void 0,
10439
- chainId: lumiaBeam.id,
10440
- query: {
10441
- enabled: !!userAddress
10587
+ }, [nativeBalanceData]);
10588
+ const error = (0, import_react39.useMemo)(() => {
10589
+ if (!tokensError) return null;
10590
+ return createError(tokensError);
10591
+ }, [tokensError]);
10592
+ const refreshBalances = (0, import_react39.useCallback)(async () => {
10593
+ const now = Date.now();
10594
+ if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
10595
+ return;
10442
10596
  }
10443
- });
10444
- const { tokenInfo } = useTokenInfo(tokenAddress);
10445
- const formattedBalance = import_react39.default.useMemo(() => {
10446
- if (!balance || !tokenInfo) return "0";
10447
- return (0, import_viem4.formatUnits)(balance, tokenInfo.decimals);
10448
- }, [balance, tokenInfo]);
10597
+ lastRefreshRef.current = now;
10598
+ await Promise.all([refetchNative(), refetchTokens(), refetchNfts()]);
10599
+ }, [refetchNative, refetchTokens, refetchNfts]);
10600
+ const getTokenBalance = (0, import_react39.useCallback)(
10601
+ (tokenAddress) => {
10602
+ return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
10603
+ },
10604
+ [assets]
10605
+ );
10449
10606
  return {
10450
- balance,
10451
- formattedBalance,
10452
- tokenInfo,
10453
- isLoading,
10454
- refetch
10607
+ nativeBalance,
10608
+ assets,
10609
+ isLoading: nativeLoading || tokensLoading || nftsLoading,
10610
+ isInitialLoading: nativeLoading && !nativeBalanceData,
10611
+ error,
10612
+ isBlockscoutAvailable: !tokensError,
10613
+ refreshBalances,
10614
+ getTokenBalance,
10615
+ lastUpdated: dataUpdatedAt || null
10455
10616
  };
10456
10617
  }
10457
10618
 
10458
10619
  // src/internal/components/PortfolioMenu/PortfolioItem.tsx
10459
- var import_react_query27 = require("@tanstack/react-query");
10620
+ var import_react_query28 = require("@tanstack/react-query");
10460
10621
  var import_lucide_react34 = require("lucide-react");
10622
+ var import_react40 = require("react");
10461
10623
  init_base();
10462
10624
  var import_jsx_runtime52 = require("react/jsx-runtime");
10463
10625
  var price16 = Intl.NumberFormat("en-US", { minimumFractionDigits: 16, maximumFractionDigits: 16 });
@@ -10478,6 +10640,18 @@ function formatValue(price) {
10478
10640
  function openInExplorer(address) {
10479
10641
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
10480
10642
  }
10643
+ function isNftAsset(asset) {
10644
+ if (!("type" in asset)) return false;
10645
+ return asset.type === "erc721" || asset.type === "erc1155";
10646
+ }
10647
+ function getNftImage(asset) {
10648
+ if (!("type" in asset)) return void 0;
10649
+ return asset.image || asset.nftMetadata?.image;
10650
+ }
10651
+ function isSecurityToken(asset) {
10652
+ if (!("type" in asset)) return false;
10653
+ return asset.type === "erc3643";
10654
+ }
10481
10655
  async function getAssetRate2(symbol) {
10482
10656
  const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}USDT`;
10483
10657
  const response = await fetch(assetURL);
@@ -10486,14 +10660,19 @@ async function getAssetRate2(symbol) {
10486
10660
  var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
10487
10661
  function PortfolioItem(props) {
10488
10662
  const { address, asset, isProjectAsset } = props;
10663
+ const [nftImageError, setNftImageError] = (0, import_react40.useState)(false);
10664
+ const [logoError, setLogoError] = (0, import_react40.useState)(false);
10489
10665
  const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
10490
- const qc = (0, import_react_query27.useQueryClient)();
10666
+ const qc = (0, import_react_query28.useQueryClient)();
10491
10667
  const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
10492
10668
  const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
10493
- const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query27.useQuery)({
10669
+ const isNft = isNftAsset(asset);
10670
+ const nftImage = getNftImage(asset);
10671
+ const isSecurity = isSecurityToken(asset);
10672
+ const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query28.useQuery)({
10494
10673
  retry: false,
10495
10674
  staleTime: 4 * 60 * 1e3,
10496
- enabled: !!address && !!asset.symbol && !isProjectAsset,
10675
+ enabled: !!address && !!asset.symbol && !isProjectAsset && !isNft && !isSecurity,
10497
10676
  queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
10498
10677
  queryFn: async () => await getAssetRate2(asset.symbol)
10499
10678
  });
@@ -10509,22 +10688,63 @@ function PortfolioItem(props) {
10509
10688
  ),
10510
10689
  onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
10511
10690
  children: [
10512
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
10691
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
10513
10692
  "div",
10514
10693
  {
10515
10694
  className: cn(
10516
- "flex-none w-10 h-10 bg-[var(--l-pass-fg)] rounded-full flex items-center justify-center",
10517
- "group-hover:opacity-60 transition-opacity"
10695
+ "flex-none flex items-center justify-center overflow-hidden relative",
10696
+ "group-hover:opacity-60 transition-opacity",
10697
+ // NFTs get rounded corners, tokens get circular
10698
+ isNft ? "w-12 h-12 rounded-lg" : "w-10 h-10 rounded-full",
10699
+ (!asset.logo || logoError) && !nftImage && "bg-[var(--l-pass-fg)]"
10518
10700
  ),
10519
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) })
10701
+ children: [
10702
+ isNft && nftImage && !nftImageError ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
10703
+ "img",
10704
+ {
10705
+ src: nftImage,
10706
+ alt: asset.nftMetadata?.name || asset.name,
10707
+ className: "w-full h-full object-cover",
10708
+ onError: () => setNftImageError(true)
10709
+ }
10710
+ ) : isNft && (!nftImage || nftImageError) ? (
10711
+ // NFT placeholder when no image available
10712
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Image, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
10713
+ ) : asset.logo && !logoError ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
10714
+ "img",
10715
+ {
10716
+ src: asset.logo,
10717
+ alt: asset.symbol,
10718
+ className: "w-full h-full object-cover",
10719
+ onError: () => setLogoError(true)
10720
+ }
10721
+ ) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
10722
+ isNft && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
10723
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
10724
+ "div",
10725
+ {
10726
+ className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-amber-500 flex items-center justify-center",
10727
+ title: "Security Token (ERC-3643)",
10728
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Shield, { className: "w-2.5 h-2.5 text-white" })
10729
+ }
10730
+ )
10731
+ ]
10520
10732
  }
10521
10733
  ),
10522
10734
  /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex-1", children: [
10523
10735
  /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex items-center justify-between text-xs", children: [
10524
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: asset.name }),
10525
- !isProjectAsset && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" })
10736
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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") }),
10737
+ !isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
10738
+ isNft && "type" in asset && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)] uppercase text-[10px]", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
10739
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-amber-500 uppercase text-[10px] font-medium", children: "Security Token" })
10526
10740
  ] }),
10527
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: [
10741
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
10742
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
10743
+ "tokenId" in asset && asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
10744
+ "#",
10745
+ asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
10746
+ ] })
10747
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
10528
10748
  /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { children: [
10529
10749
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: formatValue(Number(renderBalance)) }),
10530
10750
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: " " + asset.symbol })
@@ -10536,7 +10756,7 @@ function PortfolioItem(props) {
10536
10756
  currency: "USD",
10537
10757
  style: "currency"
10538
10758
  }) })
10539
- ] })
10759
+ ] }) })
10540
10760
  ] })
10541
10761
  ]
10542
10762
  }
@@ -10549,12 +10769,14 @@ function PortfolioItem(props) {
10549
10769
  var import_jsx_runtime53 = require("react/jsx-runtime");
10550
10770
  function PortfolioMenu() {
10551
10771
  const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
10552
- const qc = (0, import_react_query28.useQueryClient)();
10772
+ const qc = (0, import_react_query29.useQueryClient)();
10553
10773
  const setPage = useLayoutDataStore((st) => st.setPage);
10554
10774
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10555
10775
  const address = useLumiaPassportSession((st) => st.address);
10556
- const { assets, refreshBalances, isLoading } = useAssets(address);
10557
- const refreshAllAssetsBalances = (0, import_react40.useCallback)(() => {
10776
+ const { assets, refreshBalances, isLoading, error, isBlockscoutAvailable } = useBlockscoutAssets({
10777
+ address
10778
+ });
10779
+ const refreshAllAssetsBalances = (0, import_react41.useCallback)(() => {
10558
10780
  Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
10559
10781
  refreshBalances();
10560
10782
  }, [qc, projectAssets, refreshBalances]);
@@ -10583,6 +10805,10 @@ function PortfolioMenu() {
10583
10805
  )
10584
10806
  ] }),
10585
10807
  /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10808
+ error && !isBlockscoutAvailable && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("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: [
10809
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
10810
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm", children: error.message })
10811
+ ] }),
10586
10812
  isLoading && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10587
10813
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.Loader, { className: "h-5 w-5 animate-spin" }),
10588
10814
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
@@ -10599,7 +10825,7 @@ function PortfolioMenu() {
10599
10825
  address,
10600
10826
  asset
10601
10827
  },
10602
- `${asset.type}-${asset.address || "native"}-${index}`
10828
+ `${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
10603
10829
  ))
10604
10830
  ] })
10605
10831
  ] })
@@ -10609,9 +10835,9 @@ function PortfolioMenu() {
10609
10835
  }
10610
10836
 
10611
10837
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
10612
- var import_react_query29 = require("@tanstack/react-query");
10838
+ var import_react_query30 = require("@tanstack/react-query");
10613
10839
  var import_lucide_react36 = require("lucide-react");
10614
- var import_react41 = require("react");
10840
+ var import_react42 = require("react");
10615
10841
  init_auth();
10616
10842
  init_keyshare();
10617
10843
  init_iframe_manager();
@@ -10628,28 +10854,28 @@ function parseOS(ua) {
10628
10854
  return null;
10629
10855
  }
10630
10856
  function SecurityMenu() {
10631
- const qc = (0, import_react_query29.useQueryClient)();
10857
+ const qc = (0, import_react_query30.useQueryClient)();
10632
10858
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
10633
10859
  const setPage = useLayoutDataStore((st) => st.setPage);
10634
10860
  const userId = import_auth3.jwtTokenManager.getUserId();
10635
- (0, import_react41.useEffect)(() => {
10861
+ (0, import_react42.useEffect)(() => {
10636
10862
  if (!userId) setPage("main-menu" /* MAIN_MENU */);
10637
10863
  }, [userId, setPage]);
10638
- const [localInfo, setLocalInfo] = (0, import_react41.useState)(null);
10639
- const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react41.useState)(null);
10640
- const [recoveryBrowser, setRecoveryBrowser] = (0, import_react41.useState)(null);
10641
- const [recoveryUa, setRecoveryUa] = (0, import_react41.useState)(null);
10642
- const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react41.useState)(null);
10643
- const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react41.useState)(null);
10644
- const [recoveryCountry, setRecoveryCountry] = (0, import_react41.useState)(null);
10645
- const [hasServerBackup, setHasServerBackup] = (0, import_react41.useState)(false);
10646
- const [trustedApps, setTrustedApps] = (0, import_react41.useState)([]);
10647
- const [appToRemove, setAppToRemove] = (0, import_react41.useState)(null);
10864
+ const [localInfo, setLocalInfo] = (0, import_react42.useState)(null);
10865
+ const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react42.useState)(null);
10866
+ const [recoveryBrowser, setRecoveryBrowser] = (0, import_react42.useState)(null);
10867
+ const [recoveryUa, setRecoveryUa] = (0, import_react42.useState)(null);
10868
+ const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react42.useState)(null);
10869
+ const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react42.useState)(null);
10870
+ const [recoveryCountry, setRecoveryCountry] = (0, import_react42.useState)(null);
10871
+ const [hasServerBackup, setHasServerBackup] = (0, import_react42.useState)(false);
10872
+ const [trustedApps, setTrustedApps] = (0, import_react42.useState)([]);
10873
+ const [appToRemove, setAppToRemove] = (0, import_react42.useState)(null);
10648
10874
  const {
10649
10875
  data: recoveryData,
10650
10876
  isFetching: isRecoveryRefreshing
10651
10877
  // error: recoveryError
10652
- } = (0, import_react_query29.useQuery)({
10878
+ } = (0, import_react_query30.useQuery)({
10653
10879
  enabled: !!userId,
10654
10880
  queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
10655
10881
  queryFn: async () => {
@@ -10663,7 +10889,7 @@ function SecurityMenu() {
10663
10889
  return { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats };
10664
10890
  }
10665
10891
  });
10666
- (0, import_react41.useEffect)(() => {
10892
+ (0, import_react42.useEffect)(() => {
10667
10893
  if (!recoveryData) return;
10668
10894
  const { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats } = recoveryData;
10669
10895
  setLocalInfo(keyshareInfo);
@@ -10895,21 +11121,21 @@ function SecurityMenu() {
10895
11121
 
10896
11122
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10897
11123
  var import_lucide_react37 = require("lucide-react");
10898
- var import_react43 = require("react");
10899
- var import_viem6 = require("viem");
10900
- var import_wagmi3 = require("wagmi");
11124
+ var import_react45 = require("react");
11125
+ var import_viem7 = require("viem");
11126
+ var import_wagmi4 = require("wagmi");
10901
11127
 
10902
11128
  // src/hooks/useSendTransaction.ts
10903
- var import_react42 = require("react");
11129
+ var import_react43 = require("react");
10904
11130
  var import_viem5 = require("viem");
10905
11131
  init_account();
10906
11132
  function useSendTransaction() {
10907
11133
  const session = useLumiaPassportSession((st) => st.session);
10908
11134
  const address = useLumiaPassportSession((st) => st.address);
10909
- const [isLoading, setIsLoading] = (0, import_react42.useState)(false);
10910
- const [error, setError] = (0, import_react42.useState)(null);
10911
- const [userOpHash, setUserOpHash] = (0, import_react42.useState)(null);
10912
- const sendTransaction = (0, import_react42.useCallback)(
11135
+ const [isLoading, setIsLoading] = (0, import_react43.useState)(false);
11136
+ const [error, setError] = (0, import_react43.useState)(null);
11137
+ const [userOpHash, setUserOpHash] = (0, import_react43.useState)(null);
11138
+ const sendTransaction = (0, import_react43.useCallback)(
10913
11139
  async (params) => {
10914
11140
  if (!session || !address) {
10915
11141
  setError("No active session");
@@ -10949,7 +11175,7 @@ function useSendTransaction() {
10949
11175
  },
10950
11176
  [session, address]
10951
11177
  );
10952
- const reset = (0, import_react42.useCallback)(() => {
11178
+ const reset = (0, import_react43.useCallback)(() => {
10953
11179
  setError(null);
10954
11180
  setUserOpHash(null);
10955
11181
  setIsLoading(false);
@@ -10963,6 +11189,167 @@ function useSendTransaction() {
10963
11189
  };
10964
11190
  }
10965
11191
 
11192
+ // src/modules/assets.ts
11193
+ var import_react44 = __toESM(require("react"), 1);
11194
+ var import_wagmi3 = require("wagmi");
11195
+ var import_viem6 = require("viem");
11196
+ init_base();
11197
+ var COMMON_TOKENS = [
11198
+ // Add real token addresses here when available
11199
+ // {
11200
+ // address: '0x....',
11201
+ // name: 'USD Coin',
11202
+ // symbol: 'USDC',
11203
+ // decimals: 6,
11204
+ // logo: 'https://...'
11205
+ // }
11206
+ ];
11207
+ function useAssets(address) {
11208
+ const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = (0, import_wagmi3.useBalance)({
11209
+ address,
11210
+ chainId: lumiaBeam.id,
11211
+ query: {
11212
+ enabled: !!address
11213
+ }
11214
+ });
11215
+ const tokenContracts = COMMON_TOKENS.map((token) => ({
11216
+ address: token.address,
11217
+ abi: import_viem6.erc20Abi,
11218
+ functionName: "balanceOf",
11219
+ args: [address],
11220
+ chainId: lumiaBeam.id
11221
+ }));
11222
+ const readContractsResult = (0, import_wagmi3.useReadContracts)({
11223
+ contracts: tokenContracts,
11224
+ query: {
11225
+ enabled: !!address && COMMON_TOKENS.length > 0
11226
+ }
11227
+ });
11228
+ const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
11229
+ const getAllAssets = () => {
11230
+ const assets = [];
11231
+ if (nativeBalance) {
11232
+ assets.push({
11233
+ type: "native",
11234
+ name: "Lumia",
11235
+ symbol: "LUMIA",
11236
+ balance: nativeBalance.value.toString(),
11237
+ formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
11238
+ decimals: 18
11239
+ });
11240
+ }
11241
+ if (tokenBalances && COMMON_TOKENS.length > 0) {
11242
+ tokenBalances.forEach((balance, index) => {
11243
+ const token = COMMON_TOKENS[index];
11244
+ if (balance.status === "success" && balance.result) {
11245
+ const balanceValue = balance.result;
11246
+ const formattedBalance = (0, import_viem6.formatUnits)(balanceValue, token.decimals);
11247
+ assets.push({
11248
+ type: "erc20",
11249
+ address: token.address,
11250
+ name: token.name,
11251
+ symbol: token.symbol,
11252
+ balance: balanceValue.toString(),
11253
+ formattedBalance: parseFloat(formattedBalance).toFixed(4),
11254
+ decimals: token.decimals,
11255
+ logo: token.logo
11256
+ });
11257
+ }
11258
+ });
11259
+ }
11260
+ return assets;
11261
+ };
11262
+ const getTokenBalance = (tokenAddress) => {
11263
+ const tokenIndex = COMMON_TOKENS.findIndex(
11264
+ (token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
11265
+ );
11266
+ if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
11267
+ return null;
11268
+ }
11269
+ const balance = tokenBalances[tokenIndex];
11270
+ const token = COMMON_TOKENS[tokenIndex];
11271
+ if (balance.status === "success" && balance.result) {
11272
+ const balanceValue = balance.result;
11273
+ const formattedBalance = (0, import_viem6.formatUnits)(balanceValue, token.decimals);
11274
+ return {
11275
+ address: token.address,
11276
+ name: token.name,
11277
+ symbol: token.symbol,
11278
+ decimals: token.decimals,
11279
+ balance: balanceValue.toString(),
11280
+ formattedBalance: parseFloat(formattedBalance).toFixed(4),
11281
+ logo: token.logo
11282
+ };
11283
+ }
11284
+ return null;
11285
+ };
11286
+ const refreshBalances = async () => {
11287
+ await Promise.all([
11288
+ refetchNativeBalance(),
11289
+ refetchTokenBalances()
11290
+ ]);
11291
+ };
11292
+ return {
11293
+ nativeBalance,
11294
+ tokenBalances,
11295
+ assets: getAllAssets(),
11296
+ getTokenBalance,
11297
+ refreshBalances,
11298
+ isLoading: nativeBalanceLoading || tokenBalancesLoading,
11299
+ isConnected: !!address
11300
+ };
11301
+ }
11302
+ function useTokenInfo(tokenAddress) {
11303
+ const readContractsResult = (0, import_wagmi3.useReadContracts)({
11304
+ contracts: [
11305
+ { address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
11306
+ { address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
11307
+ { address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
11308
+ ]
11309
+ });
11310
+ const { data: tokenData, isLoading } = readContractsResult;
11311
+ if (!tokenData || isLoading) {
11312
+ return { isLoading, tokenInfo: null };
11313
+ }
11314
+ const [nameResult, symbolResult, decimalsResult] = tokenData;
11315
+ if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
11316
+ return {
11317
+ isLoading: false,
11318
+ tokenInfo: {
11319
+ name: nameResult.result,
11320
+ symbol: symbolResult.result,
11321
+ decimals: decimalsResult.result,
11322
+ address: tokenAddress
11323
+ }
11324
+ };
11325
+ }
11326
+ return { isLoading: false, tokenInfo: null };
11327
+ }
11328
+ function useTokenBalance(tokenAddress, userAddress) {
11329
+ const { data: balance, isLoading, refetch } = (0, import_wagmi3.useReadContract)({
11330
+ address: tokenAddress,
11331
+ abi: import_viem6.erc20Abi,
11332
+ functionName: "balanceOf",
11333
+ args: userAddress ? [userAddress] : void 0,
11334
+ chainId: lumiaBeam.id,
11335
+ query: {
11336
+ enabled: !!userAddress
11337
+ }
11338
+ });
11339
+ const { tokenInfo } = useTokenInfo(tokenAddress);
11340
+ const formattedBalance = import_react44.default.useMemo(() => {
11341
+ if (!balance || !tokenInfo) return "0";
11342
+ return (0, import_viem6.formatUnits)(balance, tokenInfo.decimals);
11343
+ }, [balance, tokenInfo]);
11344
+ return {
11345
+ balance,
11346
+ formattedBalance,
11347
+ tokenInfo,
11348
+ isLoading,
11349
+ refetch
11350
+ };
11351
+ }
11352
+
10966
11353
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10967
11354
  init_base();
10968
11355
  var import_jsx_runtime55 = require("react/jsx-runtime");
@@ -10973,17 +11360,17 @@ function SendLumiaMenu() {
10973
11360
  const address = useLumiaPassportSession((st) => st.address);
10974
11361
  const { assets } = useAssets(address);
10975
11362
  const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
10976
- const { refetch: refetchBalance } = (0, import_wagmi3.useBalance)({
11363
+ const { refetch: refetchBalance } = (0, import_wagmi4.useBalance)({
10977
11364
  address,
10978
11365
  chainId: lumiaBeam.id
10979
11366
  });
10980
- const [recipient, setRecipient] = (0, import_react43.useState)("");
10981
- const [amount, setAmount] = (0, import_react43.useState)("");
10982
- const [txStep, setTxStep] = (0, import_react43.useState)("input");
10983
- const [validationError, setValidationError] = (0, import_react43.useState)(null);
11367
+ const [recipient, setRecipient] = (0, import_react45.useState)("");
11368
+ const [amount, setAmount] = (0, import_react45.useState)("");
11369
+ const [txStep, setTxStep] = (0, import_react45.useState)("input");
11370
+ const [validationError, setValidationError] = (0, import_react45.useState)(null);
10984
11371
  const nativeAsset = assets.find((a) => a.type === "native");
10985
11372
  const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
10986
- (0, import_react43.useEffect)(() => {
11373
+ (0, import_react45.useEffect)(() => {
10987
11374
  if (open) {
10988
11375
  setTxStep("input");
10989
11376
  setValidationError(null);
@@ -10995,7 +11382,7 @@ function SendLumiaMenu() {
10995
11382
  setValidationError("Please enter a recipient address");
10996
11383
  return false;
10997
11384
  }
10998
- if (!(0, import_viem6.isAddress)(recipient)) {
11385
+ if (!(0, import_viem7.isAddress)(recipient)) {
10999
11386
  setValidationError("Invalid recipient address");
11000
11387
  return false;
11001
11388
  }
@@ -11147,7 +11534,7 @@ function SendLumiaMenu() {
11147
11534
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
11148
11535
  var import_lucide_react38 = require("lucide-react");
11149
11536
  var import_qrcode = __toESM(require("qrcode"), 1);
11150
- var import_react44 = require("react");
11537
+ var import_react46 = require("react");
11151
11538
  init_clients();
11152
11539
  var import_jsx_runtime56 = require("react/jsx-runtime");
11153
11540
  function ReceiveLumiaMenu() {
@@ -11156,9 +11543,9 @@ function ReceiveLumiaMenu() {
11156
11543
  const setPage = useLayoutDataStore((st) => st.setPage);
11157
11544
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11158
11545
  const open = page === "receive";
11159
- const [qrCodeUrl, setQrCodeUrl] = (0, import_react44.useState)("");
11160
- const [copied, setCopied] = (0, import_react44.useState)(false);
11161
- (0, import_react44.useEffect)(() => {
11546
+ const [qrCodeUrl, setQrCodeUrl] = (0, import_react46.useState)("");
11547
+ const [copied, setCopied] = (0, import_react46.useState)(false);
11548
+ (0, import_react46.useEffect)(() => {
11162
11549
  if (open && address) {
11163
11550
  import_qrcode.default.toDataURL(address, {
11164
11551
  width: 200,
@@ -11171,7 +11558,7 @@ function ReceiveLumiaMenu() {
11171
11558
  });
11172
11559
  }
11173
11560
  }, [open, address]);
11174
- const handleCopy = (0, import_react44.useCallback)(async () => {
11561
+ const handleCopy = (0, import_react46.useCallback)(async () => {
11175
11562
  if (!address) return;
11176
11563
  try {
11177
11564
  await navigator.clipboard.writeText(address);
@@ -11217,7 +11604,7 @@ function ReceiveLumiaMenu() {
11217
11604
 
11218
11605
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
11219
11606
  var import_lucide_react40 = require("lucide-react");
11220
- var import_react45 = require("react");
11607
+ var import_react47 = require("react");
11221
11608
 
11222
11609
  // src/internal/components/SettingsMenu/constants.ts
11223
11610
  var import_lucide_react39 = require("lucide-react");
@@ -11251,7 +11638,7 @@ function SettingsMenu() {
11251
11638
  const setPage = useLayoutDataStore((st) => st.setPage);
11252
11639
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
11253
11640
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
11254
- (0, import_react45.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
11641
+ (0, import_react47.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
11255
11642
  useProvidersList();
11256
11643
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
11257
11644
  const highlightedKeys = settingsNotifications.map((n) => n.target);
@@ -11310,9 +11697,9 @@ function TermsOfService() {
11310
11697
  }
11311
11698
 
11312
11699
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
11313
- var import_react_query30 = require("@tanstack/react-query");
11700
+ var import_react_query31 = require("@tanstack/react-query");
11314
11701
  var import_lucide_react43 = require("lucide-react");
11315
- var import_react46 = require("react");
11702
+ var import_react48 = require("react");
11316
11703
 
11317
11704
  // src/internal/components/TransactionsMenu/api.ts
11318
11705
  init_base();
@@ -11788,24 +12175,24 @@ function TransactionsGroup(props) {
11788
12175
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
11789
12176
  var import_jsx_runtime62 = require("react/jsx-runtime");
11790
12177
  function TransactionsMenu() {
11791
- const qc = (0, import_react_query30.useQueryClient)();
12178
+ const qc = (0, import_react_query31.useQueryClient)();
11792
12179
  const address = useLumiaPassportSession((st) => st.address);
11793
12180
  const page = useLayoutDataStore((st) => st.page);
11794
12181
  const setPage = useLayoutDataStore((st) => st.setPage);
11795
12182
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11796
- const [expandedGroups, setExpandedGroups] = (0, import_react46.useState)({});
12183
+ const [expandedGroups, setExpandedGroups] = (0, import_react48.useState)({});
11797
12184
  const {
11798
12185
  data: txHistoryGroups = [],
11799
12186
  isLoading: isTxHistoryLoading,
11800
12187
  isFetching: isTxHistoryFetching,
11801
12188
  error: txHistoryError
11802
- } = (0, import_react_query30.useQuery)({
12189
+ } = (0, import_react_query31.useQuery)({
11803
12190
  retry: false,
11804
12191
  enabled: !!address && page === "transactions",
11805
12192
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
11806
12193
  queryFn: () => getTransactionsListQuery(address)
11807
12194
  });
11808
- const refreshTxHistory = (0, import_react46.useCallback)(
12195
+ const refreshTxHistory = (0, import_react48.useCallback)(
11809
12196
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
11810
12197
  [qc, address]
11811
12198
  );
@@ -11965,7 +12352,7 @@ function usePageMapper() {
11965
12352
  setIsDialogOpen,
11966
12353
  setIsDialogClosing
11967
12354
  } = useLayoutStore();
11968
- const closeDialog = (0, import_react47.useCallback)(() => {
12355
+ const closeDialog = (0, import_react49.useCallback)(() => {
11969
12356
  setIsDialogClosing(true);
11970
12357
  setTimeout(() => {
11971
12358
  setDialogContent(null);
@@ -11976,7 +12363,7 @@ function usePageMapper() {
11976
12363
  setIsDialogOpen(false);
11977
12364
  }, CLEAR_DIALOG_TIMEOUT);
11978
12365
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
11979
- const openDialog = (0, import_react47.useCallback)(
12366
+ const openDialog = (0, import_react49.useCallback)(
11980
12367
  (pageItem) => {
11981
12368
  const PageContentComponent = pageItem.component;
11982
12369
  setDialogTitle(pageItem.title);
@@ -11986,7 +12373,7 @@ function usePageMapper() {
11986
12373
  },
11987
12374
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
11988
12375
  );
11989
- (0, import_react47.useEffect)(() => {
12376
+ (0, import_react49.useEffect)(() => {
11990
12377
  if (page === null) return closeDialog();
11991
12378
  const pageItem = protectedRoutes[page];
11992
12379
  if (!pageItem) {
@@ -11999,7 +12386,7 @@ function usePageMapper() {
11999
12386
  }
12000
12387
 
12001
12388
  // src/internal/hooks/useSettingsNotifications.ts
12002
- var import_react48 = require("react");
12389
+ var import_react50 = require("react");
12003
12390
  init_auth();
12004
12391
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
12005
12392
  id: "email-not-connected",
@@ -12016,13 +12403,13 @@ function useSettingsNotifications() {
12016
12403
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
12017
12404
  const providers = import_auth3.jwtTokenManager.getProviders();
12018
12405
  const hasEmail = providers.includes("email");
12019
- (0, import_react48.useEffect)(() => {
12406
+ (0, import_react50.useEffect)(() => {
12020
12407
  setSettingsNotifications({
12021
12408
  ...BACKUP_IS_NOT_CREATED_NOTIFICATION,
12022
12409
  status: hasServerVault ? "resolved" : "active"
12023
12410
  });
12024
12411
  }, [hasServerVault, setSettingsNotifications]);
12025
- (0, import_react48.useEffect)(() => {
12412
+ (0, import_react50.useEffect)(() => {
12026
12413
  setSettingsNotifications({
12027
12414
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
12028
12415
  status: hasEmail ? "resolved" : "active"
@@ -12031,7 +12418,7 @@ function useSettingsNotifications() {
12031
12418
  }
12032
12419
 
12033
12420
  // src/internal/hooks/useWalletStatus.ts
12034
- var import_react49 = require("react");
12421
+ var import_react51 = require("react");
12035
12422
  init_auth();
12036
12423
  function useWalletStatus() {
12037
12424
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
@@ -12041,7 +12428,7 @@ function useWalletStatus() {
12041
12428
  config: { current: config },
12042
12429
  callbacks
12043
12430
  } = useLumiaPassportConfig();
12044
- (0, import_react49.useEffect)(() => {
12431
+ (0, import_react51.useEffect)(() => {
12045
12432
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
12046
12433
  const userId = import_auth3.jwtTokenManager.getUserId();
12047
12434
  const hasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare();
@@ -12070,7 +12457,7 @@ function LumiaPassportDialog() {
12070
12457
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
12071
12458
  const setPage = useLayoutDataStore((st) => st.setPage);
12072
12459
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
12073
- (0, import_react50.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
12460
+ (0, import_react52.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
12074
12461
  usePageMapper();
12075
12462
  useAutoConnect();
12076
12463
  useCheckVaultStatus();
@@ -12111,23 +12498,23 @@ function LumiaPassportDialog() {
12111
12498
  }
12112
12499
 
12113
12500
  // src/internal/components/TssManager.tsx
12114
- var import_react51 = __toESM(require("react"), 1);
12501
+ var import_react53 = __toESM(require("react"), 1);
12115
12502
  init_auth();
12116
12503
  init_clients();
12117
- var TssManagerWithRef = import_react51.default.forwardRef((props, ref) => {
12504
+ var TssManagerWithRef = import_react53.default.forwardRef((props, ref) => {
12118
12505
  const { mpcPin } = props;
12119
12506
  const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
12120
12507
  const setStatus = useLumiaPassportSession((st) => st.setStatus);
12121
12508
  const setSession = useLumiaPassportSession((st) => st.setSession);
12122
12509
  const setAddress = useLumiaPassportSession((st) => st.setAddress);
12123
- const onSessionCreated = (0, import_react51.useCallback)(
12510
+ const onSessionCreated = (0, import_react53.useCallback)(
12124
12511
  (session, address) => {
12125
12512
  setSession(session);
12126
12513
  setAddress(address);
12127
12514
  },
12128
12515
  [setSession, setAddress]
12129
12516
  );
12130
- const createSessionWithKeyshare = import_react51.default.useCallback(
12517
+ const createSessionWithKeyshare = import_react53.default.useCallback(
12131
12518
  async (userId, hasServerKeyshare, isNewUser) => {
12132
12519
  setStatus("checking key management setup...");
12133
12520
  await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
@@ -12148,24 +12535,24 @@ var TssManagerWithRef = import_react51.default.forwardRef((props, ref) => {
12148
12535
  },
12149
12536
  [setStatus, usePaymaster, mpcPin]
12150
12537
  );
12151
- import_react51.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
12538
+ import_react53.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
12152
12539
  return null;
12153
12540
  });
12154
12541
 
12155
12542
  // src/internal/components/WalletConnectHandler.tsx
12156
12543
  var import_rainbowkit = require("@rainbow-me/rainbowkit");
12157
- var import_react_query31 = require("@tanstack/react-query");
12158
- var import_react52 = __toESM(require("react"), 1);
12159
- var import_wagmi4 = require("wagmi");
12544
+ var import_react_query32 = require("@tanstack/react-query");
12545
+ var import_react54 = __toESM(require("react"), 1);
12546
+ var import_wagmi5 = require("wagmi");
12160
12547
  init_wallet();
12161
12548
  function WalletConnectHandler() {
12162
- const qc = (0, import_react_query31.useQueryClient)();
12549
+ const qc = (0, import_react_query32.useQueryClient)();
12163
12550
  const callbacks = useLumiaPassportConfig().callbacks;
12164
12551
  const passportWalletAddress = useLumiaPassportSession((st) => st.address);
12165
- const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi4.useAccount)();
12552
+ const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi5.useAccount)();
12166
12553
  const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
12167
- const { disconnect } = (0, import_wagmi4.useDisconnect)();
12168
- const { signMessageAsync } = (0, import_wagmi4.useSignMessage)();
12554
+ const { disconnect } = (0, import_wagmi5.useDisconnect)();
12555
+ const { signMessageAsync } = (0, import_wagmi5.useSignMessage)();
12169
12556
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
12170
12557
  const setPage = useLayoutDataStore((st) => st.setPage);
12171
12558
  const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
@@ -12173,7 +12560,7 @@ function WalletConnectHandler() {
12173
12560
  const setManageWalletLinkError = useManageWalletStore((st) => st.setLinkError);
12174
12561
  const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
12175
12562
  const setProviderType = useManageWalletStore((st) => st.setProviderType);
12176
- const onLinkingComplete = (0, import_react52.useCallback)(
12563
+ const onLinkingComplete = (0, import_react54.useCallback)(
12177
12564
  async (success) => {
12178
12565
  setIsWalletLinking(false);
12179
12566
  if (!success && !passportWalletAddress) {
@@ -12200,8 +12587,8 @@ function WalletConnectHandler() {
12200
12587
  },
12201
12588
  [qc, passportWalletAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
12202
12589
  );
12203
- const [hasStartedLinking, setHasStartedLinking] = import_react52.default.useState(false);
12204
- (0, import_react52.useEffect)(() => {
12590
+ const [hasStartedLinking, setHasStartedLinking] = import_react54.default.useState(false);
12591
+ (0, import_react54.useEffect)(() => {
12205
12592
  if (isWalletLinking && !hasStartedLinking) {
12206
12593
  setHasStartedLinking(true);
12207
12594
  setProviderType(null);
@@ -12221,14 +12608,14 @@ function WalletConnectHandler() {
12221
12608
  if (isConnected) disconnect();
12222
12609
  }
12223
12610
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
12224
- (0, import_react52.useEffect)(() => {
12611
+ (0, import_react54.useEffect)(() => {
12225
12612
  if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
12226
12613
  console.log("[WalletConnectHandler] Modal closed without connecting");
12227
12614
  onLinkingComplete(false);
12228
12615
  setHasStartedLinking(false);
12229
12616
  }
12230
12617
  }, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
12231
- const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query31.useMutation)({
12618
+ const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query32.useMutation)({
12232
12619
  mutationFn: async (payload) => {
12233
12620
  const { chainId, signingWalletAddress } = payload;
12234
12621
  if (!signingWalletAddress || !chainId) {
@@ -12297,7 +12684,7 @@ function WalletConnectHandler() {
12297
12684
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
12298
12685
  }
12299
12686
  });
12300
- (0, import_react52.useEffect)(() => {
12687
+ (0, import_react54.useEffect)(() => {
12301
12688
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
12302
12689
  console.log("[WalletConnectHandler] handleWalletSign triggered");
12303
12690
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
@@ -12333,7 +12720,7 @@ var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
12333
12720
  }));
12334
12721
  function LumiaPassportSessionProvider({ children }) {
12335
12722
  const config = useLumiaPassportConfig().config;
12336
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_react53.Fragment, { children: [
12723
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_react55.Fragment, { children: [
12337
12724
  children,
12338
12725
  config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(WalletConnectHandler, {}),
12339
12726
  /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(BalanceFeedProvider, {}),
@@ -12359,15 +12746,15 @@ function notifyNoProjetctId(projectId) {
12359
12746
  }
12360
12747
 
12361
12748
  // src/context/WagmiContext.tsx
12362
- var import_wagmi6 = require("wagmi");
12749
+ var import_wagmi7 = require("wagmi");
12363
12750
 
12364
12751
  // src/config/wagmi.ts
12365
- var import_wagmi5 = require("wagmi");
12752
+ var import_wagmi6 = require("wagmi");
12366
12753
  init_base();
12367
- var wagmiConfig = (0, import_wagmi5.createConfig)({
12754
+ var wagmiConfig = (0, import_wagmi6.createConfig)({
12368
12755
  chains: [lumiaBeam],
12369
12756
  transports: {
12370
- [lumiaBeam.id]: (0, import_wagmi5.http)(lumiaBeam.rpcUrls.default.http[0], {
12757
+ [lumiaBeam.id]: (0, import_wagmi6.http)(lumiaBeam.rpcUrls.default.http[0], {
12371
12758
  timeout: 1e4,
12372
12759
  retryCount: 0,
12373
12760
  batch: false,
@@ -12380,19 +12767,19 @@ var wagmiConfig = (0, import_wagmi5.createConfig)({
12380
12767
  // src/context/WagmiContext.tsx
12381
12768
  var import_jsx_runtime66 = require("react/jsx-runtime");
12382
12769
  var LumiaWagmiProvider = ({ children }) => {
12383
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_wagmi6.WagmiProvider, { config: wagmiConfig, children });
12770
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_wagmi7.WagmiProvider, { config: wagmiConfig, children });
12384
12771
  };
12385
12772
 
12386
12773
  // src/context/LumiaPassportContext.tsx
12387
12774
  var import_jsx_runtime67 = require("react/jsx-runtime");
12388
- var LumiaPassportContext = (0, import_react54.createContext)(void 0);
12775
+ var LumiaPassportContext = (0, import_react56.createContext)(void 0);
12389
12776
  function LumiaPassportProvider(props) {
12390
12777
  const { children, projectId, initialConfig = {}, callbacks } = props;
12391
12778
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
12392
12779
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
12393
- (0, import_react54.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
12394
- const config = (0, import_react54.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
12395
- const updateConfig = (0, import_react54.useCallback)((updates) => {
12780
+ (0, import_react56.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
12781
+ const config = (0, import_react56.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
12782
+ const updateConfig = (0, import_react56.useCallback)((updates) => {
12396
12783
  const prev = config.current;
12397
12784
  const next = { ...prev };
12398
12785
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -12427,7 +12814,7 @@ function LumiaPassportProvider(props) {
12427
12814
  }
12428
12815
  config.current = next;
12429
12816
  }, []);
12430
- (0, import_react54.useEffect)(() => {
12817
+ (0, import_react56.useEffect)(() => {
12431
12818
  if (typeof window === "undefined" || !projectId) return;
12432
12819
  const mergedConfig = (0, import_lodash_es4.merge)(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
12433
12820
  updateConfig(mergedConfig);
@@ -12472,18 +12859,18 @@ function LumiaPassportProvider(props) {
12472
12859
  console.error("[LumiaPassport] Error setting up iframe manager:", error);
12473
12860
  }
12474
12861
  }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
12475
- const contextValue = (0, import_react54.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
12862
+ const contextValue = (0, import_react56.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
12476
12863
  return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
12477
12864
  }
12478
12865
  var useLumiaPassportConfig = () => {
12479
- const ctx = (0, import_react54.useContext)(LumiaPassportContext);
12866
+ const ctx = (0, import_react56.useContext)(LumiaPassportContext);
12480
12867
  if (!ctx) throw new Error("useLumiaPassportConfig must be used within a LumiaPassportProvider");
12481
12868
  return ctx;
12482
12869
  };
12483
12870
 
12484
12871
  // src/components/ConnectWalletButton.tsx
12485
12872
  var import_lucide_react44 = require("lucide-react");
12486
- var import_react55 = require("react");
12873
+ var import_react57 = require("react");
12487
12874
  init_auth();
12488
12875
  var import_jsx_runtime68 = (
12489
12876
  /** external Buttons can be provided */
@@ -12507,10 +12894,10 @@ function ConnectWalletButton(props) {
12507
12894
  const colorMode = useLayoutStore((st) => st.colorMode);
12508
12895
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
12509
12896
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
12510
- (0, import_react55.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12897
+ (0, import_react57.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12511
12898
  const avatar = import_auth3.jwtTokenManager.getAvatar();
12512
12899
  const displayName = import_auth3.jwtTokenManager.getDisplayName();
12513
- const indicators = (0, import_react55.useMemo)(() => {
12900
+ const indicators = (0, import_react57.useMemo)(() => {
12514
12901
  const userId = import_auth3.jwtTokenManager.getUserId();
12515
12902
  if (!userId) return { server: false, local: false, backup: false };
12516
12903
  const server = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
@@ -12679,13 +13066,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
12679
13066
  var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
12680
13067
 
12681
13068
  // src/hooks/useLumiaPassportOpen.ts
12682
- var import_react56 = require("react");
13069
+ var import_react58 = require("react");
12683
13070
  function useLumiaPassportOpen() {
12684
13071
  const page = useLayoutDataStore((st) => st.page);
12685
13072
  const setPage = useLayoutDataStore((st) => st.setPage);
12686
13073
  const setPageParams = useLayoutDataStore((st) => st.setPageParams);
12687
13074
  const address = useLumiaPassportSession((st) => st.address);
12688
- const open = (0, import_react56.useCallback)(
13075
+ const open = (0, import_react58.useCallback)(
12689
13076
  (passportPage, params) => {
12690
13077
  if (!address) return setPage("auth" /* AUTH */);
12691
13078
  if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -12694,12 +13081,12 @@ function useLumiaPassportOpen() {
12694
13081
  },
12695
13082
  [setPage, setPageParams, address]
12696
13083
  );
12697
- const close = (0, import_react56.useCallback)(() => setPage(null), [setPage]);
13084
+ const close = (0, import_react58.useCallback)(() => setPage(null), [setPage]);
12698
13085
  return { open, close, isOpen: page !== null };
12699
13086
  }
12700
13087
 
12701
13088
  // src/hooks/useLumiaPassportColorMode.ts
12702
- var import_react57 = require("react");
13089
+ var import_react59 = require("react");
12703
13090
  function useLumiaPassportColorMode() {
12704
13091
  const {
12705
13092
  config: { current: config }
@@ -12707,14 +13094,14 @@ function useLumiaPassportColorMode() {
12707
13094
  const preferedColorMode = config?.preferedColorMode;
12708
13095
  const colorMode = useLayoutStore((st) => st.colorMode);
12709
13096
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
12710
- const setColorMode = (0, import_react57.useCallback)(
13097
+ const setColorMode = (0, import_react59.useCallback)(
12711
13098
  (mode) => {
12712
13099
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
12713
13100
  handleStoreColorMode(mode);
12714
13101
  },
12715
13102
  [handleStoreColorMode]
12716
13103
  );
12717
- (0, import_react57.useEffect)(() => {
13104
+ (0, import_react59.useEffect)(() => {
12718
13105
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
12719
13106
  if (!targetColorMode && !preferedColorMode) {
12720
13107
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -12757,8 +13144,8 @@ function ThemeToggle(props) {
12757
13144
 
12758
13145
  // src/context/RainbowKitContext.tsx
12759
13146
  var import_rainbowkit3 = require("@rainbow-me/rainbowkit");
12760
- var import_react58 = require("react");
12761
- var import_wagmi8 = require("wagmi");
13147
+ var import_react60 = require("react");
13148
+ var import_wagmi9 = require("wagmi");
12762
13149
 
12763
13150
  // src/config/rainbowkit.ts
12764
13151
  var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
@@ -12989,8 +13376,8 @@ var import_jsx_runtime70 = require("react/jsx-runtime");
12989
13376
  function LumiaRainbowKitProvider({ children }) {
12990
13377
  const config = useLumiaPassportConfig().config;
12991
13378
  const colorMode = useLayoutStore((st) => st.colorMode);
12992
- const rainbowConfig2 = (0, import_react58.useMemo)(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
12993
- const customTheme = (0, import_react58.useMemo)(
13379
+ const rainbowConfig2 = (0, import_react60.useMemo)(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
13380
+ const customTheme = (0, import_react60.useMemo)(
12994
13381
  () => colorMode === "dark" ? {
12995
13382
  ...(0, import_rainbowkit3.darkTheme)(),
12996
13383
  colors: { ...(0, import_rainbowkit3.darkTheme)().colors, ...rainbowTheme.darkMode.colors },
@@ -13005,7 +13392,7 @@ function LumiaRainbowKitProvider({ children }) {
13005
13392
  [colorMode]
13006
13393
  );
13007
13394
  if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_jsx_runtime70.Fragment, { children });
13008
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_wagmi8.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
13395
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_wagmi9.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
13009
13396
  }
13010
13397
 
13011
13398
  // src/internal/components/UserOpStatus.tsx
@@ -13442,14 +13829,14 @@ var Hash = ({
13442
13829
  };
13443
13830
 
13444
13831
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
13445
- var import_react59 = require("react");
13832
+ var import_react61 = require("react");
13446
13833
  init_base();
13447
13834
  var import_jsx_runtime75 = require("react/jsx-runtime");
13448
13835
  var TransactionsList = ({ address, itemsCount = 10 }) => {
13449
- const [transactions, setTransactions] = (0, import_react59.useState)([]);
13450
- const [loading, setLoading] = (0, import_react59.useState)(true);
13451
- const [error, setError] = (0, import_react59.useState)(null);
13452
- (0, import_react59.useEffect)(() => {
13836
+ const [transactions, setTransactions] = (0, import_react61.useState)([]);
13837
+ const [loading, setLoading] = (0, import_react61.useState)(true);
13838
+ const [error, setError] = (0, import_react61.useState)(null);
13839
+ (0, import_react61.useEffect)(() => {
13453
13840
  const fetchTransactions = async () => {
13454
13841
  try {
13455
13842
  setLoading(true);
@@ -13751,11 +14138,11 @@ function useUserOpStatus(options = {}) {
13751
14138
 
13752
14139
  // src/hooks/useLogout.ts
13753
14140
  var import_auth20 = require("@lumiapassport/core/auth");
13754
- var import_react60 = require("react");
14141
+ var import_react62 = require("react");
13755
14142
  function useLogout() {
13756
14143
  const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
13757
14144
  const { callbacks } = useLumiaPassportConfig();
13758
- const logout2 = (0, import_react60.useCallback)(async () => {
14145
+ const logout2 = (0, import_react62.useCallback)(async () => {
13759
14146
  const prevAddress = address;
13760
14147
  let userId = null;
13761
14148
  setIsLoading(true);
@@ -13793,20 +14180,20 @@ init_auth();
13793
14180
  init_profile();
13794
14181
 
13795
14182
  // src/modules/transactions.ts
13796
- var import_wagmi9 = require("wagmi");
13797
- var import_viem7 = require("viem");
14183
+ var import_wagmi10 = require("wagmi");
14184
+ var import_viem8 = require("viem");
13798
14185
  init_base();
13799
14186
  function useTransactions() {
13800
- const publicClient2 = (0, import_wagmi9.usePublicClient)({ chainId: lumiaBeam.id });
13801
- const { data: walletClient } = (0, import_wagmi9.useWalletClient)();
13802
- const { address } = (0, import_wagmi9.useAccount)();
14187
+ const publicClient2 = (0, import_wagmi10.usePublicClient)({ chainId: lumiaBeam.id });
14188
+ const { data: walletClient } = (0, import_wagmi10.useWalletClient)();
14189
+ const { address } = (0, import_wagmi10.useAccount)();
13803
14190
  const sendTransaction = async (params) => {
13804
14191
  if (!walletClient) {
13805
14192
  throw new Error("Wallet not connected");
13806
14193
  }
13807
14194
  const txParams = {
13808
14195
  to: params.to,
13809
- value: (0, import_viem7.parseEther)(params.value),
14196
+ value: (0, import_viem8.parseEther)(params.value),
13810
14197
  data: params.data,
13811
14198
  chain: lumiaBeam
13812
14199
  };
@@ -13856,9 +14243,9 @@ function useTransactions() {
13856
14243
  }
13857
14244
 
13858
14245
  // src/modules/smartAccountTransactions.ts
13859
- var import_viem8 = require("viem");
14246
+ var import_viem9 = require("viem");
13860
14247
  init_base();
13861
- var USER_OP_EVENT = (0, import_viem8.parseAbiItem)(
14248
+ var USER_OP_EVENT = (0, import_viem9.parseAbiItem)(
13862
14249
  "event UserOperationEvent(bytes32 indexed userOpHash, address indexed sender, address indexed paymaster, uint256 nonce, bool success, uint256 actualGasCost, uint256 actualGasUsed)"
13863
14250
  );
13864
14251
  function useSmartAccountTransactions() {