@lumiapassport/ui-kit 1.4.17 → 1.5.1

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
@@ -2346,7 +2346,9 @@ function getIframeManager(config) {
2346
2346
  iframeManagerInstance = new IframeManager(config);
2347
2347
  }
2348
2348
  if (!iframeManagerInstance) {
2349
- throw new Error("IframeManager not initialized. Call with config first.");
2349
+ throw new Error(
2350
+ 'IframeManager not initialized. This usually means projectId is not configured.\n\nTo fix this:\n1. Get your projectId from https://dashboard.lumiapassport.com/\n2. Add it to LumiaPassportProvider:\n <LumiaPassportProvider projectId="your-project-id">\n\nFor more details, see the documentation.'
2351
+ );
2350
2352
  }
2351
2353
  return iframeManagerInstance;
2352
2354
  }
@@ -2381,12 +2383,14 @@ var init_iframe_manager = __esm({
2381
2383
  this.projectId = config.projectId;
2382
2384
  this.debug = config.debug || false;
2383
2385
  this.onWalletReadyCallback = config.onWalletReady;
2386
+ this.themeColors = config.themeColors;
2384
2387
  this.readyPromise = new Promise((resolve) => {
2385
2388
  this.readyResolve = resolve;
2386
2389
  });
2387
2390
  this.log("[IframeManager] Initialized with:", {
2388
2391
  iframeUrl: this.iframeUrl,
2389
- projectId: this.projectId
2392
+ projectId: this.projectId,
2393
+ hasThemeColors: !!this.themeColors
2390
2394
  });
2391
2395
  }
2392
2396
  /**
@@ -2397,7 +2401,18 @@ var init_iframe_manager = __esm({
2397
2401
  return this.readyPromise;
2398
2402
  }
2399
2403
  this.iframe = document.createElement("iframe");
2400
- this.iframe.src = this.iframeUrl;
2404
+ let iframeUrl = this.iframeUrl;
2405
+ if (this.themeColors) {
2406
+ const params = new URLSearchParams();
2407
+ if (this.themeColors.background) params.set("bg", this.themeColors.background);
2408
+ if (this.themeColors.text) params.set("text", this.themeColors.text);
2409
+ if (this.themeColors.textSecondary) params.set("textSec", this.themeColors.textSecondary);
2410
+ if (this.themeColors.border) params.set("border", this.themeColors.border);
2411
+ if (params.toString()) {
2412
+ iframeUrl += (iframeUrl.includes("?") ? "&" : "?") + params.toString();
2413
+ }
2414
+ }
2415
+ this.iframe.src = iframeUrl;
2401
2416
  this.iframe.id = "lumia-passport-iframe";
2402
2417
  this.iframe.style.display = "none";
2403
2418
  this.iframe.style.position = "fixed";
@@ -2907,8 +2922,8 @@ var init_LumiaPassportContext = __esm({
2907
2922
  merged.projectId = initialConfig.projectId;
2908
2923
  }
2909
2924
  if (!merged.projectId) {
2910
- console.warn(
2911
- '[LumiaPassport] \u26A0\uFE0F projectId is not configured. Some features may be limited and integration may be incomplete.\nTo get your projectId, create a project at: https://dashboard.lumiapassport.com/\nThen provide it via: <LumiaPassportProvider projectId="your-project-id">'
2925
+ console.error(
2926
+ '\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\n\u2551 \u26A0\uFE0F LUMIA PASSPORT WARNING \u26A0\uFE0F \u2551\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\n\u2551 \u2551\n\u2551 projectId is NOT configured! \u2551\n\u2551 \u2551\n\u2551 Your integration will NOT work without a valid projectId. \u2551\n\u2551 Most features will be disabled and errors will occur. \u2551\n\u2551 \u2551\n\u2551 To fix this: \u2551\n\u2551 1. Get your projectId from: https://dashboard.lumiapassport.com/ \u2551\n\u2551 2. Add it to your LumiaPassportProvider: \u2551\n\u2551 \u2551\n\u2551 <LumiaPassportProvider projectId="your-project-id"> \u2551\n\u2551 {children} \u2551\n\u2551 </LumiaPassportProvider> \u2551\n\u2551 \u2551\n\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D\n'
2912
2927
  );
2913
2928
  } else {
2914
2929
  console.log("[LumiaPassport] \u2705 Initialized with projectId:", merged.projectId);
@@ -3008,9 +3023,6 @@ var init_LumiaPassportContext = __esm({
3008
3023
  if (typeof window === "undefined") return;
3009
3024
  const projectId2 = config.projectId;
3010
3025
  if (!projectId2) {
3011
- console.warn(
3012
- "[LumiaPassport] Skipping iframe initialization - projectId not configured"
3013
- );
3014
3026
  return;
3015
3027
  }
3016
3028
  const iframeUrl = getIframeUrl();
@@ -3020,11 +3032,14 @@ var init_LumiaPassportContext = __esm({
3020
3032
  note: "All MPC operations will happen in isolated iframe context"
3021
3033
  });
3022
3034
  try {
3035
+ const isDark = config.ui.theme === "dark" || config.ui.theme === "auto" && window.matchMedia?.("(prefers-color-scheme: dark)").matches;
3036
+ const themeColors = isDark ? config.ui.colors?.dark : config.ui.colors?.light;
3023
3037
  const iframeManager = getIframeManager({
3024
3038
  iframeUrl,
3025
3039
  projectId: projectId2,
3026
3040
  debug: config.features?.mpcSecurity ?? true,
3027
- onWalletReady: callbacks?.onWalletReady
3041
+ onWalletReady: callbacks?.onWalletReady,
3042
+ themeColors
3028
3043
  });
3029
3044
  iframeManager.initialize().then(() => {
3030
3045
  console.log("[LumiaPassport] \u2705 Secure iframe wallet initialized successfully");
@@ -3455,55 +3470,37 @@ var init_LumiaLogo = __esm({
3455
3470
  }
3456
3471
  });
3457
3472
 
3458
- // src/internal/components/SuccessScreen.tsx
3459
- var import_jsx_runtime12, SuccessScreen;
3460
- var init_SuccessScreen = __esm({
3461
- "src/internal/components/SuccessScreen.tsx"() {
3462
- init_useTheme();
3463
- init_LumiaPassportContext();
3464
- import_jsx_runtime12 = require("react/jsx-runtime");
3465
- SuccessScreen = () => {
3466
- const { config } = useLumiaPassportConfig();
3467
- const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3468
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "text-center", children: [
3469
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "w-16 h-16 rounded-full bg-green-100 text-green-600 flex items-center justify-center mx-auto mb-4", children: "\u2713" }),
3470
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `text-lg font-medium ${theme.titleText}`, children: "Success" })
3471
- ] });
3472
- };
3473
- }
3474
- });
3475
-
3476
3473
  // src/internal/components/FailedScreen.tsx
3477
- var import_jsx_runtime13, FailedScreen;
3474
+ var import_jsx_runtime12, FailedScreen;
3478
3475
  var init_FailedScreen = __esm({
3479
3476
  "src/internal/components/FailedScreen.tsx"() {
3480
3477
  init_useTheme();
3481
3478
  init_LumiaPassportContext();
3482
- import_jsx_runtime13 = require("react/jsx-runtime");
3479
+ import_jsx_runtime12 = require("react/jsx-runtime");
3483
3480
  FailedScreen = ({ message = "Failed" }) => {
3484
3481
  const { config } = useLumiaPassportConfig();
3485
3482
  const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3486
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "text-center", children: [
3487
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "w-16 h-16 rounded-full bg-red-100 text-red-600 flex items-center justify-center mx-auto mb-4 text-3xl", children: "\u2717" }),
3488
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `text-lg font-medium ${theme.titleText} mb-2`, children: "Failed" }),
3489
- message && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `text-sm ${theme.bodyText}`, children: message })
3483
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "text-center", children: [
3484
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "w-16 h-16 rounded-full bg-red-100 text-red-600 flex items-center justify-center mx-auto mb-4 text-3xl", children: "\u2717" }),
3485
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `text-lg font-medium ${theme.titleText} mb-2`, children: "Failed" }),
3486
+ message && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `text-sm ${theme.bodyText}`, children: message })
3490
3487
  ] });
3491
3488
  };
3492
3489
  }
3493
3490
  });
3494
3491
 
3495
3492
  // src/internal/components/TermsOfService.tsx
3496
- var import_jsx_runtime14, TermsOfService;
3493
+ var import_jsx_runtime13, TermsOfService;
3497
3494
  var init_TermsOfService = __esm({
3498
3495
  "src/internal/components/TermsOfService.tsx"() {
3499
3496
  init_dialog();
3500
3497
  init_LumiaPassportContext();
3501
3498
  init_useTheme();
3502
- import_jsx_runtime14 = require("react/jsx-runtime");
3499
+ import_jsx_runtime13 = require("react/jsx-runtime");
3503
3500
  TermsOfService = ({ open, onOpenChange }) => {
3504
3501
  const { config } = useLumiaPassportConfig();
3505
3502
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3506
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
3503
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3507
3504
  DialogContent,
3508
3505
  {
3509
3506
  className: `lumia-scope p-6 border-0 ${theme.modalBg} ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -3515,8 +3512,8 @@ var init_TermsOfService = __esm({
3515
3512
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
3516
3513
  },
3517
3514
  children: [
3518
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DialogTitle, { children: "Terms of Service" }),
3519
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "prose text-sm text-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { children: "By using Lumia Passport you agree to our terms." }) })
3515
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogTitle, { children: "Terms of Service" }),
3516
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "prose text-sm text-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { children: "By using Lumia Passport you agree to our terms." }) })
3520
3517
  ]
3521
3518
  }
3522
3519
  ) });
@@ -3525,44 +3522,44 @@ var init_TermsOfService = __esm({
3525
3522
  });
3526
3523
 
3527
3524
  // src/internal/components/ui/card.tsx
3528
- var React8, import_jsx_runtime15, Card, CardHeader, CardTitle, CardDescription, CardContent;
3525
+ var React8, import_jsx_runtime14, Card, CardHeader, CardTitle, CardDescription, CardContent;
3529
3526
  var init_card = __esm({
3530
3527
  "src/internal/components/ui/card.tsx"() {
3531
3528
  React8 = __toESM(require("react"), 1);
3532
3529
  init_utils();
3533
- import_jsx_runtime15 = require("react/jsx-runtime");
3530
+ import_jsx_runtime14 = require("react/jsx-runtime");
3534
3531
  Card = React8.forwardRef(
3535
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { ref, className: cn("rounded-xl border bg-card text-card-foreground shadow", className), ...props })
3532
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref, className: cn("rounded-xl border bg-card text-card-foreground shadow", className), ...props })
3536
3533
  );
3537
3534
  Card.displayName = "Card";
3538
3535
  CardHeader = React8.forwardRef(
3539
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
3536
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
3540
3537
  );
3541
3538
  CardHeader.displayName = "CardHeader";
3542
3539
  CardTitle = React8.forwardRef(
3543
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
3540
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("h3", { ref, className: cn("text-2xl font-semibold leading-none tracking-tight", className), ...props })
3544
3541
  );
3545
3542
  CardTitle.displayName = "CardTitle";
3546
3543
  CardDescription = React8.forwardRef(
3547
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
3544
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
3548
3545
  );
3549
3546
  CardDescription.displayName = "CardDescription";
3550
3547
  CardContent = React8.forwardRef(
3551
- ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props })
3548
+ ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref, className: cn("p-6 pt-0", className), ...props })
3552
3549
  );
3553
3550
  CardContent.displayName = "CardContent";
3554
3551
  }
3555
3552
  });
3556
3553
 
3557
3554
  // src/internal/components/ui/input.tsx
3558
- var React9, import_jsx_runtime16, Input;
3555
+ var React9, import_jsx_runtime15, Input;
3559
3556
  var init_input = __esm({
3560
3557
  "src/internal/components/ui/input.tsx"() {
3561
3558
  React9 = __toESM(require("react"), 1);
3562
3559
  init_utils();
3563
- import_jsx_runtime16 = require("react/jsx-runtime");
3560
+ import_jsx_runtime15 = require("react/jsx-runtime");
3564
3561
  Input = React9.forwardRef(({ className, type, ...props }, ref) => {
3565
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3562
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3566
3563
  "input",
3567
3564
  {
3568
3565
  type,
@@ -3582,7 +3579,7 @@ var init_input = __esm({
3582
3579
  // src/internal/components/KeyshareRestore.tsx
3583
3580
  function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3584
3581
  const { config } = useLumiaPassportConfig();
3585
- const { isDark } = useTheme(config.ui.theme, config.ui.colors);
3582
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3586
3583
  const [loading, setLoading] = React10.useState({ server: false, file: false });
3587
3584
  const [error, setError] = React10.useState(null);
3588
3585
  const [success, setSuccess] = React10.useState(null);
@@ -3692,78 +3689,78 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3692
3689
  }
3693
3690
  };
3694
3691
  if (checkingBackup) {
3695
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { className: `${isDark ? "border-gray-700 bg-gray-900" : "border-blue-200 bg-blue-50"} border-0`, children: [
3696
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardHeader, { className: "pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between", children: [
3697
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-3", children: [
3698
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Shield, { className: `h-6 w-6 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
3699
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3700
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardTitle, { className: `text-lg ${isDark ? "text-gray-100" : ""}`, children: "Checking Backup Availability" }),
3701
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardDescription, { className: `text-sm ${isDark ? "text-gray-400" : ""}`, children: "Please wait while we check for available backups..." })
3692
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Card, { className: `${isDark ? "border-gray-700 bg-gray-900" : "border-blue-200 bg-blue-50"} border-0`, children: [
3693
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardHeader, { className: "pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-between", children: [
3694
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-3", children: [
3695
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Shield, { className: `h-6 w-6 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
3696
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
3697
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardTitle, { className: `text-lg ${isDark ? "text-gray-100" : ""}`, children: "Checking Backup Availability" }),
3698
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardDescription, { className: `text-sm ${isDark ? "text-gray-400" : ""}`, children: "Please wait while we check for available backups..." })
3702
3699
  ] })
3703
3700
  ] }),
3704
- onClose && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { onClick: onClose, className: `p-1 rounded transition-colors ${isDark ? "bg-transparent text-gray-400 hover:text-gray-200" : "bg-red-100 text-red-600 hover:bg-red-200"}`, title: "Close", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.X, { className: "h-4 w-4" }) })
3701
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("button", { onClick: onClose, className: `p-1 rounded transition-colors ${isDark ? "bg-transparent text-gray-400 hover:text-gray-200" : "bg-red-100 text-red-600 hover:bg-red-200"}`, title: "Close", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.X, { className: "h-4 w-4" }) })
3705
3702
  ] }) }),
3706
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardContent, { className: "space-y-6", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "text-center", children: [
3707
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `animate-spin rounded-full h-8 w-8 border-b-2 ${isDark ? "border-blue-400" : "border-blue-600"} mx-auto mb-4` }),
3708
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: `text-sm ${isDark ? "text-gray-400" : "text-gray-600"}`, children: "Checking for backups..." })
3703
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardContent, { className: "space-y-6", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "text-center", children: [
3704
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `animate-spin rounded-full h-8 w-8 border-b-2 ${isDark ? "border-blue-400" : "border-blue-600"} mx-auto mb-4` }),
3705
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: `text-sm ${isDark ? "text-gray-400" : "text-gray-600"}`, children: "Checking for backups..." })
3709
3706
  ] }) }) })
3710
3707
  ] });
3711
3708
  }
3712
3709
  if (hasServerBackup === false) {
3713
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { className: `${isDark ? "border-gray-700 bg-gray-900" : "border-red-200 bg-red-50"} border-0`, children: [
3714
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardHeader, { className: "pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between", children: [
3715
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3716
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.AlertCircle, { className: "h-5 w-5 text-red-600" }),
3717
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardTitle, { className: `text-base ${isDark ? "text-gray-100" : ""}`, children: "No Keyshare Found" })
3710
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Card, { className: `border-0 ${theme.bg} ${theme.divider}`, children: [
3711
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardHeader, { className: "pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-between", children: [
3712
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2", children: [
3713
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.AlertCircle, { className: "h-5 w-5 text-red-600" }),
3714
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardTitle, { className: `text-base ${theme.titleText}`, children: "No Keyshare Found" })
3718
3715
  ] }),
3719
- onClose && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { onClick: onClose, className: `p-1 rounded transition-colors ${isDark ? "bg-transparent text-gray-400 hover:text-gray-200" : "bg-red-100 text-red-600 hover:bg-red-200"}`, title: "Close", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.X, { className: "h-4 w-4" }) })
3716
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("button", { onClick: onClose, className: `p-1 rounded transition-colors ${theme.secondaryBtn}`, title: "Close", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.X, { className: "h-4 w-4" }) })
3720
3717
  ] }) }),
3721
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(CardContent, { className: "space-y-3.5", children: [
3722
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: isDark ? "p-3 rounded bg-red-500/15" : "p-3 rounded bg-red-100", children: [
3723
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("h4", { className: `font-medium text-sm mb-1.5 ${isDark ? "text-red-300" : "text-red-800"}`, children: "Account Recovery Needed" }),
3724
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: `text-xs leading-relaxed ${isDark ? "text-gray-200" : "text-red-700"}`, children: "This device doesn't have access to your wallet keyshare, and no backup was found in the Vault. To access your wallet: use the original device where you created the account, create a backup from that device first, then try restoring on this device." })
3718
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(CardContent, { className: "space-y-3.5", children: [
3719
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `p-3 rounded ${isDark ? "bg-red-500/15" : "bg-red-100"}`, children: [
3720
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h4", { className: `font-medium text-sm mb-1.5 ${isDark ? "text-red-300" : "text-red-800"}`, children: "Account Recovery Needed" }),
3721
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: `text-xs leading-relaxed ${theme.text}`, children: "This device doesn't have access to your wallet keyshare, and no backup was found in the Vault. To access your wallet: use the original device where you created the account, create a backup from that device first, then try restoring on this device." })
3725
3722
  ] }),
3726
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: isDark ? "p-2.5 rounded bg-amber-500/15 border border-amber-500/40" : "p-2.5 rounded bg-amber-50 border border-amber-200", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("p", { className: `text-xs ${isDark ? "text-gray-200" : "text-amber-900"}`, children: [
3727
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "font-semibold", children: "Alternative:" }),
3723
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `p-2.5 rounded border ${isDark ? "bg-amber-500/15 border-amber-500/40" : "bg-amber-50 border-amber-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("p", { className: `text-xs ${theme.text}`, children: [
3724
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "font-semibold", children: "Alternative:" }),
3728
3725
  " Try uploading a backup file if you have one saved locally, or create a new account with a different email."
3729
3726
  ] }) }),
3730
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: isDark ? "p-3 rounded border border-gray-700 bg-gray-800" : "p-3 rounded border border-purple-200 bg-purple-50/50", children: [
3731
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3732
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Upload, { className: "h-4 w-4 text-purple-600" }),
3733
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "font-medium text-sm", children: "Try Backup File" })
3727
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `p-3 rounded border ${theme.bg} ${theme.divider}`, children: [
3728
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3729
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Upload, { className: "h-4 w-4 text-purple-600" }),
3730
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `font-medium text-sm ${theme.text}`, children: "Try Backup File" })
3734
3731
  ] }),
3735
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3736
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { className: `block w-full cursor-pointer ${isDark ? "text-gray-300" : "text-gray-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3732
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "space-y-2", children: [
3733
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { className: `block w-full cursor-pointer ${theme.text}`, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3737
3734
  "input",
3738
3735
  {
3739
3736
  type: "file",
3740
3737
  accept: ".json",
3741
3738
  onChange: (e) => setRestoreFile(e.target.files?.[0] || null),
3742
- className: isDark ? "block w-full text-xs file:mr-3 file:py-1.5 file:px-3 file:rounded file:border-0 file:text-xs file:font-medium file:bg-purple-600 file:text-white hover:file:bg-purple-700 file:cursor-pointer" : "block w-full text-xs file:mr-3 file:py-1.5 file:px-3 file:rounded file:border-0 file:text-xs file:font-medium file:bg-purple-600 file:text-white hover:file:bg-purple-700 file:cursor-pointer"
3739
+ className: "block w-full text-xs file:mr-3 file:py-1.5 file:px-3 file:rounded file:border-0 file:text-xs file:font-medium file:bg-purple-600 file:text-white hover:file:bg-purple-700 file:cursor-pointer"
3743
3740
  }
3744
3741
  ) }),
3745
- !restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: `text-xs ${isDark ? "text-gray-500" : "text-gray-500"}`, children: "No file chosen" }),
3746
- restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
3747
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `text-xs p-2 rounded ${isDark ? "bg-gray-700 text-gray-300" : "bg-gray-100 text-gray-600"}`, children: [
3742
+ !restoreFile && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: `text-xs ${theme.mutedText}`, children: "No file chosen" }),
3743
+ restoreFile && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
3744
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `text-xs p-2 rounded ${theme.inputBg} ${theme.text}`, children: [
3748
3745
  "Selected: ",
3749
3746
  restoreFile.name
3750
3747
  ] }),
3751
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { onClick: handleRestoreFromFile, disabled: loading.file || useCustomPassword && !restorePassword, className: "w-full py-2 text-sm", children: loading.file ? "Restoring..." : useCustomPassword ? "Restore" : "Restore with Passkey" })
3748
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { onClick: handleRestoreFromFile, disabled: loading.file || useCustomPassword && !restorePassword, className: "w-full py-2 text-sm", children: loading.file ? "Restoring..." : useCustomPassword ? "Restore" : "Restore with Passkey" })
3752
3749
  ] })
3753
3750
  ] })
3754
3751
  ] }),
3755
- restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3756
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-200" : "text-gray-700"}`, children: "Decryption Method:" }),
3757
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3758
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("input", { type: "checkbox", id: "use-restore-password", checked: useCustomPassword, onChange: (e) => setUseCustomPassword(e.target.checked), className: "rounded" }),
3759
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { htmlFor: "use-restore-password", className: "text-xs", children: "Use custom password instead of passkey" })
3752
+ restoreFile && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "space-y-2", children: [
3753
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `text-xs font-medium ${theme.text}`, children: "Decryption Method:" }),
3754
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2", children: [
3755
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", { type: "checkbox", id: "use-restore-password", checked: useCustomPassword, onChange: (e) => setUseCustomPassword(e.target.checked), className: "rounded" }),
3756
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: "use-restore-password", className: `text-xs ${theme.text}`, children: "Use custom password instead of passkey" })
3760
3757
  ] }),
3761
- !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: isDark ? "p-2 bg-gray-800 border border-gray-700 rounded text-xs text-gray-200" : "p-2 bg-blue-50 border border-blue-200 rounded text-xs text-blue-700", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3762
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Key, { className: "h-3.5 w-3.5" }),
3763
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: "Your passkey will be used to decrypt the backup securely" })
3758
+ !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `p-2 border rounded text-xs ${theme.inputBg} ${theme.text}`, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2", children: [
3759
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Key, { className: "h-3.5 w-3.5" }),
3760
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: "Your passkey will be used to decrypt the backup securely" })
3764
3761
  ] }) }),
3765
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
3766
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3762
+ useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative", children: [
3763
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3767
3764
  Input,
3768
3765
  {
3769
3766
  type: showPassword ? "text" : "password",
@@ -3773,61 +3770,61 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3773
3770
  className: `pr-10 text-sm bg-transparent ${isDark ? "text-gray-100 placeholder:text-gray-400 border-gray-600 focus-visible:ring-offset-0" : "text-gray-900 placeholder:text-gray-500 border-gray-300"}`
3774
3771
  }
3775
3772
  ),
3776
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3773
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3777
3774
  "button",
3778
3775
  {
3779
3776
  type: "button",
3780
3777
  onClick: () => setShowPassword(!showPassword),
3781
3778
  className: `absolute inset-y-0 right-2 flex items-center justify-center p-0 rounded ${isDark ? "bg-transparent text-gray-400 hover:text-gray-200" : "bg-transparent text-gray-500 hover:text-gray-700"}`,
3782
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Eye, { className: "h-4 w-4" })
3779
+ children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Eye, { className: "h-4 w-4" })
3783
3780
  }
3784
3781
  )
3785
3782
  ] })
3786
3783
  ] }),
3787
- error && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 p-2 rounded bg-red-50 border border-red-200 text-red-700 text-xs", children: [
3788
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3789
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: error })
3784
+ error && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `flex items-center gap-2 p-2 rounded border text-xs ${theme.errorText} ${isDark ? "bg-red-500/15 border-red-500/40" : "bg-red-50 border-red-200"}`, children: [
3785
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3786
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: error })
3790
3787
  ] }),
3791
- success && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 p-2 rounded bg-green-50 border border-green-200 text-green-700 text-xs", children: [
3792
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3793
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: success })
3788
+ success && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `flex items-center gap-2 p-2 rounded border text-xs ${theme.successText} ${isDark ? "bg-green-500/15 border-green-500/40" : "bg-green-50 border-green-200"}`, children: [
3789
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3790
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: success })
3794
3791
  ] })
3795
3792
  ] })
3796
3793
  ] });
3797
3794
  }
3798
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { className: `${isDark ? "border-gray-700 bg-gray-900" : "border-blue-200 bg-blue-50"} border-0`, children: [
3799
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(CardHeader, { className: "pb-3", children: [
3800
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between", children: [
3801
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3802
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Shield, { className: "h-5 w-5 text-blue-600" }),
3803
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardTitle, { className: `text-base ${isDark ? "text-gray-100" : "text-gray-900"}`, children: "Restore Account Access" })
3795
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Card, { className: `${isDark ? "border-gray-700 bg-gray-900" : "border-blue-200 bg-blue-50"} border-0`, children: [
3796
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(CardHeader, { className: "pb-3", children: [
3797
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center justify-between", children: [
3798
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2", children: [
3799
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Shield, { className: "h-5 w-5 text-blue-600" }),
3800
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardTitle, { className: `text-base ${isDark ? "text-gray-100" : "text-gray-900"}`, children: "Restore Account Access" })
3804
3801
  ] }),
3805
- onClose && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3802
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3806
3803
  "button",
3807
3804
  {
3808
3805
  onClick: onClose,
3809
3806
  className: `p-1 rounded transition-colors ${isDark ? "bg-transparent text-gray-400 hover:text-gray-200" : "bg-red-100 text-red-600 hover:bg-red-200"}`,
3810
3807
  title: "Close",
3811
3808
  "aria-label": "Close",
3812
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.X, { className: "h-4 w-4" })
3809
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.X, { className: "h-4 w-4" })
3813
3810
  }
3814
3811
  )
3815
3812
  ] }),
3816
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardDescription, { className: `text-sm mt-1 ${isDark ? "text-gray-300" : "text-gray-600"}`, children: "Your account was found in the Vault" })
3813
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CardDescription, { className: `text-sm mt-1 ${isDark ? "text-gray-300" : "text-gray-600"}`, children: "Your account was found in the Vault" })
3817
3814
  ] }),
3818
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(CardContent, { className: "space-y-3.5", children: [
3819
- error && !error.includes("No backup found") && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 p-2 rounded bg-red-50 border border-red-200 text-red-700 text-xs", children: [
3820
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3821
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: error })
3815
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(CardContent, { className: "space-y-3.5", children: [
3816
+ error && !error.includes("No backup found") && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2 p-2 rounded bg-red-50 border border-red-200 text-red-700 text-xs", children: [
3817
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3818
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: error })
3822
3819
  ] }),
3823
- success && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 p-2 rounded bg-green-50 border border-green-200 text-green-700 text-xs", children: [
3824
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3825
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { children: success })
3820
+ success && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2 p-2 rounded bg-green-50 border border-green-200 text-green-700 text-xs", children: [
3821
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3822
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: success })
3826
3823
  ] }),
3827
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3828
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Decryption Method:" }),
3829
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3830
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3824
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "space-y-2", children: [
3825
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Decryption Method:" }),
3826
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2", children: [
3827
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3831
3828
  "input",
3832
3829
  {
3833
3830
  type: "checkbox",
@@ -3837,14 +3834,14 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3837
3834
  className: "rounded"
3838
3835
  }
3839
3836
  ),
3840
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { htmlFor: "use-restore-password", className: `text-xs ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Use custom password instead of passkey" })
3837
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: "use-restore-password", className: `text-xs ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Use custom password instead of passkey" })
3841
3838
  ] }),
3842
- !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: isDark ? "p-2 rounded bg-blue-500/10 border border-blue-500/30" : "p-2 rounded bg-blue-50 border border-blue-200", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3843
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Key, { className: "h-3.5 w-3.5 text-blue-500" }),
3844
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: `text-xs ${isDark ? "text-gray-300" : "text-blue-700"}`, children: "Passkey will be used to decrypt the backup" })
3839
+ !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: isDark ? "p-2 rounded bg-blue-500/10 border border-blue-500/30" : "p-2 rounded bg-blue-50 border border-blue-200", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2", children: [
3840
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Key, { className: "h-3.5 w-3.5 text-blue-500" }),
3841
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: `text-xs ${isDark ? "text-gray-300" : "text-blue-700"}`, children: "Passkey will be used to decrypt the backup" })
3845
3842
  ] }) }),
3846
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
3847
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3843
+ useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative", children: [
3844
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3848
3845
  Input,
3849
3846
  {
3850
3847
  type: showPassword ? "text" : "password",
@@ -3854,26 +3851,26 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3854
3851
  className: `pr-10 text-sm bg-transparent ${isDark ? "text-gray-100 placeholder:text-gray-400 border-gray-600 focus-visible:ring-offset-0" : "text-gray-900 placeholder:text-gray-500 border-gray-300"}`
3855
3852
  }
3856
3853
  ),
3857
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3854
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3858
3855
  "button",
3859
3856
  {
3860
3857
  type: "button",
3861
3858
  onClick: () => setShowPassword(!showPassword),
3862
3859
  className: `absolute inset-y-0 right-2 flex items-center justify-center p-0 rounded ${isDark ? "bg-transparent text-gray-400 hover:text-gray-200" : "bg-transparent text-gray-500 hover:text-gray-700"}`,
3863
3860
  "aria-label": "Toggle password visibility",
3864
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Eye, { className: "h-4 w-4" })
3861
+ children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Eye, { className: "h-4 w-4" })
3865
3862
  }
3866
3863
  )
3867
3864
  ] })
3868
3865
  ] }),
3869
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2.5", children: [
3870
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Restore Method:" }),
3871
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: isDark ? "p-3 rounded bg-gray-800/50" : "p-3 rounded bg-blue-50/50", children: [
3872
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3873
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Server, { className: "h-4 w-4 text-blue-500" }),
3874
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Server Backup" })
3866
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "space-y-2.5", children: [
3867
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Restore Method:" }),
3868
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: isDark ? "p-3 rounded bg-gray-800/50" : "p-3 rounded bg-blue-50/50", children: [
3869
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3870
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Server, { className: "h-4 w-4 text-blue-500" }),
3871
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Server Backup" })
3875
3872
  ] }),
3876
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3873
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3877
3874
  Button,
3878
3875
  {
3879
3876
  onClick: handleRestoreFromServer,
@@ -3883,13 +3880,13 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3883
3880
  }
3884
3881
  )
3885
3882
  ] }),
3886
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: isDark ? "p-3 rounded bg-gray-800/50" : "p-3 rounded bg-purple-50/50", children: [
3887
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3888
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Upload, { className: "h-4 w-4 text-purple-500" }),
3889
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Backup File" })
3883
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: isDark ? "p-3 rounded bg-gray-800/50" : "p-3 rounded bg-purple-50/50", children: [
3884
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3885
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react3.Upload, { className: "h-4 w-4 text-purple-500" }),
3886
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Backup File" })
3890
3887
  ] }),
3891
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3892
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { className: `block w-full cursor-pointer ${isDark ? "text-gray-300" : "text-gray-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3888
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "space-y-2", children: [
3889
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { className: `block w-full cursor-pointer ${isDark ? "text-gray-300" : "text-gray-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3893
3890
  "input",
3894
3891
  {
3895
3892
  type: "file",
@@ -3898,9 +3895,9 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3898
3895
  className: isDark ? "block w-full text-xs file:mr-3 file:py-1.5 file:px-3 file:rounded file:border-0 file:text-xs file:font-medium file:bg-purple-600 file:text-white hover:file:bg-purple-700 file:cursor-pointer" : "block w-full text-xs file:mr-3 file:py-1.5 file:px-3 file:rounded file:border-0 file:text-xs file:font-medium file:bg-purple-600 file:text-white hover:file:bg-purple-700 file:cursor-pointer"
3899
3896
  }
3900
3897
  ) }),
3901
- restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
3902
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs p-2 rounded ${isDark ? "bg-gray-700 text-gray-300" : "bg-gray-100 text-gray-600"}`, children: restoreFile.name }),
3903
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3898
+ restoreFile && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
3899
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `text-xs p-2 rounded ${isDark ? "bg-gray-700 text-gray-300" : "bg-gray-100 text-gray-600"}`, children: restoreFile.name }),
3900
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3904
3901
  Button,
3905
3902
  {
3906
3903
  onClick: handleRestoreFromFile,
@@ -3917,7 +3914,7 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3917
3914
  ] })
3918
3915
  ] });
3919
3916
  }
3920
- var React10, import_lucide_react3, import_jsx_runtime17;
3917
+ var React10, import_lucide_react3, import_jsx_runtime16;
3921
3918
  var init_KeyshareRestore = __esm({
3922
3919
  "src/internal/components/KeyshareRestore.tsx"() {
3923
3920
  React10 = __toESM(require("react"), 1);
@@ -3929,18 +3926,18 @@ var init_KeyshareRestore = __esm({
3929
3926
  init_iframe_manager();
3930
3927
  init_LumiaPassportContext();
3931
3928
  init_useTheme();
3932
- import_jsx_runtime17 = require("react/jsx-runtime");
3929
+ import_jsx_runtime16 = require("react/jsx-runtime");
3933
3930
  }
3934
3931
  });
3935
3932
 
3936
3933
  // src/internal/components/VerificationCodeInput.tsx
3937
- var import_react6, import_jsx_runtime18, VerificationCodeInput;
3934
+ var import_react6, import_jsx_runtime17, VerificationCodeInput;
3938
3935
  var init_VerificationCodeInput = __esm({
3939
3936
  "src/internal/components/VerificationCodeInput.tsx"() {
3940
3937
  import_react6 = require("react");
3941
3938
  init_LumiaPassportContext();
3942
3939
  init_useTheme();
3943
- import_jsx_runtime18 = require("react/jsx-runtime");
3940
+ import_jsx_runtime17 = require("react/jsx-runtime");
3944
3941
  VerificationCodeInput = ({ onVerifyCode, onResendCode, isLoading, expiresIn, error }) => {
3945
3942
  const { config } = useLumiaPassportConfig();
3946
3943
  const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
@@ -4015,8 +4012,8 @@ var init_VerificationCodeInput = __esm({
4015
4012
  };
4016
4013
  const mm = Math.floor(timeLeft / 60).toString();
4017
4014
  const ss = (timeLeft % 60).toString().padStart(2, "0");
4018
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "text-center", children: [
4019
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: `flex items-center justify-center gap-2 mb-4`, children: digits.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4015
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "text-center", children: [
4016
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `flex items-center justify-center gap-2 mb-4`, children: digits.map((d, i) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4020
4017
  "input",
4021
4018
  {
4022
4019
  ref: (el) => inputsRef.current[i] = el,
@@ -4032,17 +4029,17 @@ var init_VerificationCodeInput = __esm({
4032
4029
  },
4033
4030
  i
4034
4031
  )) }),
4035
- error && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: `text-sm ${theme.errorText} mb-3 break-words whitespace-pre-wrap text-center`, children: error }),
4036
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: `text-sm ${theme.mutedText} mb-3`, children: [
4032
+ error && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-sm ${theme.errorText} mb-3 break-words whitespace-pre-wrap text-center`, children: error }),
4033
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `text-sm ${theme.mutedText} mb-3`, children: [
4037
4034
  "Code expires in ",
4038
4035
  mm,
4039
4036
  ":",
4040
4037
  ss
4041
4038
  ] }),
4042
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
4039
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
4043
4040
  "Didn't receive code?",
4044
4041
  " ",
4045
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4042
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4046
4043
  "button",
4047
4044
  {
4048
4045
  onClick: () => timeLeft === 0 ? onResendCode() : void 0,
@@ -4081,7 +4078,7 @@ var init_profile = __esm({
4081
4078
  });
4082
4079
 
4083
4080
  // src/internal/components/DisplayNameInput.tsx
4084
- var import_react7, import_lucide_react4, import_jsx_runtime19, DisplayNameInput;
4081
+ var import_react7, import_lucide_react4, import_jsx_runtime18, DisplayNameInput;
4085
4082
  var init_DisplayNameInput = __esm({
4086
4083
  "src/internal/components/DisplayNameInput.tsx"() {
4087
4084
  import_react7 = require("react");
@@ -4093,7 +4090,7 @@ var init_DisplayNameInput = __esm({
4093
4090
  init_LumiaPassportContext();
4094
4091
  init_profile();
4095
4092
  init_auth();
4096
- import_jsx_runtime19 = require("react/jsx-runtime");
4093
+ import_jsx_runtime18 = require("react/jsx-runtime");
4097
4094
  DisplayNameInput = ({ onComplete, onSkip }) => {
4098
4095
  const [displayName, setDisplayName] = (0, import_react7.useState)("");
4099
4096
  const [isLoading, setIsLoading] = (0, import_react7.useState)(false);
@@ -4130,14 +4127,14 @@ var init_DisplayNameInput = __esm({
4130
4127
  onComplete();
4131
4128
  }
4132
4129
  };
4133
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
4134
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LumiaLogo, { size: 28 }) }) }),
4135
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "What's your name?" }),
4136
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: "This helps personalize your experience" }),
4137
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
4138
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "relative", children: [
4139
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react4.User, { className: `absolute left-3 top-3 h-5 w-5 ${theme.iconColor}` }),
4140
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4130
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
4131
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(LumiaLogo, { size: 28 }) }) }),
4132
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "What's your name?" }),
4133
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: "This helps personalize your experience" }),
4134
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
4135
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "relative", children: [
4136
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react4.User, { className: `absolute left-3 top-3 h-5 w-5 ${theme.iconColor}` }),
4137
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4141
4138
  Input,
4142
4139
  {
4143
4140
  type: "text",
@@ -4154,8 +4151,8 @@ var init_DisplayNameInput = __esm({
4154
4151
  }
4155
4152
  )
4156
4153
  ] }),
4157
- error && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-sm ${theme.errorText} text-center`, children: error }),
4158
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4154
+ error && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: `text-sm ${theme.errorText} text-center`, children: error }),
4155
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4159
4156
  Button,
4160
4157
  {
4161
4158
  type: "submit",
@@ -4165,7 +4162,7 @@ var init_DisplayNameInput = __esm({
4165
4162
  children: isLoading ? "Saving..." : "Continue"
4166
4163
  }
4167
4164
  ),
4168
- onSkip && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "text-center mt-4", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4165
+ onSkip && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "text-center mt-4", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4169
4166
  "button",
4170
4167
  {
4171
4168
  type: "button",
@@ -4194,7 +4191,7 @@ function getPendingLoginResponse() {
4194
4191
  function clearPendingLoginResponse() {
4195
4192
  _pendingLoginResponse = null;
4196
4193
  }
4197
- var import_react8, import_lucide_react5, import_jsx_runtime20, _pendingLoginResponse, AuthModal;
4194
+ var import_react8, import_lucide_react5, import_jsx_runtime19, _pendingLoginResponse, AuthModal;
4198
4195
  var init_AuthModal = __esm({
4199
4196
  "src/internal/components/AuthModal.tsx"() {
4200
4197
  import_react8 = __toESM(require("react"), 1);
@@ -4202,7 +4199,6 @@ var init_AuthModal = __esm({
4202
4199
  init_auth();
4203
4200
  init_ErrorAlert();
4204
4201
  init_LumiaLogo();
4205
- init_SuccessScreen();
4206
4202
  init_FailedScreen();
4207
4203
  init_TermsOfService();
4208
4204
  init_button();
@@ -4217,7 +4213,7 @@ var init_AuthModal = __esm({
4217
4213
  init_lumiaPassport();
4218
4214
  init_projectId();
4219
4215
  init_profile();
4220
- import_jsx_runtime20 = require("react/jsx-runtime");
4216
+ import_jsx_runtime19 = require("react/jsx-runtime");
4221
4217
  _pendingLoginResponse = null;
4222
4218
  AuthModal = ({ open, onOpenChange, onAuthSuccess, autoCloseOnSuccess = true, recoveryUserId, onRecoveryClose, onRecoverySuccess, callbacks }) => {
4223
4219
  const [email, setEmail] = (0, import_react8.useState)("");
@@ -4239,6 +4235,17 @@ var init_AuthModal = __esm({
4239
4235
  }, []);
4240
4236
  const { config } = useLumiaPassportConfig();
4241
4237
  const { classes: theme, isDark } = useTheme(config.ui.theme, config.ui.colors);
4238
+ import_react8.default.useEffect(() => {
4239
+ if (!open) {
4240
+ setStep("signin");
4241
+ setEmail("");
4242
+ setVerificationError("");
4243
+ setSendError("");
4244
+ setPasskeyError("");
4245
+ setPasskeyStatus("idle");
4246
+ setFailedMessage("");
4247
+ }
4248
+ }, [open]);
4242
4249
  import_react8.default.useEffect(() => {
4243
4250
  const handleIframeMessage = (event) => {
4244
4251
  if (event.data?.type === "LUMIA_PASSPORT_SHOW_IFRAME") {
@@ -4370,15 +4377,12 @@ var init_AuthModal = __esm({
4370
4377
  }
4371
4378
  throw authError;
4372
4379
  }
4373
- console.log("[AuthModal] Setting success state");
4374
- setStep("success");
4380
+ console.log("[AuthModal] Authentication successful, closing modal");
4375
4381
  if (autoCloseOnSuccess && !needsRecovery) {
4376
- setTimeout(() => {
4377
- onOpenChange(false);
4378
- setStep("signin");
4379
- setEmail("");
4380
- setVerificationError("");
4381
- }, 2e3);
4382
+ setStep("signin");
4383
+ setEmail("");
4384
+ setVerificationError("");
4385
+ onOpenChange(false);
4382
4386
  }
4383
4387
  } catch (error) {
4384
4388
  let errorMessage = "";
@@ -4466,15 +4470,12 @@ var init_AuthModal = __esm({
4466
4470
  if (onAuthSuccess) {
4467
4471
  await onAuthSuccess();
4468
4472
  }
4469
- setStep("success");
4470
- setTimeout(() => {
4471
- onOpenChange(false);
4472
- setStep("signin");
4473
- setEmail("");
4474
- setVerificationError("");
4475
- setPasskeyError("");
4476
- setPasskeyStatus("idle");
4477
- }, 2e3);
4473
+ setStep("signin");
4474
+ setEmail("");
4475
+ setVerificationError("");
4476
+ setPasskeyError("");
4477
+ setPasskeyStatus("idle");
4478
+ onOpenChange(false);
4478
4479
  } else {
4479
4480
  setPasskeyStatus("Passkey registered successfully!");
4480
4481
  setTimeout(() => {
@@ -4552,16 +4553,13 @@ var init_AuthModal = __esm({
4552
4553
  }
4553
4554
  throw authError;
4554
4555
  }
4555
- setStep("success");
4556
4556
  if (autoCloseOnSuccess) {
4557
- setTimeout(() => {
4558
- onOpenChange(false);
4559
- setStep("signin");
4560
- setEmail("");
4561
- setVerificationError("");
4562
- setPasskeyError("");
4563
- setPasskeyStatus("idle");
4564
- }, 2e3);
4557
+ setStep("signin");
4558
+ setEmail("");
4559
+ setVerificationError("");
4560
+ setPasskeyError("");
4561
+ setPasskeyStatus("idle");
4562
+ onOpenChange(false);
4565
4563
  }
4566
4564
  } catch (e) {
4567
4565
  const normalized = normalizeWebAuthnError(e);
@@ -4635,15 +4633,12 @@ var init_AuthModal = __esm({
4635
4633
  if (onAuthSuccess) {
4636
4634
  await onAuthSuccess();
4637
4635
  }
4638
- setStep("success");
4639
- setTimeout(() => {
4640
- onOpenChange(false);
4641
- setStep("signin");
4642
- setEmail("");
4643
- setVerificationError("");
4644
- setPasskeyError("");
4645
- setPasskeyStatus("idle");
4646
- }, 2e3);
4636
+ setStep("signin");
4637
+ setEmail("");
4638
+ setVerificationError("");
4639
+ setPasskeyError("");
4640
+ setPasskeyStatus("idle");
4641
+ onOpenChange(false);
4647
4642
  } catch (sessionError) {
4648
4643
  let errorMessage = "Account setup failed. Please try again.";
4649
4644
  if (sessionError?.code === "NO_BACKUP_AVAILABLE") {
@@ -4673,20 +4668,20 @@ var init_AuthModal = __esm({
4673
4668
  };
4674
4669
  }, [step, onAuthSuccess, onOpenChange]);
4675
4670
  if (recoveryUserId) {
4676
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4671
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4677
4672
  DialogContent,
4678
4673
  {
4679
4674
  className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
4680
4675
  hideClose: true,
4681
4676
  children: [
4682
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Restore Account Access" }),
4683
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(KeyshareRestore, { userId: recoveryUserId, onClose: onRecoveryClose, onRestoreSuccess: onRecoverySuccess })
4677
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTitle, { className: "sr-only", children: "Restore Account Access" }),
4678
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(KeyshareRestore, { userId: recoveryUserId, onClose: onRecoveryClose, onRestoreSuccess: onRecoverySuccess })
4684
4679
  ]
4685
4680
  }
4686
4681
  ) });
4687
4682
  }
4688
4683
  if (step === "display-name") {
4689
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4684
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4690
4685
  DialogContent,
4691
4686
  {
4692
4687
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4696,8 +4691,8 @@ var init_AuthModal = __esm({
4696
4691
  },
4697
4692
  hideClose: true,
4698
4693
  children: [
4699
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Enter Your Name" }),
4700
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "p-8", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4694
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTitle, { className: "sr-only", children: "Enter Your Name" }),
4695
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "p-8", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4701
4696
  DisplayNameInput,
4702
4697
  {
4703
4698
  onComplete: async () => {
@@ -4730,24 +4725,8 @@ var init_AuthModal = __esm({
4730
4725
  }
4731
4726
  ) });
4732
4727
  }
4733
- if (step === "success") {
4734
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4735
- DialogContent,
4736
- {
4737
- className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
4738
- style: {
4739
- borderRadius: config.ui.modal?.borderRadius || "24px",
4740
- maxWidth: config.ui.modal?.width || "400px"
4741
- },
4742
- children: [
4743
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Authentication Success" }),
4744
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "p-8", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SuccessScreen, {}) })
4745
- ]
4746
- }
4747
- ) });
4748
- }
4749
4728
  if (step === "failed") {
4750
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4729
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4751
4730
  DialogContent,
4752
4731
  {
4753
4732
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4756,14 +4735,14 @@ var init_AuthModal = __esm({
4756
4735
  maxWidth: config.ui.modal?.width || "400px"
4757
4736
  },
4758
4737
  children: [
4759
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Authentication Failed" }),
4760
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "p-8", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FailedScreen, { message: failedMessage }) })
4738
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTitle, { className: "sr-only", children: "Authentication Failed" }),
4739
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "p-8", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(FailedScreen, { message: failedMessage }) })
4761
4740
  ]
4762
4741
  }
4763
4742
  ) });
4764
4743
  }
4765
4744
  if (step === "verify") {
4766
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open: open && !iframeVisible, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4745
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog, { open: open && !iframeVisible, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4767
4746
  DialogContent,
4768
4747
  {
4769
4748
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4772,17 +4751,17 @@ var init_AuthModal = __esm({
4772
4751
  maxWidth: config.ui.modal?.width || "400px"
4773
4752
  },
4774
4753
  children: [
4775
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Email Verification" }),
4776
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-5", children: [
4777
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTopBar, { onBack: goBackToSignIn, className: "-mx-5 -mt-5 mb-1" }),
4778
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LumiaLogo, { size: 28 }) }) }),
4779
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "Enter verification code" }),
4780
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: [
4754
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTitle, { className: "sr-only", children: "Email Verification" }),
4755
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "p-5", children: [
4756
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTopBar, { onBack: goBackToSignIn, className: "-mx-5 -mt-5 mb-1" }),
4757
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LumiaLogo, { size: 28 }) }) }),
4758
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "Enter verification code" }),
4759
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: [
4781
4760
  "We sent a verification code to",
4782
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("br", {}),
4783
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "font-semibold", children: email })
4761
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("br", {}),
4762
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "font-semibold", children: email })
4784
4763
  ] }),
4785
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4764
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4786
4765
  VerificationCodeInput,
4787
4766
  {
4788
4767
  onVerifyCode: verifyCode,
@@ -4792,10 +4771,10 @@ var init_AuthModal = __esm({
4792
4771
  error: verificationError
4793
4772
  }
4794
4773
  ),
4795
- config.features.mpcSecurity && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `text-xs ${theme.mutedText} mt-6 text-center`, children: [
4774
+ config.features.mpcSecurity && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: `text-xs ${theme.mutedText} mt-6 text-center`, children: [
4796
4775
  "protected by \u26A1",
4797
4776
  " ",
4798
- config.ui.branding.link ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("a", { href: config.ui.branding.link.url, target: "_blank", rel: "noopener noreferrer", className: `${theme.linkText} underline font-medium`, children: config.ui.branding.tagline }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "font-medium", children: config.ui.branding.tagline })
4777
+ config.ui.branding.link ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("a", { href: config.ui.branding.link.url, target: "_blank", rel: "noopener noreferrer", className: `${theme.linkText} underline font-medium`, children: config.ui.branding.tagline }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "font-medium", children: config.ui.branding.tagline })
4799
4778
  ] })
4800
4779
  ] })
4801
4780
  ]
@@ -4803,7 +4782,7 @@ var init_AuthModal = __esm({
4803
4782
  ) });
4804
4783
  }
4805
4784
  if (step === "telegram") {
4806
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4785
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4807
4786
  DialogContent,
4808
4787
  {
4809
4788
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-visible ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4812,16 +4791,16 @@ var init_AuthModal = __esm({
4812
4791
  maxWidth: config.ui.modal?.width || "400px"
4813
4792
  },
4814
4793
  children: [
4815
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Telegram Authentication" }),
4816
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-8", children: [
4817
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "text-center mb-6", children: [
4818
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LumiaLogo, { size: 32 }) }) }),
4819
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "Sign in with Telegram" }),
4820
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: "Click the button below to authenticate with Telegram" })
4794
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTitle, { className: "sr-only", children: "Telegram Authentication" }),
4795
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "p-8", children: [
4796
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "text-center mb-6", children: [
4797
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LumiaLogo, { size: 32 }) }) }),
4798
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "Sign in with Telegram" }),
4799
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: "Click the button below to authenticate with Telegram" })
4821
4800
  ] }),
4822
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex justify-center mb-6", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { id: "tg-root", className: "flex justify-center" }) }),
4823
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.successText} mb-4`, children: "Loading Telegram widget..." }),
4824
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4801
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex justify-center mb-6", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { id: "tg-root", className: "flex justify-center" }) }),
4802
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-center text-sm ${theme.successText} mb-4`, children: "Loading Telegram widget..." }),
4803
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4825
4804
  Button,
4826
4805
  {
4827
4806
  variant: "outline",
@@ -4835,24 +4814,24 @@ var init_AuthModal = __esm({
4835
4814
  }
4836
4815
  ) });
4837
4816
  }
4838
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4839
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open: open && !iframeVisible, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4817
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
4818
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog, { open: open && !iframeVisible, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4840
4819
  DialogContent,
4841
4820
  {
4842
4821
  className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden`,
4843
4822
  children: [
4844
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Sign in to Lumia Passport" }),
4845
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-8", children: [
4846
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "text-center mb-8", children: [
4847
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LumiaLogo, { size: 32 }) }) }),
4848
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: config.ui.title }),
4849
- config.features.mpcSecurity && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `text-xs ${theme.mutedText} mb-6`, children: [
4823
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DialogTitle, { className: "sr-only", children: "Sign in to Lumia Passport" }),
4824
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "p-8", children: [
4825
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "text-center mb-8", children: [
4826
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex justify-center mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-100 to-blue-100 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LumiaLogo, { size: 32 }) }) }),
4827
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: config.ui.title }),
4828
+ config.features.mpcSecurity && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: `text-xs ${theme.mutedText} mb-6`, children: [
4850
4829
  "protected by",
4851
4830
  " ",
4852
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { className: "font-semibold", children: [
4831
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "font-semibold", children: [
4853
4832
  "\u26A1",
4854
4833
  " ",
4855
- config.ui.branding.link ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4834
+ config.ui.branding.link ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4856
4835
  "a",
4857
4836
  {
4858
4837
  href: config.ui.branding.link.url,
@@ -4865,7 +4844,7 @@ var init_AuthModal = __esm({
4865
4844
  ] })
4866
4845
  ] })
4867
4846
  ] }),
4868
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-4", children: [
4847
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "space-y-4", children: [
4869
4848
  (() => {
4870
4849
  const order = config.ui.authOrder || ["passkey", "email", "social"];
4871
4850
  const isPasskey = config.passkey.enabled;
@@ -4876,8 +4855,8 @@ var init_AuthModal = __esm({
4876
4855
  );
4877
4856
  const renderSection = (kind) => {
4878
4857
  if (kind === "passkey") {
4879
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-3", children: [
4880
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4858
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "space-y-3", children: [
4859
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4881
4860
  Button,
4882
4861
  {
4883
4862
  variant: "plain",
@@ -4885,14 +4864,14 @@ var init_AuthModal = __esm({
4885
4864
  disabled: isLoading,
4886
4865
  className: `w-full h-14 ${theme.primaryBtn} rounded-2xl font-semibold shadow-sm`,
4887
4866
  children: [
4888
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.Fingerprint, { className: "w-5 h-5 mr-2" }),
4867
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.Fingerprint, { className: "w-5 h-5 mr-2" }),
4889
4868
  "Sign in with existing Passkey"
4890
4869
  ]
4891
4870
  }
4892
4871
  ),
4893
- config.passkey.showCreateButton && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `border-t ${theme.divider} pt-3`, children: [
4894
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.bodyText} mb-3`, children: "Don't have a passkey? Create one:" }),
4895
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4872
+ config.passkey.showCreateButton && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: `border-t ${theme.divider} pt-3`, children: [
4873
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-center text-sm ${theme.bodyText} mb-3`, children: "Don't have a passkey? Create one:" }),
4874
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4896
4875
  Button,
4897
4876
  {
4898
4877
  variant: "plain",
@@ -4900,23 +4879,23 @@ var init_AuthModal = __esm({
4900
4879
  disabled: isLoading,
4901
4880
  className: `w-full h-12 ${theme.outlineBtn} rounded-xl font-medium border`,
4902
4881
  children: [
4903
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.KeyRound, { className: "w-5 h-5 mr-2" }),
4882
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.KeyRound, { className: "w-5 h-5 mr-2" }),
4904
4883
  "Create Passkey"
4905
4884
  ]
4906
4885
  }
4907
4886
  )
4908
4887
  ] }),
4909
- (passkeyError || passkeyStatus !== "idle") && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "text-center", children: [
4910
- passkeyError && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-sm ${theme.errorText} mb-2 break-words whitespace-pre-wrap text-left mx-auto max-w-full max-h-24 overflow-auto`, children: passkeyError }),
4911
- passkeyStatus !== "idle" && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-sm ${theme.successText}`, children: passkeyStatus })
4888
+ (passkeyError || passkeyStatus !== "idle") && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "text-center", children: [
4889
+ passkeyError && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-sm ${theme.errorText} mb-2 break-words whitespace-pre-wrap text-left mx-auto max-w-full max-h-24 overflow-auto`, children: passkeyError }),
4890
+ passkeyStatus !== "idle" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-sm ${theme.successText}`, children: passkeyStatus })
4912
4891
  ] })
4913
4892
  ] }, "passkey");
4914
4893
  }
4915
4894
  if (kind === "email") {
4916
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-3", children: [
4917
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "relative", children: [
4918
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.Mail, { className: `absolute left-3 top-3 h-5 w-5 ${theme.iconColor}` }),
4919
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4895
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "space-y-3", children: [
4896
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "relative", children: [
4897
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.Mail, { className: `absolute left-3 top-3 h-5 w-5 ${theme.iconColor}` }),
4898
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4920
4899
  Input,
4921
4900
  {
4922
4901
  type: "email",
@@ -4927,7 +4906,7 @@ var init_AuthModal = __esm({
4927
4906
  }
4928
4907
  )
4929
4908
  ] }),
4930
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4909
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4931
4910
  Button,
4932
4911
  {
4933
4912
  variant: "plain",
@@ -4937,10 +4916,10 @@ var init_AuthModal = __esm({
4937
4916
  children: isLoading ? "Sending..." : config.email.buttonText
4938
4917
  }
4939
4918
  ),
4940
- sendError && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-sm ${theme.errorText} mt-2 text-center break-words whitespace-pre-wrap`, children: sendError })
4919
+ sendError && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-sm ${theme.errorText} mt-2 text-center break-words whitespace-pre-wrap`, children: sendError })
4941
4920
  ] }, "email");
4942
4921
  }
4943
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `grid grid-cols-${config.social.gridColumns} gap-3`, children: config.social.providers.filter((provider) => provider.enabled).map((provider) => {
4922
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `grid grid-cols-${config.social.gridColumns} gap-3`, children: config.social.providers.filter((provider) => provider.enabled).map((provider) => {
4944
4923
  const fallbackMap = {
4945
4924
  google: GoogleIcon,
4946
4925
  telegram: TelegramIcon,
@@ -4950,7 +4929,7 @@ var init_AuthModal = __esm({
4950
4929
  };
4951
4930
  const IconComponent = provider.icon ?? fallbackMap[(provider.id || "").toLowerCase()];
4952
4931
  const handleClick = provider.id === "telegram" ? handleTelegramAuth : () => handleComingSoon(provider.name);
4953
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4932
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4954
4933
  Button,
4955
4934
  {
4956
4935
  variant: "outline",
@@ -4958,7 +4937,7 @@ var init_AuthModal = __esm({
4958
4937
  onClick: handleClick,
4959
4938
  disabled: isLoading,
4960
4939
  title: provider.comingSoon ? `${provider.name} (Coming Soon)` : provider.name,
4961
- children: IconComponent ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IconComponent, { className: "w-6 h-6" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-sm", children: provider.name })
4940
+ children: IconComponent ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconComponent, { className: "w-6 h-6" }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-sm", children: provider.name })
4962
4941
  },
4963
4942
  provider.id
4964
4943
  );
@@ -4968,10 +4947,10 @@ var init_AuthModal = __esm({
4968
4947
  enabled.forEach((kind, idx) => {
4969
4948
  if (idx > 0) {
4970
4949
  nodes.push(
4971
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center my-6", children: [
4972
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `flex-1 border-t ${theme.divider}` }),
4973
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `px-3 ${theme.mutedText} text-sm`, children: "Or" }),
4974
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `flex-1 border-t ${theme.divider}` })
4950
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex items-center my-6", children: [
4951
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `flex-1 border-t ${theme.divider}` }),
4952
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `px-3 ${theme.mutedText} text-sm`, children: "Or" }),
4953
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `flex-1 border-t ${theme.divider}` })
4975
4954
  ] }, `div-${idx}`)
4976
4955
  );
4977
4956
  }
@@ -4979,10 +4958,10 @@ var init_AuthModal = __esm({
4979
4958
  });
4980
4959
  return nodes;
4981
4960
  })(),
4982
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `text-center mt-6 text-sm ${theme.mutedText} font-medium font-sans`, children: [
4961
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: `text-center mt-6 text-sm ${theme.mutedText} font-medium font-sans`, children: [
4983
4962
  "By signing in, you agree to the",
4984
4963
  " ",
4985
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4964
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4986
4965
  "button",
4987
4966
  {
4988
4967
  onClick: () => setShowTerms(true),
@@ -4996,8 +4975,8 @@ var init_AuthModal = __esm({
4996
4975
  ]
4997
4976
  }
4998
4977
  ) }),
4999
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(TermsOfService, { open: showTerms, onOpenChange: setShowTerms }),
5000
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ErrorAlert2, {})
4978
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(TermsOfService, { open: showTerms, onOpenChange: setShowTerms }),
4979
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ErrorAlert2, {})
5001
4980
  ] });
5002
4981
  };
5003
4982
  }
@@ -5655,7 +5634,7 @@ __export(index_exports, {
5655
5634
  module.exports = __toCommonJS(index_exports);
5656
5635
 
5657
5636
  // src/styles/built.css
5658
- 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{background-color:hsl(var(--background));color:hsl(var(--foreground))}.lumia-scope,.lumia-scope *,.lumia-scope :after,.lumia-scope :before{box-sizing:border-box;border-width:0;border-style:solid}.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font:inherit;color:inherit;margin:0;background-color:transparent}.lumia-scope button{font:inherit;margin:0}.lumia-scope input[type=search]::-webkit-search-cancel-button,.lumia-scope input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.lumia-scope,.lumia-scope *,.lumia-scope .lumia-heading,.lumia-scope [data-radix-dialog-content],.lumia-scope [data-radix-dialog-content] *,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-heading{font-weight:700}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .bottom-full{bottom:100%}.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 .left-\\[50\\%\\]{left:50%}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.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-\\[50\\%\\]{top:50%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[2147483646\\]{z-index:2147483646}.lumia-scope .z-\\[2147483647\\]{z-index:2147483647}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .-m-px{margin:-1px}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.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 .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-1\\.5{margin-bottom:.375rem}.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-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-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-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-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-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-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-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-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-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1,.lumia-scope .-translate-y-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-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.lumia-scope .translate-x-\\[-50\\%\\],.lumia-scope .translate-y-\\[-50\\%\\]{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-\\[-50\\%\\]{--tw-translate-y:-50%}.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{box-shadow:0 0 0 rgba(234,88,12,.5)}50%{box-shadow:0 0 20px rgba(234,88,12,.8)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.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 .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 .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .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 :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-2\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*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-3\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem*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 .truncate{overflow:hidden;text-overflow:ellipsis}.lumia-scope .truncate,.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:var(--radius)}.lumia-scope .rounded-md{border-radius:calc(var(--radius) - 2px)}.lumia-scope .rounded-sm{border-radius:calc(var(--radius) - 4px)}.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-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-500\\/30{border-color:rgba(245,158,11,.3)}.lumia-scope .border-amber-500\\/40{border-color:rgba(245,158,11,.4)}.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-500\\/30{border-color:rgba(59,130,246,.3)}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-border{border-color:hsl(var(--border))}.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-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-green-900\\/60{border-color:rgba(20,83,45,.6)}.lumia-scope .border-input{border-color:hsl(var(--input))}.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-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-red-900\\/60{border-color:rgba(127,29,29,.6)}.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-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#2456f0\\]{--tw-bg-opacity:1;background-color:rgb(36 86 240/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#db2777\\]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#fde2f3\\]{--tw-bg-opacity:1;background-color:rgb(253 226 243/var(--tw-bg-opacity,1))}.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-500\\/10{background-color:rgba(245,158,11,.1)}.lumia-scope .bg-amber-500\\/15{background-color:rgba(245,158,11,.15)}.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-background{background-color:hsl(var(--background))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/50{background-color:rgba(0,0,0,.5)}.lumia-scope .bg-black\\/80{background-color:rgba(0,0,0,.8)}.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-50\\/50{background-color:rgba(239,246,255,.5)}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500\\/10{background-color:rgba(59,130,246,.1)}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-card{background-color:hsl(var(--card))}.lumia-scope .bg-destructive{background-color:hsl(var(--destructive))}.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-800\\/50{background-color:rgba(31,41,55,.5)}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950\\/50{background-color:rgba(5,46,22,.5)}.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-900\\/30{background-color:rgba(124,45,18,.3)}.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-primary{background-color:hsl(var(--primary))}.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-50\\/50{background-color:rgba(250,245,255,.5)}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500\\/10{background-color:rgba(168,85,247,.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-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-500\\/15{background-color:rgba(239,68,68,.15)}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/50{background-color:rgba(69,10,10,.5)}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-secondary{background-color:hsl(var(--secondary))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50\\/50{background-color:rgba(240,249,255,.5)}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500\\/10{background-color:rgba(14,165,233,.1)}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .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-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.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 .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-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .italic{font-style:italic}.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 .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-card-foreground{color:hsl(var(--card-foreground))}.lumia-scope .text-destructive{color:hsl(var(--destructive))}.lumia-scope .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.lumia-scope .text-foreground{color:hsl(var(--foreground))}.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-muted-foreground{color:hsl(var(--muted-foreground))}.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-primary{color:hsl(var(--primary))}.lumia-scope .text-primary-foreground{color:hsl(var(--primary-foreground))}.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-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .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{outline-style:solid}.lumia-scope .ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-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-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope .\\[background\\:var\\(--lumia-bg\\)\\]{background:var(--lumia-bg)}.lumia-scope .\\[border-color\\:var\\(--lumia-border\\)\\]{border-color:var(--lumia-border)}.lumia-scope .\\[color\\:var\\(--lumia-text\\)\\]{color:var(--lumia-text)}.lumia-scope .\\[color\\:var\\(--lumia-text-muted\\)\\]{color:var(--lumia-text-muted)}.lumia-scope .\\[color\\:var\\(--lumia-text-secondary\\)\\]{color:var(--lumia-text-secondary)}.lumia-scope .file\\:mr-3::file-selector-button{margin-right:.75rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded::file-selector-button{border-radius:.25rem}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-purple-600::file-selector-button{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.lumia-scope .file\\:py-1\\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-white::file-selector-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#1e49d8\\]:hover{--tw-bg-opacity:1;background-color:rgb(30 73 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#be185d\\]:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#f7c1df\\]:hover{--tw-bg-opacity:1;background-color:rgb(247 193 223/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-900\\/30:hover{background-color:rgba(20,83,45,.3)}.lumia-scope .hover\\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-primary\\/80:hover{background-color:hsl(var(--primary)/.8)}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:from-purple-600:hover{--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 .hover\\:from-purple-700:hover{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .hover\\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.lumia-scope .hover\\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:no-underline:hover{text-decoration-line:none}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:bg-purple-700::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.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-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.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-2: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-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus-visible\\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .disabled\\:pointer-events-none:disabled{pointer-events:none}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}@media (min-width:640px){.lumia-scope .sm\\:mt-0{margin-top:0}.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\\:rounded-lg{border-radius:var(--radius)}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.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\\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/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 .dark\\:hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .dark\\:focus\\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:size-4 svg){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
5637
+ 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{background-color:hsl(var(--background));color:hsl(var(--foreground))}.lumia-scope,.lumia-scope *,.lumia-scope :after,.lumia-scope :before{box-sizing:border-box;border-width:0;border-style:solid}.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font:inherit;color:inherit;margin:0;background-color:transparent}.lumia-scope button{font:inherit;margin:0;background-color:transparent;border:0}.lumia-scope input[type=search]::-webkit-search-cancel-button,.lumia-scope input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.lumia-scope,.lumia-scope *,.lumia-scope .lumia-heading,.lumia-scope [data-radix-dialog-content],.lumia-scope [data-radix-dialog-content] *,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-heading{font-weight:700}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .bottom-full{bottom:100%}.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 .left-\\[50\\%\\]{left:50%}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.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-\\[50\\%\\]{top:50%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[2147483646\\]{z-index:2147483646}.lumia-scope .z-\\[2147483647\\]{z-index:2147483647}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .-m-px{margin:-1px}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.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-1\\.5{margin-bottom:.375rem}.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-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-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-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-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-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-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-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1,.lumia-scope .-translate-y-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-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.lumia-scope .translate-x-\\[-50\\%\\],.lumia-scope .translate-y-\\[-50\\%\\]{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-\\[-50\\%\\]{--tw-translate-y:-50%}.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{box-shadow:0 0 0 rgba(234,88,12,.5)}50%{box-shadow:0 0 20px rgba(234,88,12,.8)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.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 .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 .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .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 :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-2\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*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-3\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem*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 .truncate{overflow:hidden;text-overflow:ellipsis}.lumia-scope .truncate,.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:var(--radius)}.lumia-scope .rounded-md{border-radius:calc(var(--radius) - 2px)}.lumia-scope .rounded-sm{border-radius:calc(var(--radius) - 4px)}.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-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-500\\/30{border-color:rgba(245,158,11,.3)}.lumia-scope .border-amber-500\\/40{border-color:rgba(245,158,11,.4)}.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-500\\/30{border-color:rgba(59,130,246,.3)}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-border{border-color:hsl(var(--border))}.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-500\\/40{border-color:rgba(34,197,94,.4)}.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-green-900\\/60{border-color:rgba(20,83,45,.6)}.lumia-scope .border-input{border-color:hsl(var(--input))}.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-500\\/40{border-color:rgba(239,68,68,.4)}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-red-900\\/60{border-color:rgba(127,29,29,.6)}.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-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#2456f0\\]{--tw-bg-opacity:1;background-color:rgb(36 86 240/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#db2777\\]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#fde2f3\\]{--tw-bg-opacity:1;background-color:rgb(253 226 243/var(--tw-bg-opacity,1))}.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-500\\/10{background-color:rgba(245,158,11,.1)}.lumia-scope .bg-amber-500\\/15{background-color:rgba(245,158,11,.15)}.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-background{background-color:hsl(var(--background))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/50{background-color:rgba(0,0,0,.5)}.lumia-scope .bg-black\\/80{background-color:rgba(0,0,0,.8)}.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-50\\/50{background-color:rgba(239,246,255,.5)}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500\\/10{background-color:rgba(59,130,246,.1)}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-card{background-color:hsl(var(--card))}.lumia-scope .bg-destructive{background-color:hsl(var(--destructive))}.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-800\\/50{background-color:rgba(31,41,55,.5)}.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-500\\/15{background-color:rgba(34,197,94,.15)}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950\\/50{background-color:rgba(5,46,22,.5)}.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-primary{background-color:hsl(var(--primary))}.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-50\\/50{background-color:rgba(250,245,255,.5)}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500\\/10{background-color:rgba(168,85,247,.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-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-500\\/15{background-color:rgba(239,68,68,.15)}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/50{background-color:rgba(69,10,10,.5)}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-secondary{background-color:hsl(var(--secondary))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50\\/50{background-color:rgba(240,249,255,.5)}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500\\/10{background-color:rgba(14,165,233,.1)}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .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-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.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 .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-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .italic{font-style:italic}.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 .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-card-foreground{color:hsl(var(--card-foreground))}.lumia-scope .text-destructive{color:hsl(var(--destructive))}.lumia-scope .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.lumia-scope .text-foreground{color:hsl(var(--foreground))}.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-muted-foreground{color:hsl(var(--muted-foreground))}.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-primary{color:hsl(var(--primary))}.lumia-scope .text-primary-foreground{color:hsl(var(--primary-foreground))}.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-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .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{outline-style:solid}.lumia-scope .ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-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-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope .\\[background\\:var\\(--lumia-bg\\)\\]{background:var(--lumia-bg)}.lumia-scope .\\[border-color\\:var\\(--lumia-border\\)\\]{border-color:var(--lumia-border)}.lumia-scope .\\[color\\:var\\(--lumia-text\\)\\]{color:var(--lumia-text)}.lumia-scope .\\[color\\:var\\(--lumia-text-muted\\)\\]{color:var(--lumia-text-muted)}.lumia-scope .\\[color\\:var\\(--lumia-text-secondary\\)\\]{color:var(--lumia-text-secondary)}.lumia-scope .file\\:mr-3::file-selector-button{margin-right:.75rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded::file-selector-button{border-radius:.25rem}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-purple-600::file-selector-button{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.lumia-scope .file\\:py-1\\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-white::file-selector-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#1e49d8\\]:hover{--tw-bg-opacity:1;background-color:rgb(30 73 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#be185d\\]:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#f7c1df\\]:hover{--tw-bg-opacity:1;background-color:rgb(247 193 223/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-900\\/30:hover{background-color:rgba(20,83,45,.3)}.lumia-scope .hover\\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-primary\\/80:hover{background-color:hsl(var(--primary)/.8)}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:from-purple-600:hover{--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 .hover\\:from-purple-700:hover{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .hover\\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.lumia-scope .hover\\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:no-underline:hover{text-decoration-line:none}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:bg-purple-700::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.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-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.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-2: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-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus-visible\\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .disabled\\:pointer-events-none:disabled{pointer-events:none}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}@media (min-width:640px){.lumia-scope .sm\\:mt-0{margin-top:0}.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\\:rounded-lg{border-radius:var(--radius)}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.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\\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/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 .dark\\:hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .dark\\:focus\\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:size-4 svg){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
5659
5638
 
5660
5639
  // src/index.ts
5661
5640
  init_LumiaPassportContext();
@@ -6041,7 +6020,7 @@ var WalletConnectHandler = ({
6041
6020
  };
6042
6021
 
6043
6022
  // src/internal/components/ManageWallet.tsx
6044
- var import_jsx_runtime21 = require("react/jsx-runtime");
6023
+ var import_jsx_runtime20 = require("react/jsx-runtime");
6045
6024
  var ManageWallet = ({ open, onOpenChange, onBack }) => {
6046
6025
  const [providers, setProviders] = (0, import_react11.useState)([]);
6047
6026
  const [loading, setLoading] = (0, import_react11.useState)(false);
@@ -6188,8 +6167,8 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6188
6167
  setLinkIsLoading(false);
6189
6168
  }
6190
6169
  };
6191
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
6192
- config.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6170
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
6171
+ config.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6193
6172
  WalletConnectHandler,
6194
6173
  {
6195
6174
  isLinking: isWalletLinking,
@@ -6222,79 +6201,79 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6222
6201
  onLoadingChange: setLinkIsLoading
6223
6202
  }
6224
6203
  ),
6225
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Dialog, { open, onOpenChange: (newOpen) => {
6204
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Dialog, { open, onOpenChange: (newOpen) => {
6226
6205
  onOpenChange(newOpen);
6227
6206
  if (!newOpen) {
6228
6207
  setIsWalletLinking(false);
6229
6208
  }
6230
6209
  }, children: [
6231
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5", children: [
6232
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-between mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6233
- onBack && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6210
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-5", children: [
6211
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex items-center justify-between mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-2", children: [
6212
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6234
6213
  "button",
6235
6214
  {
6236
6215
  onClick: onBack,
6237
6216
  className: `p-1 mr-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6238
6217
  title: "Back",
6239
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.ArrowLeft, { className: "h-4 w-4" })
6218
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.ArrowLeft, { className: "h-4 w-4" })
6240
6219
  }
6241
6220
  ),
6242
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6243
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { children: "Manage Wallet Authentication" }) }),
6244
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h2", { className: `text-xl font-semibold ${theme.titleText}`, children: "Manage Wallet Authentication" })
6221
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
6222
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { children: "Manage Wallet Authentication" }) }),
6223
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-xl font-semibold ${theme.titleText}`, children: "Manage Wallet Authentication" })
6245
6224
  ] })
6246
6225
  ] }) }),
6247
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: `mb-4 ${theme.bodyText}`, children: "Manage your connected authentication methods" }),
6248
- error && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `mt-4 p-3 rounded text-sm flex items-start gap-2 break-words whitespace-pre-wrap max-h-24 overflow-auto ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: [
6249
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.AlertTriangle, { className: "w-4 h-4 mt-0.5 shrink-0" }),
6250
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "block", children: error })
6226
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogDescription, { className: `mb-4 ${theme.bodyText}`, children: "Manage your connected authentication methods" }),
6227
+ error && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `mt-4 p-3 rounded text-sm flex items-start gap-2 break-words whitespace-pre-wrap max-h-24 overflow-auto ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: [
6228
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.AlertTriangle, { className: "w-4 h-4 mt-0.5 shrink-0" }),
6229
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "block", children: error })
6251
6230
  ] }),
6252
- loading ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-center justify-center py-8 ${theme.mutedText}`, children: [
6253
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.RefreshCw, { className: "w-5 h-5 mr-2 animate-spin" }),
6231
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `flex items-center justify-center py-8 ${theme.mutedText}`, children: [
6232
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.RefreshCw, { className: "w-5 h-5 mr-2 animate-spin" }),
6254
6233
  "Loading authentication providers\u2026"
6255
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "mt-3 space-y-3", children: providers.map((p) => {
6234
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "mt-3 space-y-3", children: providers.map((p) => {
6256
6235
  const info = getProviderDisplayInfo(p.provider);
6257
6236
  const allowUnlink = canUnlink(p);
6258
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `border rounded-xl p-3 ${isDark ? "border-gray-700 bg-gray-800" : "border-gray-200 bg-white"}`, children: [
6259
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-between", children: [
6260
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-3", children: [
6261
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-lg ${isDark ? "text-gray-400" : "text-gray-600"}`, children: info.icon }),
6262
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-sm font-medium ${theme.titleText}`, children: info.name })
6237
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `border rounded-xl p-3 ${isDark ? "border-gray-700 bg-gray-800" : "border-gray-200 bg-white"}`, children: [
6238
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center justify-between", children: [
6239
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-3", children: [
6240
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-lg ${isDark ? "text-gray-400" : "text-gray-600"}`, children: info.icon }),
6241
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-sm font-medium ${theme.titleText}`, children: info.name })
6263
6242
  ] }),
6264
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6265
- p.verified ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.CheckCircle, { className: `w-4 h-4 ${isDark ? "text-green-400" : "text-green-500"}` }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Clock, { className: "w-4 h-4 text-yellow-500" }),
6266
- allowUnlink && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6243
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-2", children: [
6244
+ p.verified ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.CheckCircle, { className: `w-4 h-4 ${isDark ? "text-green-400" : "text-green-500"}` }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Clock, { className: "w-4 h-4 text-yellow-500" }),
6245
+ allowUnlink && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6267
6246
  "button",
6268
6247
  {
6269
6248
  onClick: () => setConfirmUnlink({ provider: p.provider, providerName: info.name, externalId: p.externalId }),
6270
6249
  className: `p-1 ${isDark ? "text-red-400 hover:text-red-300" : "text-red-500 hover:text-red-700"}`,
6271
6250
  title: "Remove provider",
6272
- children: unlinking === p.provider ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.RefreshCw, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Trash2, { className: "w-4 h-4" })
6251
+ children: unlinking === p.provider ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.RefreshCw, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Trash2, { className: "w-4 h-4" })
6273
6252
  }
6274
6253
  )
6275
6254
  ] })
6276
6255
  ] }),
6277
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `mt-2 space-y-1 text-xs ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6278
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6279
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Link, { className: `w-3 h-3 ${isDark ? "text-gray-500" : "text-gray-400"}` }),
6256
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `mt-2 space-y-1 text-xs ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6257
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-1", children: [
6258
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Link, { className: `w-3 h-3 ${isDark ? "text-gray-500" : "text-gray-400"}` }),
6280
6259
  "Linked: ",
6281
6260
  formatDate(p.linkedAt)
6282
6261
  ] }),
6283
- p.lastUsedAt && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6284
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Clock, { className: `w-3 h-3 ${isDark ? "text-gray-500" : "text-gray-400"}` }),
6262
+ p.lastUsedAt && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-1", children: [
6263
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Clock, { className: `w-3 h-3 ${isDark ? "text-gray-500" : "text-gray-400"}` }),
6285
6264
  "Last used: ",
6286
6265
  formatDate(p.lastUsedAt)
6287
6266
  ] }),
6288
- p.externalId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-[10px] font-mono break-all ${isDark ? "text-gray-500" : "text-gray-500"}`, children: [
6267
+ p.externalId && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `text-[10px] font-mono break-all ${isDark ? "text-gray-500" : "text-gray-500"}`, children: [
6289
6268
  "ID: ",
6290
6269
  p.externalId
6291
6270
  ] })
6292
6271
  ] })
6293
6272
  ] }, `${p.provider}-${p.externalId}`);
6294
6273
  }) }),
6295
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "success", onClick: () => setShowAdd(true), children: "+ Add Provider" }) })
6274
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { variant: "success", onClick: () => setShowAdd(true), children: "+ Add Provider" }) })
6296
6275
  ] }) }),
6297
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { open: showAdd, onOpenChange: (v) => {
6276
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open: showAdd, onOpenChange: (v) => {
6298
6277
  setShowAdd(v);
6299
6278
  if (!v) {
6300
6279
  setProviderType(null);
@@ -6302,9 +6281,9 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6302
6281
  setEmailCode("");
6303
6282
  setEmailCodeSent(false);
6304
6283
  }
6305
- }, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5", children: [
6306
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
6307
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6284
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-5", children: [
6285
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
6286
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6308
6287
  "button",
6309
6288
  {
6310
6289
  onClick: () => {
@@ -6320,27 +6299,27 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6320
6299
  },
6321
6300
  className: `p-1 mr-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6322
6301
  title: "Back",
6323
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.ArrowLeft, { className: "h-4 w-4" })
6302
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.ArrowLeft, { className: "h-4 w-4" })
6324
6303
  }
6325
6304
  ),
6326
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { className: `text-xl font-semibold ${theme.titleText}`, children: "Add Authentication Method" })
6305
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: `text-xl font-semibold ${theme.titleText}`, children: "Add Authentication Method" })
6327
6306
  ] }),
6328
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: `${theme.bodyText} mb-4`, children: "Add a new way to authenticate to your account" }),
6329
- !providerType ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-3 space-y-4", children: [
6330
- config.passkey.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Button, { onClick: () => setProviderType("passkey"), className: "w-full", size: "lg", children: [
6331
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Key, { className: "w-4 h-4 mr-2" }),
6307
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogDescription, { className: `${theme.bodyText} mb-4`, children: "Add a new way to authenticate to your account" }),
6308
+ !providerType ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "mt-3 space-y-4", children: [
6309
+ config.passkey.enabled && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Button, { onClick: () => setProviderType("passkey"), className: "w-full", size: "lg", children: [
6310
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Key, { className: "w-4 h-4 mr-2" }),
6332
6311
  "Link with Passkey"
6333
6312
  ] }),
6334
- config.passkey.enabled && (config.email.enabled || config.wallet?.enabled || config.social.enabled && config.social.providers.some((p) => p.enabled)) && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-center text-sm ${theme.mutedText}`, children: "Or" }),
6335
- config.email.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2", children: [
6336
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Input, { type: "email", placeholder: config.email.placeholder || "Enter your email", value: email, onChange: (e) => setEmail(e.target.value), className: `h-11 ${isDark ? "bg-gray-800 border-gray-600 text-gray-100 placeholder:text-gray-500" : ""}` }),
6337
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { onClick: () => {
6313
+ config.passkey.enabled && (config.email.enabled || config.wallet?.enabled || config.social.enabled && config.social.providers.some((p) => p.enabled)) && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.mutedText}`, children: "Or" }),
6314
+ config.email.enabled && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-2", children: [
6315
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Input, { type: "email", placeholder: config.email.placeholder || "Enter your email", value: email, onChange: (e) => setEmail(e.target.value), className: `h-11 ${isDark ? "bg-gray-800 border-gray-600 text-gray-100 placeholder:text-gray-500" : ""}` }),
6316
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { onClick: () => {
6338
6317
  setProviderType("email");
6339
6318
  handleSendCode();
6340
6319
  }, disabled: !email, className: "w-full", size: "lg", variant: "secondary", children: "Continue" })
6341
6320
  ] }),
6342
- (config.wallet?.enabled || config.social.enabled && config.social.providers.some((p) => p.enabled)) && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-center text-sm ${theme.mutedText}`, children: "Or" }),
6343
- config.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
6321
+ (config.wallet?.enabled || config.social.enabled && config.social.providers.some((p) => p.enabled)) && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.mutedText}`, children: "Or" }),
6322
+ config.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
6344
6323
  Button,
6345
6324
  {
6346
6325
  onClick: () => {
@@ -6356,24 +6335,24 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6356
6335
  size: "lg",
6357
6336
  variant: "outline",
6358
6337
  children: [
6359
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Wallet, { className: "w-4 h-4 mr-2" }),
6338
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Wallet, { className: "w-4 h-4 mr-2" }),
6360
6339
  "Connect External Wallet"
6361
6340
  ]
6362
6341
  }
6363
6342
  ),
6364
- config.wallet?.enabled && config.social.enabled && config.social.providers.some((p) => p.enabled) && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-center text-sm ${theme.mutedText}`, children: "Or" }),
6365
- config.social.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `grid grid-cols-${config.social.gridColumns} gap-2`, children: config.social.providers.filter((p) => p.enabled).map((sp) => {
6343
+ config.wallet?.enabled && config.social.enabled && config.social.providers.some((p) => p.enabled) && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.mutedText}`, children: "Or" }),
6344
+ config.social.enabled && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `grid grid-cols-${config.social.gridColumns} gap-2`, children: config.social.providers.filter((p) => p.enabled).map((sp) => {
6366
6345
  const map = { google: GoogleIcon, telegram: TelegramIcon, twitter: TwitterIcon, x: TwitterIcon, discord: DiscordIcon };
6367
6346
  const F = sp.icon || map[sp.id.toLowerCase()];
6368
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "outline", onClick: () => setProviderType(sp.id), className: `p-0 flex items-center justify-center [&_svg]:!w-5 [&_svg]:!h-5 ${isDark ? "bg-gray-800 border-gray-600 hover:bg-gray-700" : "bg-white border-gray-200 hover:bg-gray-50"}`, size: "lg", children: F ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(F, { className: "w-6 h-6" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-sm", children: sp.name }) }, sp.id);
6347
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { variant: "outline", onClick: () => setProviderType(sp.id), className: `p-0 flex items-center justify-center [&_svg]:!w-5 [&_svg]:!h-5 ${isDark ? "bg-gray-800 border-gray-600 hover:bg-gray-700" : "bg-white border-gray-200 hover:bg-gray-50"}`, size: "lg", children: F ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(F, { className: "w-6 h-6" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-sm", children: sp.name }) }, sp.id);
6369
6348
  }) })
6370
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-3 space-y-3", children: [
6371
- providerType === "email" && emailCodeSent && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2", children: [
6372
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `p-3 rounded text-sm ${isDark ? "bg-green-900/30 border border-green-900 text-green-400" : "bg-green-50 border border-green-200 text-green-700"}`, children: [
6349
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "mt-3 space-y-3", children: [
6350
+ providerType === "email" && emailCodeSent && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-2", children: [
6351
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `p-3 rounded text-sm ${isDark ? "bg-green-900/30 border border-green-900 text-green-400" : "bg-green-50 border border-green-200 text-green-700"}`, children: [
6373
6352
  "Verification code sent to ",
6374
6353
  email
6375
6354
  ] }),
6376
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6355
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6377
6356
  VerificationCodeInput,
6378
6357
  {
6379
6358
  onVerifyCode: handleVerifyCode,
@@ -6384,9 +6363,9 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6384
6363
  }
6385
6364
  )
6386
6365
  ] }),
6387
- providerType === "passkey" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-3", children: [
6388
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: "Link a passkey to your account using WebAuthn. Your device may let you choose an existing passkey; otherwise a new one will be created." }),
6389
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
6366
+ providerType === "passkey" && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-3", children: [
6367
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: "Link a passkey to your account using WebAuthn. Your device may let you choose an existing passkey; otherwise a new one will be created." }),
6368
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
6390
6369
  Button,
6391
6370
  {
6392
6371
  onClick: async () => {
@@ -6416,12 +6395,12 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6416
6395
  size: "lg",
6417
6396
  disabled: linkIsLoading,
6418
6397
  children: [
6419
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.Key, { className: "w-4 h-4 mr-2" }),
6398
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react6.Key, { className: "w-4 h-4 mr-2" }),
6420
6399
  linkIsLoading ? "Linking\u2026" : "Create on This Device"
6421
6400
  ]
6422
6401
  }
6423
6402
  ),
6424
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6403
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6425
6404
  Button,
6426
6405
  {
6427
6406
  onClick: async () => {
@@ -6454,13 +6433,13 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6454
6433
  children: "Create on Security Key"
6455
6434
  }
6456
6435
  ),
6457
- linkError && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `p-3 rounded text-sm break-words whitespace-pre-wrap ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: linkError })
6436
+ linkError && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `p-3 rounded text-sm break-words whitespace-pre-wrap ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: linkError })
6458
6437
  ] }),
6459
- providerType === "telegram" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-3", children: [
6460
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: config.social?.providers?.find((p) => (p.id || "").toLowerCase() === "telegram")?.meta?.botUsername ? "Authenticate with Telegram to link your account." : "Telegram bot username is not configured." }),
6461
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref: telegramContainerRef, className: "flex justify-center" })
6438
+ providerType === "telegram" && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-3", children: [
6439
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: config.social?.providers?.find((p) => (p.id || "").toLowerCase() === "telegram")?.meta?.botUsername ? "Authenticate with Telegram to link your account." : "Telegram bot username is not configured." }),
6440
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { ref: telegramContainerRef, className: "flex justify-center" })
6462
6441
  ] }),
6463
- providerType && providerType !== "email" && providerType !== "passkey" && providerType !== "telegram" && providerType !== "wallet" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: [
6442
+ providerType && providerType !== "email" && providerType !== "passkey" && providerType !== "telegram" && providerType !== "wallet" && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: [
6464
6443
  "Linking with ",
6465
6444
  providerType.charAt(0).toUpperCase() + providerType.slice(1),
6466
6445
  " requires OAuth implementation. This would typically redirect to ",
@@ -6469,23 +6448,23 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6469
6448
  ] })
6470
6449
  ] })
6471
6450
  ] }) }) }),
6472
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { open: !!confirmUnlink, onOpenChange: (v) => {
6451
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open: !!confirmUnlink, onOpenChange: (v) => {
6473
6452
  if (!v) {
6474
6453
  setConfirmUnlink(null);
6475
6454
  setConfirmInput("");
6476
6455
  }
6477
- }, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogContent, { className: `lumia-scope max-w-[380px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5", children: [
6478
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { className: `text-lg font-semibold ${theme.titleText}`, children: "Remove Authentication Method" }),
6479
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogDescription, { className: `${theme.bodyText} mt-2`, children: [
6456
+ }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogContent, { className: `lumia-scope max-w-[380px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-5", children: [
6457
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: `text-lg font-semibold ${theme.titleText}`, children: "Remove Authentication Method" }),
6458
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DialogDescription, { className: `${theme.bodyText} mt-2`, children: [
6480
6459
  "This will permanently unlink ",
6481
6460
  confirmUnlink?.providerName,
6482
6461
  " from your account. You may lose access if this is your only verified method."
6483
6462
  ] }),
6484
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `mt-3 p-3 rounded text-sm ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: "This action cannot be undone." }),
6485
- confirmUnlink && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-3", children: [
6486
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs mb-1 ${theme.mutedText}`, children: "Type the provider ID to confirm removal:" }),
6487
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-[10px] font-mono mb-2 break-all ${isDark ? "text-gray-400" : "text-gray-600"}`, children: confirmUnlink.externalId }),
6488
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6463
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `mt-3 p-3 rounded text-sm ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: "This action cannot be undone." }),
6464
+ confirmUnlink && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "mt-3", children: [
6465
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-xs mb-1 ${theme.mutedText}`, children: "Type the provider ID to confirm removal:" }),
6466
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-[10px] font-mono mb-2 break-all ${isDark ? "text-gray-400" : "text-gray-600"}`, children: confirmUnlink.externalId }),
6467
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6489
6468
  Input,
6490
6469
  {
6491
6470
  value: confirmInput,
@@ -6495,12 +6474,12 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6495
6474
  }
6496
6475
  )
6497
6476
  ] }),
6498
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-4 flex justify-end gap-2", children: [
6499
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { className: `${theme.outlineBtn}`, variant: "outline", onClick: () => {
6477
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "mt-4 flex justify-end gap-2", children: [
6478
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { className: `${theme.outlineBtn}`, variant: "outline", onClick: () => {
6500
6479
  setConfirmUnlink(null);
6501
6480
  setConfirmInput("");
6502
6481
  }, disabled: !!unlinking, children: "Cancel" }),
6503
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6482
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6504
6483
  Button,
6505
6484
  {
6506
6485
  onClick: () => confirmUnlink && handleUnlink(confirmUnlink.provider, confirmUnlink.externalId),
@@ -6525,7 +6504,7 @@ init_vaultClient();
6525
6504
  var import_lucide_react7 = require("lucide-react");
6526
6505
  init_LumiaPassportContext();
6527
6506
  init_useTheme();
6528
- var import_jsx_runtime22 = require("react/jsx-runtime");
6507
+ var import_jsx_runtime21 = require("react/jsx-runtime");
6529
6508
  var SecurityModal = ({ open, onOpenChange, onBack }) => {
6530
6509
  const userId = import_auth3.jwtTokenManager.getUserId();
6531
6510
  const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
@@ -6604,179 +6583,179 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6604
6583
  console.error("[SecurityModal] Error removing trusted app:", error);
6605
6584
  }
6606
6585
  };
6607
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Dialog, { open, onOpenChange, children: [
6608
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6609
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Security" }) }),
6610
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Keyshare and vault status" }),
6611
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 space-y-4", children: [
6612
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6613
- onBack && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6586
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Dialog, { open, onOpenChange, children: [
6587
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6588
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { children: "Security" }) }),
6589
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: "sr-only", children: "Keyshare and vault status" }),
6590
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5 space-y-4", children: [
6591
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6592
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6614
6593
  "button",
6615
6594
  {
6616
6595
  onClick: onBack,
6617
- className: `p-1 mr-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6596
+ className: `p-1 mr-1 bg-transparent border-0 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6618
6597
  title: "Back",
6619
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.ArrowLeft, { className: "h-4 w-4" })
6598
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.ArrowLeft, { className: "h-4 w-4" })
6620
6599
  }
6621
6600
  ),
6622
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 ${theme.text} font-semibold`, children: [
6623
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Key, { className: "h-4 w-4" }),
6624
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Keyshare Status" }),
6625
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { onClick: fetchRecovery, className: `p-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`, title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.RefreshCw, { className: `h-4 w-4 ${isRefreshing ? "animate-spin" : ""}` }) })
6601
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-center gap-2 ${theme.text} font-semibold`, children: [
6602
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Key, { className: "h-4 w-4" }),
6603
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: "Keyshare Status" }),
6604
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { onClick: fetchRecovery, className: `p-1 bg-transparent border-0 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`, title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.RefreshCw, { className: `h-4 w-4 ${isRefreshing ? "animate-spin" : ""}` }) })
6626
6605
  ] })
6627
6606
  ] }) }),
6628
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-3 gap-4", children: [
6629
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6630
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6631
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Cloud, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6632
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Server" })
6607
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "grid grid-cols-3 gap-4", children: [
6608
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2 text-center", children: [
6609
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6610
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Cloud, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6611
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Server" })
6633
6612
  ] }),
6634
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${serverHasKeyshare ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6635
- serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6613
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${serverHasKeyshare ? isDark ? "bg-gray-800 text-green-400" : "bg-green-50 text-green-700" : isDark ? "bg-gray-800 text-orange-400" : "bg-orange-50 text-orange-700"}`, children: [
6614
+ serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6636
6615
  serverHasKeyshare ? "Ready" : "Missing"
6637
6616
  ] })
6638
6617
  ] }),
6639
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6640
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6641
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Laptop, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6642
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Local" })
6618
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2 text-center", children: [
6619
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6620
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Laptop, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6621
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Local" })
6643
6622
  ] }),
6644
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${localInfo?.hasKeyshare ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6645
- localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6623
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${localInfo?.hasKeyshare ? isDark ? "bg-gray-800 text-green-400" : "bg-green-50 text-green-700" : isDark ? "bg-gray-800 text-orange-400" : "bg-orange-50 text-orange-700"}`, children: [
6624
+ localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6646
6625
  localInfo?.hasKeyshare ? "Ready" : "Missing"
6647
6626
  ] })
6648
6627
  ] }),
6649
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6650
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6651
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Shield, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6652
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Vault" })
6628
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2 text-center", children: [
6629
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6630
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Shield, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6631
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Vault" })
6653
6632
  ] }),
6654
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${hasServerBackup ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6655
- hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6633
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${hasServerBackup ? isDark ? "bg-gray-800 text-green-400" : "bg-green-50 text-green-700" : isDark ? "bg-gray-800 text-orange-400" : "bg-orange-50 text-orange-700"}`, children: [
6634
+ hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6656
6635
  hasServerBackup ? "Ready" : "None"
6657
6636
  ] })
6658
6637
  ] })
6659
6638
  ] }),
6660
- localInfo?.hasKeyshare && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6661
- localInfo.ownerAddress && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6639
+ localInfo?.hasKeyshare && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6640
+ localInfo.ownerAddress && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6662
6641
  "Owner: ",
6663
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.ownerAddress })
6642
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.ownerAddress })
6664
6643
  ] }),
6665
- typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6644
+ typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6666
6645
  "Size: ",
6667
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `font-mono ${isDark ? "text-gray-200" : "text-gray-800"}`, children: [
6646
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `font-mono ${isDark ? "text-gray-200" : "text-gray-800"}`, children: [
6668
6647
  Math.round((localInfo.keyshareSize || 0) / 1024),
6669
6648
  "KB"
6670
6649
  ] })
6671
6650
  ] }),
6672
- localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6651
+ localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6673
6652
  "Session: ",
6674
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.sessionId })
6653
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.sessionId })
6675
6654
  ] })
6676
6655
  ] }),
6677
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6678
- backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6679
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6680
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6656
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6657
+ backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6658
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6659
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6681
6660
  "Server: ",
6682
6661
  new Date(backup.server.lastBackup).toLocaleString()
6683
6662
  ] })
6684
6663
  ] }),
6685
- !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6686
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6687
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6664
+ !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6665
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6666
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6688
6667
  "Server: ",
6689
6668
  new Date(recoveryCreatedAt).toLocaleString()
6690
6669
  ] })
6691
6670
  ] }),
6692
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6693
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Cloud, { className: "h-2.5 w-2.5 text-gray-400" }),
6694
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6671
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6672
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Cloud, { className: "h-2.5 w-2.5 text-gray-400" }),
6673
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6695
6674
  "Cloud: ",
6696
6675
  new Date(backup.cloud.lastBackup).toLocaleString()
6697
6676
  ] })
6698
6677
  ] }),
6699
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6700
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.HardDrive, { className: "h-2.5 w-2.5 text-gray-400" }),
6701
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6678
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6679
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.HardDrive, { className: "h-2.5 w-2.5 text-gray-400" }),
6680
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6702
6681
  "Local: ",
6703
6682
  new Date(backup.local.lastBackup).toLocaleString()
6704
6683
  ] })
6705
6684
  ] })
6706
6685
  ] }),
6707
- (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6708
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium text-[11px] ${isDark ? "text-indigo-400" : "text-indigo-600"}`, children: "Device Information:" }),
6709
- recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6686
+ (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6687
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium text-[11px] ${isDark ? "text-indigo-400" : "text-indigo-600"}`, children: "Device Information:" }),
6688
+ recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6710
6689
  "Created: ",
6711
6690
  new Date(recoveryCreatedAt).toLocaleString(),
6712
6691
  " "
6713
6692
  ] }),
6714
- recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6693
+ recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6715
6694
  "Country: ",
6716
6695
  recoveryCountry
6717
6696
  ] }),
6718
- recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6697
+ recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6719
6698
  "Browser: ",
6720
6699
  recoveryBrowser
6721
6700
  ] }),
6722
- parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6701
+ parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6723
6702
  "OS: ",
6724
6703
  parseOS(recoveryUa)
6725
6704
  ] }),
6726
- recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6705
+ recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6727
6706
  "Device: ",
6728
6707
  recoveryDeviceName
6729
6708
  ] }),
6730
- recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6709
+ recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6731
6710
  "Device ID: ",
6732
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-mono break-all", children: recoveryDeviceId })
6711
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "font-mono break-all", children: recoveryDeviceId })
6733
6712
  ] })
6734
6713
  ] }),
6735
- trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6736
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `font-medium text-[11px] ${isDark ? "text-green-400" : "text-green-600"}`, children: [
6714
+ trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6715
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `font-medium text-[11px] ${isDark ? "text-green-400" : "text-green-600"}`, children: [
6737
6716
  "Trusted Applications (",
6738
6717
  trustedApps.length,
6739
6718
  "):"
6740
6719
  ] }),
6741
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 ${isDark ? "bg-gray-800/50" : "bg-gray-50"}`, children: [
6742
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex-1 min-w-0", children: [
6743
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: new URL(app.origin).hostname }),
6744
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6720
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 ${isDark ? "bg-gray-800/50" : "bg-gray-50"}`, children: [
6721
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex-1 min-w-0", children: [
6722
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: new URL(app.origin).hostname }),
6723
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6745
6724
  "Trusted: ",
6746
6725
  new Date(app.trustedAt).toLocaleDateString()
6747
6726
  ] })
6748
6727
  ] }),
6749
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6728
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6750
6729
  "button",
6751
6730
  {
6752
6731
  onClick: () => setAppToRemove({ projectId: app.projectId, origin: app.origin, hostname: new URL(app.origin).hostname }),
6753
6732
  className: `p-1 rounded transition-colors ${isDark ? "text-gray-400 hover:text-red-400 hover:bg-red-900/20" : "text-gray-500 hover:text-red-600 hover:bg-red-50"}`,
6754
6733
  title: "Remove from trusted",
6755
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Trash2, { className: "h-3 w-3" })
6734
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Trash2, { className: "h-3 w-3" })
6756
6735
  }
6757
6736
  )
6758
6737
  ] }, index)) })
6759
6738
  ] })
6760
6739
  ] })
6761
6740
  ] }),
6762
- appToRemove && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Dialog, { open: !!appToRemove, onOpenChange: (open2) => !open2 && setAppToRemove(null), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogContent, { className: `lumia-scope max-w-[380px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6763
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Remove Trusted Application" }) }),
6764
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Confirm removal of trusted application" }),
6765
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 space-y-4", children: [
6766
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-center ${theme.text}`, children: [
6767
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
6768
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm ${isDark ? "text-gray-300" : "text-gray-700"} mb-3`, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-medium", children: appToRemove.hostname }) }),
6769
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"} text-left space-y-2`, children: [
6770
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { children: "After removing this application from trusted list:" }),
6771
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("ul", { className: "list-disc list-inside space-y-1 ml-2", children: [
6772
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: "All transactions will require confirmation in a separate window" }),
6773
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: "You can add it back to trusted list at any time" }),
6774
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: 'Transaction confirmation window will show "Trust this app" checkbox' })
6741
+ appToRemove && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { open: !!appToRemove, onOpenChange: (open2) => !open2 && setAppToRemove(null), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogContent, { className: `lumia-scope max-w-[380px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6742
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { children: "Remove Trusted Application" }) }),
6743
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: "sr-only", children: "Confirm removal of trusted application" }),
6744
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5 space-y-4", children: [
6745
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-center ${theme.text}`, children: [
6746
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
6747
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-sm ${isDark ? "text-gray-300" : "text-gray-700"} mb-3`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "font-medium", children: appToRemove.hostname }) }),
6748
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"} text-left space-y-2`, children: [
6749
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { children: "After removing this application from trusted list:" }),
6750
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("ul", { className: "list-disc list-inside space-y-1 ml-2", children: [
6751
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: "All transactions will require confirmation in a separate window" }),
6752
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: "You can add it back to trusted list at any time" }),
6753
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: 'Transaction confirmation window will show "Trust this app" checkbox' })
6775
6754
  ] })
6776
6755
  ] })
6777
6756
  ] }),
6778
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex gap-2", children: [
6779
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6757
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex gap-2", children: [
6758
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6780
6759
  Button,
6781
6760
  {
6782
6761
  onClick: () => setAppToRemove(null),
@@ -6786,7 +6765,7 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6786
6765
  children: "Cancel"
6787
6766
  }
6788
6767
  ),
6789
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6768
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6790
6769
  Button,
6791
6770
  {
6792
6771
  onClick: confirmRemoveTrustedApp,
@@ -6811,8 +6790,8 @@ init_input();
6811
6790
  init_iframe_manager();
6812
6791
  init_LumiaPassportContext();
6813
6792
  init_useTheme();
6814
- var import_jsx_runtime23 = require("react/jsx-runtime");
6815
- function KeyshareBackup({ userId, onBackupSuccess }) {
6793
+ var import_jsx_runtime22 = require("react/jsx-runtime");
6794
+ function KeyshareBackup({ userId, onBackupSuccess, onBack }) {
6816
6795
  const { config } = useLumiaPassportConfig();
6817
6796
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
6818
6797
  const [backupStatus, setBackupStatus] = React18.useState({
@@ -6955,27 +6934,36 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
6955
6934
  const date = new Date(timestamp);
6956
6935
  return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
6957
6936
  };
6958
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Card, { className: `${theme.modalBg} border-0`, children: [
6959
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CardHeader, { className: "pb-3", children: [
6960
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
6961
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Shield, { className: `h-5 w-5 ${isDark ? "text-green-400" : "text-green-600"}` }),
6962
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardTitle, { className: `text-base ${theme.titleText}`, children: "Create Backup" })
6937
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Card, { className: `${theme.modalBg} border-0`, children: [
6938
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(CardHeader, { className: "pb-3", children: [
6939
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6940
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6941
+ "button",
6942
+ {
6943
+ onClick: onBack,
6944
+ className: `p-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6945
+ title: "Back",
6946
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.ArrowLeft, { className: "h-4 w-4" })
6947
+ }
6948
+ ),
6949
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Shield, { className: `h-5 w-5 ${isDark ? "text-green-400" : "text-green-600"}` }),
6950
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CardTitle, { className: `text-base ${theme.titleText}`, children: "Create Backup" })
6963
6951
  ] }),
6964
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardDescription, { className: `text-sm mt-1 ${theme.mutedText}`, children: "Secure your keyshare with encrypted backups" })
6952
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CardDescription, { className: `text-sm mt-1 ${theme.mutedText}`, children: "Secure your keyshare with encrypted backups" })
6965
6953
  ] }),
6966
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CardContent, { className: "space-y-3.5", children: [
6967
- error && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex items-center gap-2 p-2 rounded text-xs ${isDark ? "bg-red-950/50 border border-red-900/60 text-red-300" : "bg-red-50 border border-red-200 text-red-700"}`, children: [
6968
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
6969
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: error })
6954
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(CardContent, { className: "space-y-3.5", children: [
6955
+ error && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 p-2 rounded text-xs ${isDark ? "bg-red-950/50 border border-red-900/60 text-red-300" : "bg-red-50 border border-red-200 text-red-700"}`, children: [
6956
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
6957
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: error })
6970
6958
  ] }),
6971
- success && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex items-center gap-2 p-2 rounded text-xs ${isDark ? "bg-green-950/50 border border-green-900/60 text-green-300" : "bg-green-50 border border-green-200 text-green-700"}`, children: [
6972
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
6973
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: success })
6959
+ success && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 p-2 rounded text-xs ${isDark ? "bg-green-950/50 border border-green-900/60 text-green-300" : "bg-green-50 border border-green-200 text-green-700"}`, children: [
6960
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
6961
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: success })
6974
6962
  ] }),
6975
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-2", children: [
6976
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Encryption Method:" }),
6977
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
6978
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6963
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2", children: [
6964
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Encryption Method:" }),
6965
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6966
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6979
6967
  "input",
6980
6968
  {
6981
6969
  type: "checkbox",
@@ -6985,42 +6973,45 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
6985
6973
  className: "rounded"
6986
6974
  }
6987
6975
  ),
6988
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { htmlFor: "use-backup-password", className: `text-xs ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Use custom password instead of passkey" })
6976
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("label", { htmlFor: "use-backup-password", className: `text-xs ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Use custom password instead of passkey" })
6989
6977
  ] }),
6990
- !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `p-2 rounded text-xs ${isDark ? "bg-blue-500/10 border border-blue-500/30 text-gray-300" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
6991
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Key, { className: "h-3.5 w-3.5 text-blue-500" }),
6992
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: "Passkey will be used to encrypt the backup" })
6978
+ !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `p-2 rounded text-xs ${isDark ? "bg-blue-500/10 border border-blue-500/30 text-gray-300" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6979
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Key, { className: "h-3.5 w-3.5 text-blue-500" }),
6980
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Passkey will be used to encrypt the backup" })
6993
6981
  ] }) }),
6994
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative", children: [
6995
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6982
+ useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative", children: [
6983
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6996
6984
  Input,
6997
6985
  {
6998
6986
  type: showPassword ? "text" : "password",
6999
6987
  placeholder: "Enter backup password",
7000
6988
  value: customPassword,
7001
6989
  onChange: (e) => setCustomPassword(e.target.value),
7002
- className: `pr-10 text-sm ${isDark ? "bg-transparent border-gray-600" : ""}`
6990
+ className: `pr-10 text-sm ${isDark ? "bg-gray-900 border-gray-600 text-white placeholder:text-gray-500" : "bg-white border-gray-300 text-gray-900"}`,
6991
+ style: {
6992
+ WebkitTextFillColor: isDark ? "#ffffff" : "#111827"
6993
+ }
7003
6994
  }
7004
6995
  ),
7005
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6996
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7006
6997
  "button",
7007
6998
  {
7008
6999
  type: "button",
7009
7000
  onClick: () => setShowPassword(!showPassword),
7010
- className: `absolute right-2 top-1/2 transform -translate-y-1/2 ${isDark ? "text-gray-400 hover:text-gray-200" : "text-gray-500 hover:text-gray-700"}`,
7011
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Eye, { className: "h-4 w-4" })
7001
+ className: `absolute right-3 inset-y-0 my-auto h-fit z-10 bg-transparent border-0 p-0 flex items-center justify-center ${isDark ? "text-gray-400 hover:text-gray-200" : "text-gray-500 hover:text-gray-700"}`,
7002
+ children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Eye, { className: "h-4 w-4" })
7012
7003
  }
7013
7004
  )
7014
7005
  ] })
7015
7006
  ] }),
7016
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-2.5", children: [
7017
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Backup Method:" }),
7018
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `p-3 rounded ${isDark ? "bg-blue-500/10" : "bg-blue-50/50"}`, children: [
7019
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7020
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Server, { className: `h-4 w-4 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
7021
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Server Backup" })
7007
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2.5", children: [
7008
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Backup Method:" }),
7009
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `p-3 rounded ${isDark ? "bg-blue-500/10" : "bg-blue-50/50"}`, children: [
7010
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7011
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Server, { className: `h-4 w-4 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
7012
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Server Backup" })
7022
7013
  ] }),
7023
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7014
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7024
7015
  Button,
7025
7016
  {
7026
7017
  onClick: () => handleBackup("server"),
@@ -7030,22 +7021,22 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7030
7021
  }
7031
7022
  )
7032
7023
  ] }),
7033
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
7034
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `p-3 rounded flex flex-col ${isDark ? "bg-sky-500/10" : "bg-sky-50/50"}`, children: [
7035
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7036
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Cloud, { className: `h-4 w-4 ${isDark ? "text-sky-400" : "text-sky-600"}` }),
7037
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Cloud" })
7024
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
7025
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `p-3 rounded flex flex-col ${isDark ? "bg-sky-500/10" : "bg-sky-50/50"}`, children: [
7026
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7027
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Cloud, { className: `h-4 w-4 ${isDark ? "text-sky-400" : "text-sky-600"}` }),
7028
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "Cloud" })
7038
7029
  ] }),
7039
- cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7030
+ cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7040
7031
  "select",
7041
7032
  {
7042
7033
  value: selectedCloudProvider || "",
7043
7034
  onChange: (e) => setSelectedCloudProvider(e.target.value),
7044
7035
  className: `text-xs border rounded px-2 py-1 w-full mb-2 ${isDark ? "bg-gray-800 border-gray-700 text-gray-200" : "bg-white border-gray-300"}`,
7045
- children: cloudProviders.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("option", { value: provider.id, disabled: !provider.available, children: provider.name }, provider.id))
7036
+ children: cloudProviders.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: provider.id, disabled: !provider.available, children: provider.name }, provider.id))
7046
7037
  }
7047
7038
  ),
7048
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7039
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7049
7040
  Button,
7050
7041
  {
7051
7042
  onClick: () => handleBackup("cloud"),
@@ -7056,13 +7047,13 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7056
7047
  }
7057
7048
  )
7058
7049
  ] }),
7059
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `p-3 rounded flex flex-col ${isDark ? "bg-purple-500/10" : "bg-purple-50/50"}`, children: [
7060
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7061
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Download, { className: `h-4 w-4 ${isDark ? "text-purple-400" : "text-purple-600"}` }),
7062
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "File" })
7050
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `p-3 rounded flex flex-col ${isDark ? "bg-purple-500/10" : "bg-purple-50/50"}`, children: [
7051
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7052
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Download, { className: `h-4 w-4 ${isDark ? "text-purple-400" : "text-purple-600"}` }),
7053
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-900"}`, children: "File" })
7063
7054
  ] }),
7064
- cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "h-[32px]" }),
7065
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7055
+ cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-[32px]" }),
7056
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7066
7057
  Button,
7067
7058
  {
7068
7059
  onClick: () => handleBackup("local"),
@@ -7075,10 +7066,10 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7075
7066
  ] })
7076
7067
  ] })
7077
7068
  ] }),
7078
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex items-start gap-2 p-2.5 rounded text-xs ${isDark ? "bg-amber-500/15 border border-amber-500/30 text-gray-300" : "bg-amber-50 border border-amber-200 text-amber-900"}`, children: [
7079
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Lock, { className: "h-3.5 w-3.5 mt-0.5 flex-shrink-0 text-amber-500" }),
7080
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7081
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "font-medium", children: "Security Notice:" }),
7069
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-start gap-2 p-2.5 rounded text-xs ${isDark ? "bg-amber-500/15 border border-amber-500/30 text-gray-300" : "bg-amber-50 border border-amber-200 text-amber-900"}`, children: [
7070
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Lock, { className: "h-3.5 w-3.5 mt-0.5 flex-shrink-0 text-amber-500" }),
7071
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
7072
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-medium", children: "Security Notice:" }),
7082
7073
  " All backups are encrypted with AES-256 using your ",
7083
7074
  useCustomPassword ? "custom password" : "passkey",
7084
7075
  ".",
@@ -7097,7 +7088,7 @@ var import_lucide_react9 = require("lucide-react");
7097
7088
  init_base();
7098
7089
  init_LumiaPassportContext();
7099
7090
  init_useTheme();
7100
- var import_jsx_runtime24 = require("react/jsx-runtime");
7091
+ var import_jsx_runtime23 = require("react/jsx-runtime");
7101
7092
  var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7102
7093
  const { address } = useLumiaSession();
7103
7094
  const [transactions, setTransactions] = import_react13.default.useState([]);
@@ -7147,98 +7138,98 @@ var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7147
7138
  }
7148
7139
  };
7149
7140
  const getStatusIcon = (status) => {
7150
- return status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.CheckCircle2, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.XCircle, { className: "w-4 h-4 text-red-500" });
7141
+ return status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.CheckCircle2, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.XCircle, { className: "w-4 h-4 text-red-500" });
7151
7142
  };
7152
7143
  const getTransactionIcon = (from, to) => {
7153
7144
  const isIncoming = to.toLowerCase() === address?.toLowerCase();
7154
- return isIncoming ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.ArrowDownRight, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.ArrowUpRight, { className: "w-4 h-4 text-blue-500" });
7145
+ return isIncoming ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.ArrowDownRight, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.ArrowUpRight, { className: "w-4 h-4 text-blue-500" });
7155
7146
  };
7156
7147
  const openInExplorer = (txHash) => {
7157
7148
  const explorerUrl = getExplorerUrl();
7158
7149
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
7159
7150
  };
7160
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7161
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTitle, { children: "Transaction History" }) }),
7162
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogDescription, { className: "sr-only", children: "View your transaction history" }),
7163
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7164
- onBack && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7151
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7152
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogTitle, { children: "Transaction History" }) }),
7153
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogDescription, { className: "sr-only", children: "View your transaction history" }),
7154
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
7155
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7165
7156
  "button",
7166
7157
  {
7167
7158
  onClick: onBack,
7168
7159
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
7169
7160
  title: "Back",
7170
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.ArrowLeft, { className: "h-4 w-4" })
7161
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.ArrowLeft, { className: "h-4 w-4" })
7171
7162
  }
7172
7163
  ),
7173
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7174
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.Activity, { className: "h-5 w-5" }),
7175
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { children: "Transaction History" }),
7176
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7164
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7165
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Activity, { className: "h-5 w-5" }),
7166
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: "Transaction History" }),
7167
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7177
7168
  "button",
7178
7169
  {
7179
7170
  onClick: loadTransactions,
7180
7171
  disabled: loading,
7181
7172
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1`,
7182
7173
  title: "Refresh transactions",
7183
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.RefreshCw, { className: `h-4 w-4 ${loading ? "animate-spin" : ""}` })
7174
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.RefreshCw, { className: `h-4 w-4 ${loading ? "animate-spin" : ""}` })
7184
7175
  }
7185
7176
  )
7186
7177
  ] })
7187
7178
  ] }) }),
7188
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${theme.mutedText}`, children: "Loading transactions..." }) }) : error ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${isDark ? "text-red-400" : "text-red-500"}`, children: [
7189
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.XCircle, { className: "w-12 h-12 mb-2" }),
7190
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-center text-sm", children: error })
7191
- ] }) : transactions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7192
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.Activity, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7193
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("p", { className: "text-center", children: [
7179
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `${theme.mutedText}`, children: "Loading transactions..." }) }) : error ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${isDark ? "text-red-400" : "text-red-500"}`, children: [
7180
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.XCircle, { className: "w-12 h-12 mb-2" }),
7181
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-center text-sm", children: error })
7182
+ ] }) : transactions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7183
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Activity, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7184
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "text-center", children: [
7194
7185
  "No transactions found",
7195
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("br", {}),
7196
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
7186
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("br", {}),
7187
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
7197
7188
  ] })
7198
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "space-y-3", children: transactions.map((tx) => {
7189
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "space-y-3", children: transactions.map((tx) => {
7199
7190
  const isIncoming = tx.to.hash.toLowerCase() === address?.toLowerCase();
7200
7191
  const displayAddress = isIncoming ? tx.from.hash : tx.to.hash;
7201
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
7192
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
7202
7193
  "div",
7203
7194
  {
7204
7195
  className: `${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-4 transition-colors cursor-pointer`,
7205
7196
  onClick: () => openInExplorer(tx.hash),
7206
7197
  children: [
7207
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7208
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7198
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7199
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
7209
7200
  getTransactionIcon(tx.from.hash, tx.to.hash),
7210
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `font-medium ${theme.titleText}`, children: isIncoming ? "Received" : "Sent" }),
7201
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `font-medium ${theme.titleText}`, children: isIncoming ? "Received" : "Sent" }),
7211
7202
  getStatusIcon(tx.status)
7212
7203
  ] }),
7213
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: formatTime(tx.timestamp) })
7204
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: formatTime(tx.timestamp) })
7214
7205
  ] }),
7215
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "space-y-1 text-sm", children: [
7216
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7217
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: isIncoming ? "From:" : "To:" }),
7218
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7206
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-1 text-sm", children: [
7207
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7208
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: isIncoming ? "From:" : "To:" }),
7209
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7219
7210
  formatAddress(displayAddress),
7220
- (isIncoming ? tx.from.is_contract : tx.to.is_contract) && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} ml-1`, children: "(Contract)" })
7211
+ (isIncoming ? tx.from.is_contract : tx.to.is_contract) && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} ml-1`, children: "(Contract)" })
7221
7212
  ] })
7222
7213
  ] }),
7223
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7224
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Value:" }),
7225
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
7214
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7215
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: "Value:" }),
7216
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
7226
7217
  formatValue(tx.value),
7227
7218
  " LUMIA"
7228
7219
  ] })
7229
7220
  ] }),
7230
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7231
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Block:" }),
7232
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7221
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7222
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: "Block:" }),
7223
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7233
7224
  "#",
7234
7225
  tx.block_number
7235
7226
  ] })
7236
7227
  ] }),
7237
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7238
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Method:" }),
7239
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${isDark ? "text-blue-400" : "text-blue-600"} text-xs`, children: tx.method })
7228
+ tx.method && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7229
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: "Method:" }),
7230
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${isDark ? "text-blue-400" : "text-blue-600"} text-xs`, children: tx.method })
7240
7231
  ] }),
7241
- tx.transaction_types && tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7232
+ tx.transaction_types && tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7242
7233
  "span",
7243
7234
  {
7244
7235
  className: `text-xs ${isDark ? "bg-blue-900/30 text-blue-300" : "bg-blue-100 text-blue-800"} px-2 py-0.5 rounded-full`,
@@ -7252,7 +7243,7 @@ var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7252
7243
  tx.hash
7253
7244
  );
7254
7245
  }) }) }),
7255
- transactions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7246
+ transactions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7256
7247
  "Total: ",
7257
7248
  transactions.length,
7258
7249
  " transaction",
@@ -7431,7 +7422,7 @@ var import_lucide_react10 = require("lucide-react");
7431
7422
  init_base();
7432
7423
  init_LumiaPassportContext();
7433
7424
  init_useTheme();
7434
- var import_jsx_runtime25 = require("react/jsx-runtime");
7425
+ var import_jsx_runtime24 = require("react/jsx-runtime");
7435
7426
  var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7436
7427
  const { address } = useLumiaSession();
7437
7428
  const { assets, refreshBalances, isLoading } = useAssets(address);
@@ -7450,107 +7441,107 @@ var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7450
7441
  const openInExplorer = (address2) => {
7451
7442
  window.open(`${LUMIA_EXPLORER_URL}/address/${address2}`, "_blank");
7452
7443
  };
7453
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7454
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DialogTitle, { children: "View Assets" }) }),
7455
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DialogDescription, { className: "sr-only", children: "View your token balances and assets" }),
7456
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7457
- onBack && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7444
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7445
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTitle, { children: "View Assets" }) }),
7446
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogDescription, { className: "sr-only", children: "View your token balances and assets" }),
7447
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7448
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7458
7449
  "button",
7459
7450
  {
7460
7451
  onClick: onBack,
7461
7452
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
7462
7453
  title: "Back",
7463
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.ArrowLeft, { className: "h-4 w-4" })
7454
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ArrowLeft, { className: "h-4 w-4" })
7464
7455
  }
7465
7456
  ),
7466
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7467
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.Gem, { className: "h-5 w-5" }),
7468
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: "Your Assets" }),
7469
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7457
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7458
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Gem, { className: "h-5 w-5" }),
7459
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { children: "Your Assets" }),
7460
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7470
7461
  "button",
7471
7462
  {
7472
7463
  onClick: refreshBalances,
7473
7464
  disabled: isLoading,
7474
7465
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1`,
7475
7466
  title: "Refresh balances",
7476
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.RefreshCw, { className: `h-4 w-4 ${isLoading ? "animate-spin" : ""}` })
7467
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.RefreshCw, { className: `h-4 w-4 ${isLoading ? "animate-spin" : ""}` })
7477
7468
  }
7478
7469
  )
7479
7470
  ] })
7480
7471
  ] }) }),
7481
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${theme.mutedText}`, children: "Loading assets..." }) }) : assets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7482
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.Gem, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7483
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { children: "No assets found" })
7484
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "space-y-3", children: assets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-4 transition-colors`, children: [
7485
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7486
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-3", children: [
7487
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
7488
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
7489
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `font-medium ${theme.titleText}`, children: asset.name }),
7490
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7472
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${theme.mutedText}`, children: "Loading assets..." }) }) : assets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7473
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Gem, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7474
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { children: "No assets found" })
7475
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "space-y-3", children: assets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-4 transition-colors`, children: [
7476
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7477
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-3", children: [
7478
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
7479
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { children: [
7480
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `font-medium ${theme.titleText}`, children: asset.name }),
7481
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7491
7482
  ] })
7492
7483
  ] }),
7493
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "text-right", children: [
7494
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `font-mono ${theme.titleText}`, children: asset.formattedBalance }),
7495
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7484
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "text-right", children: [
7485
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `font-mono ${theme.titleText}`, children: asset.formattedBalance }),
7486
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7496
7487
  ] })
7497
7488
  ] }),
7498
- asset.address && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `space-y-2 mt-3 pt-3 border-t ${theme.divider}`, children: [
7499
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7500
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Contract Address:" }),
7501
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7502
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
7503
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7489
+ asset.address && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `space-y-2 mt-3 pt-3 border-t ${theme.divider}`, children: [
7490
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7491
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Contract Address:" }),
7492
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7493
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
7494
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7504
7495
  "button",
7505
7496
  {
7506
7497
  onClick: () => handleCopy(asset.address, "address"),
7507
7498
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7508
7499
  title: "Copy address",
7509
- children: copied === "address" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.Copy, { className: "w-3 h-3" })
7500
+ children: copied === "address" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Copy, { className: "w-3 h-3" })
7510
7501
  }
7511
7502
  ),
7512
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7503
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7513
7504
  "button",
7514
7505
  {
7515
7506
  onClick: () => openInExplorer(asset.address),
7516
7507
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7517
7508
  title: "View in explorer",
7518
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.ExternalLink, { className: "w-3 h-3" })
7509
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ExternalLink, { className: "w-3 h-3" })
7519
7510
  }
7520
7511
  )
7521
7512
  ] })
7522
7513
  ] }),
7523
- asset.decimals && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7524
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Decimals:" }),
7525
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.titleText}`, children: asset.decimals })
7514
+ asset.decimals && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7515
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Decimals:" }),
7516
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.titleText}`, children: asset.decimals })
7526
7517
  ] })
7527
7518
  ] }),
7528
- asset.type === "native" && address && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "mt-3 pt-3 border-t border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7529
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Your Address:" }),
7530
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7531
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
7532
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7519
+ asset.type === "native" && address && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mt-3 pt-3 border-t border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7520
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Your Address:" }),
7521
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7522
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
7523
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7533
7524
  "button",
7534
7525
  {
7535
7526
  onClick: () => handleCopy(address, "wallet"),
7536
7527
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7537
7528
  title: "Copy wallet address",
7538
- children: copied === "wallet" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.Copy, { className: "w-3 h-3" })
7529
+ children: copied === "wallet" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Copy, { className: "w-3 h-3" })
7539
7530
  }
7540
7531
  ),
7541
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7532
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7542
7533
  "button",
7543
7534
  {
7544
7535
  onClick: () => openInExplorer(address),
7545
7536
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7546
7537
  title: "View in explorer",
7547
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.ExternalLink, { className: "w-3 h-3" })
7538
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ExternalLink, { className: "w-3 h-3" })
7548
7539
  }
7549
7540
  )
7550
7541
  ] })
7551
7542
  ] }) })
7552
7543
  ] }, `${asset.type}-${asset.address || "native"}-${index}`)) }) }),
7553
- assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7544
+ assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7554
7545
  "Total: ",
7555
7546
  assets.length,
7556
7547
  " asset",
@@ -7645,7 +7636,7 @@ function cn2(...inputs) {
7645
7636
  }
7646
7637
 
7647
7638
  // src/internal/components/ui/badge.tsx
7648
- var import_jsx_runtime26 = require("react/jsx-runtime");
7639
+ var import_jsx_runtime25 = require("react/jsx-runtime");
7649
7640
  var badgeVariants = (0, import_class_variance_authority2.cva)(
7650
7641
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
7651
7642
  {
@@ -7665,14 +7656,14 @@ var badgeVariants = (0, import_class_variance_authority2.cva)(
7665
7656
  }
7666
7657
  );
7667
7658
  function Badge({ className, variant, ...props }) {
7668
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
7659
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
7669
7660
  }
7670
7661
 
7671
7662
  // src/internal/components/Address.tsx
7672
7663
  var React22 = __toESM(require("react"), 1);
7673
7664
  var import_lucide_react11 = require("lucide-react");
7674
7665
  init_button();
7675
- var import_jsx_runtime27 = require("react/jsx-runtime");
7666
+ var import_jsx_runtime26 = require("react/jsx-runtime");
7676
7667
  function toExplorerAddressUrl(address, chain) {
7677
7668
  const base2 = chain?.blockExplorers?.default?.url;
7678
7669
  if (!base2) return null;
@@ -7694,11 +7685,11 @@ var Address = ({
7694
7685
  const addr = address || "";
7695
7686
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
7696
7687
  const [copied, setCopied] = React22.useState(false);
7697
- if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
7698
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
7699
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium", children: label }),
7700
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
7701
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7688
+ if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
7689
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
7690
+ label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-sm font-medium", children: label }),
7691
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
7692
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
7702
7693
  Button,
7703
7694
  {
7704
7695
  variant: "ghost",
@@ -7712,10 +7703,10 @@ var Address = ({
7712
7703
  } catch {
7713
7704
  }
7714
7705
  },
7715
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.Copy, { className: "h-4 w-4" })
7706
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.Copy, { className: "h-4 w-4" })
7716
7707
  }
7717
7708
  ),
7718
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7709
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
7719
7710
  "a",
7720
7711
  {
7721
7712
  href: explorer,
@@ -7723,7 +7714,7 @@ var Address = ({
7723
7714
  rel: "noreferrer noopener",
7724
7715
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
7725
7716
  title: "Open in explorer",
7726
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react11.ExternalLink, { className: "h-4 w-4" })
7717
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.ExternalLink, { className: "h-4 w-4" })
7727
7718
  }
7728
7719
  )
7729
7720
  ] });
@@ -7731,7 +7722,7 @@ var Address = ({
7731
7722
 
7732
7723
  // src/internal/components/UserOpStatus.tsx
7733
7724
  init_base();
7734
- var import_jsx_runtime28 = require("react/jsx-runtime");
7725
+ var import_jsx_runtime27 = require("react/jsx-runtime");
7735
7726
  var UserOpStatus = ({
7736
7727
  userOpHash,
7737
7728
  chain,
@@ -7864,54 +7855,54 @@ var UserOpStatus = ({
7864
7855
  const stateBadge = () => {
7865
7856
  if (receipt) {
7866
7857
  const ok = !!receipt.success;
7867
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
7868
- ok ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7858
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
7859
+ ok ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7869
7860
  ok ? "Included" : "Failed"
7870
7861
  ] });
7871
7862
  }
7872
7863
  if (rejected) {
7873
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
7874
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7864
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
7865
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7875
7866
  " Rejected by bundler"
7876
7867
  ] });
7877
7868
  }
7878
7869
  if (timedOut) {
7879
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
7880
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7870
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
7871
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7881
7872
  " Timeout - may be rejected"
7882
7873
  ] });
7883
7874
  }
7884
7875
  if (mempool) {
7885
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
7886
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Clock, { className: "h-3 w-3" }),
7876
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
7877
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Clock, { className: "h-3 w-3" }),
7887
7878
  " Pending in bundler"
7888
7879
  ] });
7889
7880
  }
7890
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
7891
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Clock, { className: "h-3 w-3" }),
7881
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
7882
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Clock, { className: "h-3 w-3" }),
7892
7883
  " Waiting"
7893
7884
  ] });
7894
7885
  };
7895
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
7886
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
7896
7887
  "div",
7897
7888
  {
7898
7889
  className: cn2("lumia-scope bg-card text-card-foreground p-0 rounded-xl border border-border w-full max-w-[680px]", className),
7899
7890
  style: { textAlign: "left", listStyle: "none" },
7900
7891
  children: [
7901
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
7902
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2", children: [
7892
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
7893
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2", children: [
7903
7894
  stateBadge(),
7904
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
7895
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
7905
7896
  ] }),
7906
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
7907
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
7908
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-xs", children: "Refresh" })
7897
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
7898
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
7899
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-xs", children: "Refresh" })
7909
7900
  ] })
7910
7901
  ] }),
7911
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7912
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
7913
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
7914
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7902
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7903
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
7904
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
7905
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7915
7906
  Button,
7916
7907
  {
7917
7908
  variant: "ghost",
@@ -7923,14 +7914,14 @@ var UserOpStatus = ({
7923
7914
  } catch {
7924
7915
  }
7925
7916
  },
7926
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Copy, { className: "h-3.5 w-3.5" })
7917
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Copy, { className: "h-3.5 w-3.5" })
7927
7918
  }
7928
7919
  )
7929
7920
  ] }),
7930
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
7931
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
7932
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
7933
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7921
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
7922
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
7923
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
7924
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7934
7925
  Button,
7935
7926
  {
7936
7927
  variant: "ghost",
@@ -7942,10 +7933,10 @@ var UserOpStatus = ({
7942
7933
  } catch {
7943
7934
  }
7944
7935
  },
7945
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.Copy, { className: "h-3.5 w-3.5" })
7936
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Copy, { className: "h-3.5 w-3.5" })
7946
7937
  }
7947
7938
  ),
7948
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7939
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7949
7940
  "a",
7950
7941
  {
7951
7942
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -7953,11 +7944,11 @@ var UserOpStatus = ({
7953
7944
  rel: "noreferrer noopener",
7954
7945
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
7955
7946
  title: "Open in explorer",
7956
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.ExternalLink, { className: "h-3.5 w-3.5" })
7947
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ExternalLink, { className: "h-3.5 w-3.5" })
7957
7948
  }
7958
7949
  )
7959
7950
  ] }),
7960
- receipt && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
7951
+ receipt && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
7961
7952
  "Block ",
7962
7953
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
7963
7954
  " \u2022 Gas Used",
@@ -7966,32 +7957,32 @@ var UserOpStatus = ({
7966
7957
  " \u2022 Success ",
7967
7958
  String(!!receipt.success)
7968
7959
  ] }),
7969
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: "ml-2", children: [
7960
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { className: "ml-2", children: [
7970
7961
  "\u2022 Polling for ",
7971
7962
  Math.round((Date.now() - startTimeRef.current) / 1e3),
7972
7963
  "s"
7973
7964
  ] }) }),
7974
- mempool && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
7975
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7965
+ mempool && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
7966
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
7976
7967
  "Seen by bundler at ",
7977
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
7968
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
7978
7969
  ] }),
7979
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7970
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
7980
7971
  "sender ",
7981
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Address, { address: mempool.sender, chain, truncate: false })
7972
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Address, { address: mempool.sender, chain, truncate: false })
7982
7973
  ] })
7983
7974
  ] }),
7984
- error && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7985
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
7975
+ error && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7976
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
7986
7977
  " ",
7987
7978
  error
7988
7979
  ] }),
7989
- rejected && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7990
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
7980
+ rejected && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7981
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
7991
7982
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
7992
7983
  ] }),
7993
- timedOut && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7994
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
7984
+ timedOut && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7985
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
7995
7986
  "Stopped polling after ",
7996
7987
  Math.round(maxPollTimeMs / 1e3),
7997
7988
  "s. UserOperation may have been rejected by the bundler."
@@ -8005,7 +7996,7 @@ var UserOpStatus = ({
8005
7996
  init_base();
8006
7997
  init_LumiaPassportContext();
8007
7998
  init_useTheme();
8008
- var import_jsx_runtime29 = require("react/jsx-runtime");
7999
+ var import_jsx_runtime28 = require("react/jsx-runtime");
8009
8000
  var SendModal = ({
8010
8001
  open,
8011
8002
  onOpenChange,
@@ -8088,7 +8079,7 @@ var SendModal = ({
8088
8079
  const maxAmount = Math.max(0, balance - 1e-3);
8089
8080
  setAmount(maxAmount.toFixed(6));
8090
8081
  };
8091
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
8082
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8092
8083
  DialogContent,
8093
8084
  {
8094
8085
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8100,28 +8091,28 @@ var SendModal = ({
8100
8091
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8101
8092
  },
8102
8093
  children: [
8103
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogTitle, { children: "Send Transaction" }) }),
8104
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogDescription, { className: "sr-only", children: "Send LUMIA tokens to another address" }),
8105
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex items-center gap-2", children: [
8106
- onBack && txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8094
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DialogTitle, { children: "Send Transaction" }) }),
8095
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DialogDescription, { className: "sr-only", children: "Send LUMIA tokens to another address" }),
8096
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2", children: [
8097
+ onBack && txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8107
8098
  "button",
8108
8099
  {
8109
8100
  onClick: onBack,
8110
8101
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8111
8102
  title: "Back",
8112
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.ArrowLeft, { className: "h-4 w-4" })
8103
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.ArrowLeft, { className: "h-4 w-4" })
8113
8104
  }
8114
8105
  ),
8115
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8116
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.Send, { className: "h-5 w-5" }),
8117
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Send LUMIA" })
8106
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8107
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Send, { className: "h-5 w-5" }),
8108
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { children: "Send LUMIA" })
8118
8109
  ] })
8119
8110
  ] }) }),
8120
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "p-5", children: [
8121
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8122
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8123
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Recipient Address" }),
8124
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8111
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "p-5", children: [
8112
+ txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-4", children: [
8113
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
8114
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Recipient Address" }),
8115
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8125
8116
  "input",
8126
8117
  {
8127
8118
  type: "text",
@@ -8132,17 +8123,17 @@ var SendModal = ({
8132
8123
  }
8133
8124
  )
8134
8125
  ] }),
8135
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8136
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
8137
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `text-sm font-medium ${theme.bodyText}`, children: "Amount" }),
8138
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
8126
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
8127
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
8128
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { className: `text-sm font-medium ${theme.bodyText}`, children: "Amount" }),
8129
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
8139
8130
  "Balance: ",
8140
8131
  balance.toFixed(4),
8141
8132
  " LUMIA"
8142
8133
  ] })
8143
8134
  ] }),
8144
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "relative", children: [
8145
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8135
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "relative", children: [
8136
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8146
8137
  "input",
8147
8138
  {
8148
8139
  type: "number",
@@ -8153,7 +8144,7 @@ var SendModal = ({
8153
8144
  className: `w-full px-3 py-2 pr-16 border ${isDark ? "bg-gray-800 border-gray-600 text-white placeholder:text-gray-400" : "bg-white border-gray-300 text-gray-900 placeholder:text-gray-400"} rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500`
8154
8145
  }
8155
8146
  ),
8156
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8147
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8157
8148
  "button",
8158
8149
  {
8159
8150
  onClick: handleMaxAmount,
@@ -8163,11 +8154,11 @@ var SendModal = ({
8163
8154
  )
8164
8155
  ] })
8165
8156
  ] }),
8166
- (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 p-3 ${isDark ? "bg-red-900/30 text-red-400" : "bg-red-50 text-red-700"} rounded-lg`, children: [
8167
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
8168
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-sm", children: validationError || error })
8157
+ (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `flex items-center gap-2 p-3 ${isDark ? "bg-red-900/30 text-red-400" : "bg-red-50 text-red-700"} rounded-lg`, children: [
8158
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
8159
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm", children: validationError || error })
8169
8160
  ] }),
8170
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8161
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8171
8162
  Button,
8172
8163
  {
8173
8164
  onClick: handleSend,
@@ -8178,29 +8169,29 @@ var SendModal = ({
8178
8169
  }
8179
8170
  )
8180
8171
  ] }),
8181
- txStep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8182
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8183
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h3", { className: `font-medium ${theme.titleText} mb-3`, children: "Transaction Details" }),
8184
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-2 text-sm", children: [
8185
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8186
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "To:" }),
8187
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `font-mono ${theme.titleText}`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
8172
+ txStep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-4", children: [
8173
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8174
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h3", { className: `font-medium ${theme.titleText} mb-3`, children: "Transaction Details" }),
8175
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-2 text-sm", children: [
8176
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between", children: [
8177
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.bodyText}`, children: "To:" }),
8178
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `font-mono ${theme.titleText}`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
8188
8179
  ] }),
8189
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8190
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "Amount:" }),
8191
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
8180
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between", children: [
8181
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.bodyText}`, children: "Amount:" }),
8182
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
8192
8183
  amount,
8193
8184
  " LUMIA"
8194
8185
  ] })
8195
8186
  ] }),
8196
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8197
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "Network:" }),
8198
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.titleText}`, children: "Lumia Beam" })
8187
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between", children: [
8188
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.bodyText}`, children: "Network:" }),
8189
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.titleText}`, children: "Lumia Beam" })
8199
8190
  ] })
8200
8191
  ] })
8201
8192
  ] }),
8202
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex gap-2", children: [
8203
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8193
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex gap-2", children: [
8194
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8204
8195
  Button,
8205
8196
  {
8206
8197
  onClick: () => setTxStep("input"),
@@ -8210,7 +8201,7 @@ var SendModal = ({
8210
8201
  children: "Back"
8211
8202
  }
8212
8203
  ),
8213
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
8204
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8214
8205
  Button,
8215
8206
  {
8216
8207
  onClick: handleConfirm,
@@ -8218,28 +8209,28 @@ var SendModal = ({
8218
8209
  className: "flex-1",
8219
8210
  size: "lg",
8220
8211
  children: [
8221
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.Loader2, { className: "h-4 w-4 animate-spin" }),
8212
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Loader2, { className: "h-4 w-4 animate-spin" }),
8222
8213
  "Confirm"
8223
8214
  ]
8224
8215
  }
8225
8216
  )
8226
8217
  ] })
8227
8218
  ] }),
8228
- txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
8229
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.Loader2, { className: `h-12 w-12 animate-spin ${isDark ? "text-blue-400" : "text-blue-600"} mx-auto` }),
8230
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8231
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Pending" }),
8232
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Please wait while we process your transaction" })
8219
+ txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
8220
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Loader2, { className: `h-12 w-12 animate-spin ${isDark ? "text-blue-400" : "text-blue-600"} mx-auto` }),
8221
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
8222
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Pending" }),
8223
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Please wait while we process your transaction" })
8233
8224
  ] })
8234
8225
  ] }),
8235
- txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8236
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "text-center py-4", children: [
8237
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.CheckCircle2, { className: `h-12 w-12 ${isDark ? "text-green-400" : "text-green-500"} mx-auto mb-3` }),
8238
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Sent!" }),
8239
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Your transaction is being processed" })
8226
+ txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-4", children: [
8227
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-center py-4", children: [
8228
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.CheckCircle2, { className: `h-12 w-12 ${isDark ? "text-green-400" : "text-green-500"} mx-auto mb-3` }),
8229
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Sent!" }),
8230
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Your transaction is being processed" })
8240
8231
  ] }),
8241
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(UserOpStatus, { userOpHash, chain: lumiaBeam }) }),
8242
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8232
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(UserOpStatus, { userOpHash, chain: lumiaBeam }) }),
8233
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8243
8234
  Button,
8244
8235
  {
8245
8236
  onClick: handleClose,
@@ -8263,7 +8254,7 @@ var import_lucide_react14 = require("lucide-react");
8263
8254
  var import_qrcode = __toESM(require("qrcode"), 1);
8264
8255
  init_LumiaPassportContext();
8265
8256
  init_useTheme();
8266
- var import_jsx_runtime30 = require("react/jsx-runtime");
8257
+ var import_jsx_runtime29 = require("react/jsx-runtime");
8267
8258
  var ReceiveModal = ({
8268
8259
  open,
8269
8260
  onOpenChange,
@@ -8304,7 +8295,7 @@ var ReceiveModal = ({
8304
8295
  if (!addr) return "";
8305
8296
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
8306
8297
  };
8307
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
8298
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
8308
8299
  DialogContent,
8309
8300
  {
8310
8301
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8316,51 +8307,51 @@ var ReceiveModal = ({
8316
8307
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8317
8308
  },
8318
8309
  children: [
8319
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogTitle, { children: "Receive LUMIA" }) }),
8320
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogDescription, { className: "sr-only", children: "Your wallet address and QR code for receiving LUMIA" }),
8321
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2", children: [
8322
- onBack && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
8310
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogTitle, { children: "Receive LUMIA" }) }),
8311
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogDescription, { className: "sr-only", children: "Your wallet address and QR code for receiving LUMIA" }),
8312
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex items-center gap-2", children: [
8313
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8323
8314
  "button",
8324
8315
  {
8325
8316
  onClick: onBack,
8326
8317
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8327
8318
  title: "Back",
8328
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.ArrowLeft, { className: "h-4 w-4" })
8319
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.ArrowLeft, { className: "h-4 w-4" })
8329
8320
  }
8330
8321
  ),
8331
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8332
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.QrCode, { className: "h-5 w-5" }),
8333
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Receive LUMIA" })
8322
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8323
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.QrCode, { className: "h-5 w-5" }),
8324
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Receive LUMIA" })
8334
8325
  ] })
8335
8326
  ] }) }),
8336
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "p-5 space-y-4", children: [
8337
- qrCodeUrl && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isDark ? "bg-white" : "bg-white"} p-4 rounded-xl border ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }) }),
8338
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isDark ? "bg-blue-900/30 border-blue-600" : "bg-blue-50 border-blue-200"} rounded-lg p-3`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `flex items-center gap-2 ${isDark ? "text-blue-300" : "text-blue-700"} text-sm`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex-1", children: [
8339
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "font-medium", children: "Network: Lumia Beam" }),
8340
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} mt-0.5`, children: "Ensure sender is on the same network" })
8327
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "p-5 space-y-4", children: [
8328
+ qrCodeUrl && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `${isDark ? "bg-white" : "bg-white"} p-4 rounded-xl border ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }) }),
8329
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `${isDark ? "bg-blue-900/30 border-blue-600" : "bg-blue-50 border-blue-200"} rounded-lg p-3`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `flex items-center gap-2 ${isDark ? "text-blue-300" : "text-blue-700"} text-sm`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex-1", children: [
8330
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "font-medium", children: "Network: Lumia Beam" }),
8331
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} mt-0.5`, children: "Ensure sender is on the same network" })
8341
8332
  ] }) }) }),
8342
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8343
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Your Wallet Address" }),
8344
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `flex-1 font-mono text-sm ${isDark ? "text-white bg-gray-700 border-gray-600" : "text-gray-900 bg-white border-gray-300"} rounded-lg px-3 py-2 break-all`, children: address }) }),
8345
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
8333
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8334
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Your Wallet Address" }),
8335
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `flex-1 font-mono text-sm ${isDark ? "text-white bg-gray-700 border-gray-600" : "text-gray-900 bg-white border-gray-300"} rounded-lg px-3 py-2 break-all`, children: address }) }),
8336
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8346
8337
  Button,
8347
8338
  {
8348
8339
  onClick: handleCopy,
8349
8340
  className: "w-full mt-3",
8350
8341
  size: "lg",
8351
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
8352
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.CheckCircle2, { className: "h-4 w-4" }),
8353
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Copied!" })
8354
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
8355
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.Copy, { className: "h-4 w-4" }),
8356
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Copy Address" })
8342
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
8343
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.CheckCircle2, { className: "h-4 w-4" }),
8344
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Copied!" })
8345
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
8346
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.Copy, { className: "h-4 w-4" }),
8347
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Copy Address" })
8357
8348
  ] })
8358
8349
  }
8359
8350
  )
8360
8351
  ] }),
8361
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
8362
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { children: "Share this address to receive LUMIA tokens." }),
8363
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "mt-1", children: "Only send LUMIA tokens to this address on Lumia Beam network." })
8352
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
8353
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { children: "Share this address to receive LUMIA tokens." }),
8354
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "mt-1", children: "Only send LUMIA tokens to this address on Lumia Beam network." })
8364
8355
  ] })
8365
8356
  ] })
8366
8357
  ]
@@ -8374,11 +8365,11 @@ init_button();
8374
8365
  var import_lucide_react15 = require("lucide-react");
8375
8366
  init_LumiaPassportContext();
8376
8367
  init_useTheme();
8377
- var import_jsx_runtime31 = require("react/jsx-runtime");
8368
+ var import_jsx_runtime30 = require("react/jsx-runtime");
8378
8369
  var BuyModal = ({ open, onOpenChange, onBack }) => {
8379
8370
  const { config } = useLumiaPassportConfig();
8380
8371
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8381
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
8372
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
8382
8373
  DialogContent,
8383
8374
  {
8384
8375
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8390,26 +8381,26 @@ var BuyModal = ({ open, onOpenChange, onBack }) => {
8390
8381
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8391
8382
  },
8392
8383
  children: [
8393
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogTitle, { children: "Buy Crypto" }) }),
8394
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogDescription, { className: "sr-only", children: "On-ramp placeholder" }),
8395
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-2", children: [
8396
- onBack && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8384
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogTitle, { children: "Buy Crypto" }) }),
8385
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogDescription, { className: "sr-only", children: "On-ramp placeholder" }),
8386
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2", children: [
8387
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
8397
8388
  "button",
8398
8389
  {
8399
8390
  onClick: onBack,
8400
8391
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8401
8392
  title: "Back",
8402
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react15.ArrowLeft, { className: "h-4 w-4" })
8393
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.ArrowLeft, { className: "h-4 w-4" })
8403
8394
  }
8404
8395
  ),
8405
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8406
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react15.CreditCard, { className: "h-5 w-5" }),
8407
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: "Buy" })
8396
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8397
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.CreditCard, { className: "h-5 w-5" }),
8398
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Buy" })
8408
8399
  ] })
8409
8400
  ] }) }),
8410
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "p-5", children: [
8411
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "On-ramp coming soon\u2026" }) }),
8412
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8401
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "p-5", children: [
8402
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "On-ramp coming soon\u2026" }) }),
8403
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8413
8404
  ] })
8414
8405
  ]
8415
8406
  }
@@ -8422,13 +8413,13 @@ init_button();
8422
8413
  var import_lucide_react16 = require("lucide-react");
8423
8414
  init_LumiaPassportContext();
8424
8415
  init_useTheme();
8425
- var import_jsx_runtime32 = require("react/jsx-runtime");
8416
+ var import_jsx_runtime31 = require("react/jsx-runtime");
8426
8417
  var KycModal = ({ open, onOpenChange, onBack }) => {
8427
8418
  const { config } = useLumiaPassportConfig();
8428
8419
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8429
8420
  const provider = config.kyc?.provider;
8430
8421
  const options = config.kyc?.options || {};
8431
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
8422
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
8432
8423
  DialogContent,
8433
8424
  {
8434
8425
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8440,32 +8431,32 @@ var KycModal = ({ open, onOpenChange, onBack }) => {
8440
8431
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8441
8432
  },
8442
8433
  children: [
8443
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "KYC" }) }),
8444
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { className: "sr-only", children: "KYC placeholder" }),
8445
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center gap-2", children: [
8446
- onBack && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8434
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogTitle, { children: "KYC" }) }),
8435
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogDescription, { className: "sr-only", children: "KYC placeholder" }),
8436
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-2", children: [
8437
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8447
8438
  "button",
8448
8439
  {
8449
8440
  onClick: onBack,
8450
8441
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8451
8442
  title: "Back",
8452
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react16.ArrowLeft, { className: "h-4 w-4" })
8443
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react16.ArrowLeft, { className: "h-4 w-4" })
8453
8444
  }
8454
8445
  ),
8455
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8456
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react16.ShieldCheck, { className: "h-5 w-5" }),
8457
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: "KYC" })
8446
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8447
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react16.ShieldCheck, { className: "h-5 w-5" }),
8448
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: "KYC" })
8458
8449
  ] })
8459
8450
  ] }) }),
8460
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "p-5", children: [
8461
- provider ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `rounded-xl p-4 ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: [
8462
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-sm ${theme.titleText} mb-2`, children: [
8451
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "p-5", children: [
8452
+ provider ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `rounded-xl p-4 ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: [
8453
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `text-sm ${theme.titleText} mb-2`, children: [
8463
8454
  "KYC provider: ",
8464
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "font-medium", children: provider })
8455
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "font-medium", children: provider })
8465
8456
  ] }),
8466
- Object.keys(options).length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-xs ${theme.mutedText} break-words whitespace-pre-wrap`, children: JSON.stringify(options, null, 2) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "No provider options configured." })
8467
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "KYC verification coming soon\u2026" }) }),
8468
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8457
+ Object.keys(options).length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-xs ${theme.mutedText} break-words whitespace-pre-wrap`, children: JSON.stringify(options, null, 2) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "No provider options configured." })
8458
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "KYC verification coming soon\u2026" }) }),
8459
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8469
8460
  ] })
8470
8461
  ]
8471
8462
  }
@@ -8525,7 +8516,7 @@ function useLumiaPassportLinkedProfiles() {
8525
8516
  // package.json
8526
8517
  var package_default = {
8527
8518
  name: "@lumiapassport/ui-kit",
8528
- version: "1.4.17",
8519
+ version: "1.5.1",
8529
8520
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
8530
8521
  type: "module",
8531
8522
  main: "./dist/index.cjs",
@@ -8615,7 +8606,7 @@ var package_default = {
8615
8606
  };
8616
8607
 
8617
8608
  // src/components/ConnectWalletButton.tsx
8618
- var import_jsx_runtime33 = require("react/jsx-runtime");
8609
+ var import_jsx_runtime32 = require("react/jsx-runtime");
8619
8610
  var ConnectWalletButton = ({
8620
8611
  className,
8621
8612
  label = "Connect Wallet",
@@ -8667,6 +8658,9 @@ var ConnectWalletButton = ({
8667
8658
  const [isKycOpen, setIsKycOpen] = import_react19.default.useState(false);
8668
8659
  import_react19.default.useEffect(() => {
8669
8660
  if (!callbacks?.onWalletReady) return;
8661
+ if (!config.projectId) {
8662
+ return;
8663
+ }
8670
8664
  (async () => {
8671
8665
  try {
8672
8666
  const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
@@ -8676,7 +8670,7 @@ var ConnectWalletButton = ({
8676
8670
  console.warn("[UI-KIT] Failed to register onWalletReady callback:", e);
8677
8671
  }
8678
8672
  })();
8679
- }, [callbacks?.onWalletReady]);
8673
+ }, [callbacks?.onWalletReady, config.projectId]);
8680
8674
  import_react19.default.useEffect(() => {
8681
8675
  try {
8682
8676
  const shouldAutoOpen = authOpen ?? config?.ui?.authOpen;
@@ -8732,6 +8726,9 @@ var ConnectWalletButton = ({
8732
8726
  const userId = loginResponse.userId;
8733
8727
  const hasServerKeyshare = loginResponse.hasKeyshare ?? false;
8734
8728
  try {
8729
+ if (!config.projectId) {
8730
+ throw new Error("projectId is not configured. Cannot authenticate with iframe.");
8731
+ }
8735
8732
  const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8736
8733
  const iframeManager = getIframeManager2();
8737
8734
  await iframeManager.authenticate(userId);
@@ -8870,6 +8867,9 @@ var ConnectWalletButton = ({
8870
8867
  if (autoConnectAttemptedRef.current) return;
8871
8868
  const tryAutoConnect = async (attempt) => {
8872
8869
  if (address || session) return;
8870
+ if (!config.projectId) {
8871
+ return;
8872
+ }
8873
8873
  try {
8874
8874
  const { waitForIframe: waitForIframe2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8875
8875
  await waitForIframe2();
@@ -8909,12 +8909,14 @@ var ConnectWalletButton = ({
8909
8909
  callbacks?.onLumiaPassportAccount?.({ userId, address: addr, session: sess, hasKeyshare: finalHasKeyshare });
8910
8910
  } catch {
8911
8911
  }
8912
- try {
8913
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8914
- const iframeManager = getIframeManager2();
8915
- await iframeManager.authenticate(userId);
8916
- } catch (e) {
8917
- console.warn("[UI-KIT][AutoConnect] iframe authentication failed:", e);
8912
+ if (config.projectId) {
8913
+ try {
8914
+ const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8915
+ const iframeManager = getIframeManager2();
8916
+ await iframeManager.authenticate(userId);
8917
+ } catch (e) {
8918
+ console.warn("[UI-KIT][AutoConnect] iframe authentication failed:", e);
8919
+ }
8918
8920
  }
8919
8921
  try {
8920
8922
  const { checkServerBackupAvailability: checkServerBackupAvailability2, updateBackupStatus: updateBackupStatus2, getShareRecoveryStats: getShareRecoveryStats2 } = await Promise.resolve().then(() => (init_vaultClient(), vaultClient_exports));
@@ -8952,8 +8954,8 @@ var ConnectWalletButton = ({
8952
8954
  refetchBalance();
8953
8955
  }
8954
8956
  }, [address]);
8955
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: [className, "lumia-scope"].filter(Boolean).join(" "), children: [
8956
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "inline-flex items-center gap-2", children: !address ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { style: { display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8957
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: [className, "lumia-scope"].filter(Boolean).join(" "), children: [
8958
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "inline-flex items-center gap-2", children: !address ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { style: { display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8957
8959
  "button",
8958
8960
  {
8959
8961
  onClick: () => {
@@ -8988,7 +8990,7 @@ var ConnectWalletButton = ({
8988
8990
  },
8989
8991
  children: label || "Connect"
8990
8992
  }
8991
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8993
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8992
8994
  "div",
8993
8995
  {
8994
8996
  className: `relative rounded-2xl p-4 shadow-lg cursor-pointer transition-all duration-200 hover:scale-105 hover:shadow-xl max-w-sm min-w-[280px] backdrop-blur`,
@@ -8999,51 +9001,51 @@ var ConnectWalletButton = ({
8999
9001
  borderColor: config.ui.colors?.[isDark ? "dark" : "light"]?.connectedButtonBorder || (isDark ? "#374151" : "#e5e7eb")
9000
9002
  },
9001
9003
  onClick: () => setIsWalletMenuOpen(true),
9002
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-3", children: [
9003
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 overflow-hidden bg-gradient-to-br from-purple-500 to-blue-600", children: avatar ? (
9004
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-3", children: [
9005
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 overflow-hidden bg-gradient-to-br from-purple-500 to-blue-600", children: avatar ? (
9004
9006
  // eslint-disable-next-line @next/next/no-img-element
9005
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9006
- ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white font-bold text-sm", children: "LP" }) }),
9007
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "text-left flex-1 min-w-0", children: [
9008
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `font-semibold text-base truncate ${theme.titleText}`, children: mode === "compact" && displayName ? displayName : formatAddress(address) }),
9009
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
9007
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9008
+ ) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-white font-bold text-sm", children: "LP" }) }),
9009
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "text-left flex-1 min-w-0", children: [
9010
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `font-semibold text-base truncate ${theme.titleText}`, children: mode === "compact" && displayName ? displayName : formatAddress(address) }),
9011
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
9010
9012
  formatBalance(),
9011
9013
  " LUMIA"
9012
9014
  ] })
9013
9015
  ] }),
9014
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-1", children: [
9015
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
9016
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9016
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-1", children: [
9017
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "group relative", children: [
9018
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9017
9019
  import_lucide_react17.Cloud,
9018
9020
  {
9019
9021
  className: `w-3 h-3 ${indicators.server ? "text-green-500" : "text-orange-400"}`
9020
9022
  }
9021
9023
  ),
9022
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
9024
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
9023
9025
  "Server Keyshare: ",
9024
9026
  indicators.server ? "Available" : "Missing"
9025
9027
  ] })
9026
9028
  ] }),
9027
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
9028
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9029
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "group relative", children: [
9030
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9029
9031
  import_lucide_react17.Laptop,
9030
9032
  {
9031
9033
  className: `w-3 h-3 ${indicators.local ? "text-green-500" : "text-orange-400"}`
9032
9034
  }
9033
9035
  ),
9034
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
9036
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
9035
9037
  "Local Keyshare: ",
9036
9038
  indicators.local ? "Available" : "Missing"
9037
9039
  ] })
9038
9040
  ] }),
9039
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
9040
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9041
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "group relative", children: [
9042
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9041
9043
  import_lucide_react17.Shield,
9042
9044
  {
9043
9045
  className: `w-3 h-3 ${indicators.backup ? "text-green-500" : "text-orange-400"}`
9044
9046
  }
9045
9047
  ),
9046
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
9048
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
9047
9049
  "Vault Backup: ",
9048
9050
  indicators.backup ? "Available" : "Not Found"
9049
9051
  ] })
@@ -9052,62 +9054,62 @@ var ConnectWalletButton = ({
9052
9054
  ] })
9053
9055
  }
9054
9056
  ) }),
9055
- isWalletMenuOpen && address && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "fixed inset-0 z-[60]", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog, { open: isWalletMenuOpen, onOpenChange: setIsWalletMenuOpen, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
9056
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogTitle, { children: "Wallet Menu" }) }),
9057
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogDescription, { className: "sr-only", children: "Smart Account wallet actions and status" }),
9058
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `p-4 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-4", children: [
9059
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-12 h-12 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center relative overflow-hidden", children: avatar ? (
9057
+ isWalletMenuOpen && address && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "fixed inset-0 z-[60]", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Dialog, { open: isWalletMenuOpen, onOpenChange: setIsWalletMenuOpen, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
9058
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "Wallet Menu" }) }),
9059
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { className: "sr-only", children: "Smart Account wallet actions and status" }),
9060
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `p-4 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-4", children: [
9061
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-12 h-12 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center relative overflow-hidden", children: avatar ? (
9060
9062
  // eslint-disable-next-line @next/next/no-img-element
9061
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9062
- ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white font-bold text-lg", children: "L" }) }),
9063
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9064
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `font-medium text-left text-lg ${theme.titleText}`, children: displayName || "Smart Account" }),
9065
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-2", children: [
9066
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: formatAddress(address) }),
9067
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { onClick: async () => {
9063
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9064
+ ) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-white font-bold text-lg", children: "L" }) }),
9065
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 min-w-0", children: [
9066
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `font-medium text-left text-lg ${theme.titleText}`, children: displayName || "Smart Account" }),
9067
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-2", children: [
9068
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: formatAddress(address) }),
9069
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("button", { onClick: async () => {
9068
9070
  try {
9069
9071
  await navigator.clipboard.writeText(address);
9070
9072
  setCopied(true);
9071
9073
  setTimeout(() => setCopied(false), 1500);
9072
9074
  } catch {
9073
9075
  }
9074
- }, title: "Copy address", className: `${theme.iconColor} hover:${theme.titleText} p-1`, children: copied ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-green-500 text-sm", children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Copy, { className: "w-4 h-4" }) })
9076
+ }, title: "Copy address", className: `${theme.iconColor} hover:${theme.titleText} p-1`, children: copied ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-green-500 text-sm", children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Copy, { className: "w-4 h-4" }) })
9075
9077
  ] })
9076
9078
  ] })
9077
9079
  ] }) }) }),
9078
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "p-4", children: [
9079
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "grid grid-cols-3 gap-2 mb-4", children: [
9080
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9080
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "p-4", children: [
9081
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "grid grid-cols-3 gap-2 mb-4", children: [
9082
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9081
9083
  setIsWalletMenuOpen(false);
9082
9084
  setIsSendOpen(true);
9083
9085
  }, className: `${isDark ? "bg-slate-900 hover:bg-slate-800 text-blue-400" : "bg-blue-50 hover:bg-blue-100 text-blue-600"} rounded-xl p-3 transition-colors flex items-center justify-center gap-2`, children: [
9084
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowUp, { className: "w-5 h-5" }),
9085
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-sm font-medium", children: "Send" })
9086
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowUp, { className: "w-5 h-5" }),
9087
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Send" })
9086
9088
  ] }),
9087
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9089
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9088
9090
  setIsWalletMenuOpen(false);
9089
9091
  setIsReceiveOpen(true);
9090
9092
  }, className: `${isDark ? "bg-slate-900 hover:bg-slate-800 text-green-400" : "bg-green-50 hover:bg-green-100 text-green-600"} rounded-xl p-3 transition-colors flex items-center justify-center gap-2`, children: [
9091
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowDown, { className: "w-5 h-5" }),
9092
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-sm font-medium", children: "Receive" })
9093
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowDown, { className: "w-5 h-5" }),
9094
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Receive" })
9093
9095
  ] }),
9094
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9096
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9095
9097
  setIsWalletMenuOpen(false);
9096
9098
  setIsBuyOpen(true);
9097
9099
  }, className: `${isDark ? "bg-slate-900 hover:bg-slate-800 text-purple-400" : "bg-purple-50 hover:bg-purple-100 text-purple-600"} rounded-xl p-3 transition-colors flex items-center justify-center gap-2`, children: [
9098
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Plus, { className: "w-5 h-5" }),
9099
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-sm font-medium", children: "Buy" })
9100
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Plus, { className: "w-5 h-5" }),
9101
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Buy" })
9100
9102
  ] })
9101
9103
  ] }),
9102
- config.warnings?.backupWarning && !hasServerVault && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `mb-4 p-4 rounded-xl animate-glow-warning ${isDark ? "bg-red-950/90 border-2 border-red-800/80" : "bg-red-50 border-2 border-red-300"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex items-start space-x-3 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9103
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm font-bold ${isDark ? "text-red-200" : "text-red-800"}`, children: "BACKUP NOT CREATED" }),
9104
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: `text-xs mt-1.5 font-medium ${isDark ? "text-red-300/95" : "text-red-700"}`, children: [
9104
+ config.warnings?.backupWarning && !hasServerVault && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `mb-4 p-4 rounded-xl animate-glow-warning ${isDark ? "bg-red-950/90 border-2 border-red-800/80" : "bg-red-50 border-2 border-red-300"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex items-start space-x-3 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 min-w-0", children: [
9105
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm font-bold ${isDark ? "text-red-200" : "text-red-800"}`, children: "BACKUP NOT CREATED" }),
9106
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-xs mt-1.5 font-medium ${isDark ? "text-red-300/95" : "text-red-700"}`, children: [
9105
9107
  "Your wallet will be ",
9106
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("strong", { children: "PERMANENTLY LOST" }),
9108
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("strong", { children: "PERMANENTLY LOST" }),
9107
9109
  " if browser data is cleared."
9108
9110
  ] }),
9109
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-[11px] mt-1 ${isDark ? "text-red-400/80" : "text-red-600/90"}`, children: "\u26A0\uFE0F Lumia cannot recover your wallet without a backup!" }),
9110
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
9111
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-[11px] mt-1 ${isDark ? "text-red-400/80" : "text-red-600/90"}`, children: "\u26A0\uFE0F Lumia cannot recover your wallet without a backup!" }),
9112
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
9111
9113
  "button",
9112
9114
  {
9113
9115
  onClick: () => {
@@ -9116,7 +9118,7 @@ var ConnectWalletButton = ({
9116
9118
  },
9117
9119
  className: `mt-3 px-4 py-2 text-xs font-bold rounded-lg transition-all hover:scale-105 ${isDark ? "bg-red-700/80 hover:bg-red-600/90 text-white shadow-lg" : "bg-red-600 hover:bg-red-700 text-white shadow-lg"}`,
9118
9120
  children: [
9119
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ShieldCheck, { className: "w-3.5 h-3.5 inline mr-1.5" }),
9121
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: "w-3.5 h-3.5 inline mr-1.5" }),
9120
9122
  "Create Backup Now"
9121
9123
  ]
9122
9124
  }
@@ -9125,12 +9127,12 @@ var ConnectWalletButton = ({
9125
9127
  (() => {
9126
9128
  const providers = import_auth3.jwtTokenManager.getProviders();
9127
9129
  const hasEmail = providers.includes("email");
9128
- return config.warnings?.emailNotConnectedWarning && !hasEmail && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `mb-4 p-3 rounded-xl ${isDark ? "bg-blue-900/20 border border-blue-900/40" : "bg-blue-50 border border-blue-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start space-x-3", children: [
9129
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.AlertTriangle, { className: `w-5 h-5 ${isDark ? "text-blue-400" : "text-blue-500"} mt-0.5 flex-shrink-0` }),
9130
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9131
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-blue-300" : "text-blue-700"}`, children: "Email Not Connected" }),
9132
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-xs mt-1 ${isDark ? "text-blue-400/80" : "text-blue-600"}`, children: "Connect your email for easier account recovery and additional security." }),
9133
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
9130
+ return config.warnings?.emailNotConnectedWarning && !hasEmail && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `mb-4 p-3 rounded-xl ${isDark ? "bg-blue-900/20 border border-blue-900/40" : "bg-blue-50 border border-blue-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-start space-x-3", children: [
9131
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.AlertTriangle, { className: `w-5 h-5 ${isDark ? "text-blue-400" : "text-blue-500"} mt-0.5 flex-shrink-0` }),
9132
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 min-w-0", children: [
9133
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-blue-300" : "text-blue-700"}`, children: "Email Not Connected" }),
9134
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-xs mt-1 ${isDark ? "text-blue-400/80" : "text-blue-600"}`, children: "Connect your email for easier account recovery and additional security." }),
9135
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
9134
9136
  "button",
9135
9137
  {
9136
9138
  onClick: () => {
@@ -9139,7 +9141,7 @@ var ConnectWalletButton = ({
9139
9141
  },
9140
9142
  className: `mt-2 px-3 py-1.5 text-xs font-medium rounded-lg transition-colors ${isDark ? "bg-blue-900/40 hover:bg-blue-900/60 text-blue-300" : "bg-blue-100 hover:bg-blue-200 text-blue-700"}`,
9141
9143
  children: [
9142
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ShieldCheck, { className: "w-3 h-3 inline mr-1" }),
9144
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: "w-3 h-3 inline mr-1" }),
9143
9145
  "Connect Email"
9144
9146
  ]
9145
9147
  }
@@ -9147,84 +9149,84 @@ var ConnectWalletButton = ({
9147
9149
  ] })
9148
9150
  ] }) });
9149
9151
  })(),
9150
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9152
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9151
9153
  "button",
9152
9154
  {
9153
9155
  onClick: () => address && window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank"),
9154
9156
  className: `w-full ${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-3 mb-3 transition-colors cursor-pointer text-left`,
9155
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center justify-between", children: [
9156
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-3", children: [
9157
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-8 h-8 rounded-full flex items-center justify-center bg-transparent overflow-hidden", children: lumiaBeam.logoDataUri ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: lumiaBeam.logoDataUri, alt: "Chain logo", className: "w-full h-full object-cover" }) : lumiaBeam.logo === "lumia" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(LumiaLogo, { size: 32 }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white text-xs font-bold", children: (lumiaBeam.name || "L").charAt(0) }) }),
9158
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
9159
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${theme.titleText} font-medium`, children: lumiaBeam.name }),
9160
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: theme.mutedText + " text-sm", children: [
9157
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center justify-between", children: [
9158
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-3", children: [
9159
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-8 h-8 rounded-full flex items-center justify-center bg-transparent overflow-hidden", children: lumiaBeam.logoDataUri ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: lumiaBeam.logoDataUri, alt: "Chain logo", className: "w-full h-full object-cover" }) : lumiaBeam.logo === "lumia" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(LumiaLogo, { size: 32 }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-white text-xs font-bold", children: (lumiaBeam.name || "L").charAt(0) }) }),
9160
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
9161
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${theme.titleText} font-medium`, children: lumiaBeam.name }),
9162
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: theme.mutedText + " text-sm", children: [
9161
9163
  formatBalance(),
9162
9164
  " LUMIA"
9163
9165
  ] })
9164
9166
  ] })
9165
9167
  ] }),
9166
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: theme.iconColor, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-4 h-4" }) })
9168
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: theme.iconColor, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-4 h-4" }) })
9167
9169
  ] })
9168
9170
  }
9169
9171
  ),
9170
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "space-y-1", children: [
9171
- config.features?.kycNeeded && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9172
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "space-y-1", children: [
9173
+ config.features?.kycNeeded && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9172
9174
  setIsWalletMenuOpen(false);
9173
9175
  setIsKycOpen(true);
9174
9176
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9175
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ShieldCheck, { className: `w-5 h-5 ${theme.iconColor}` }),
9176
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "KYC" })
9177
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: `w-5 h-5 ${theme.iconColor}` }),
9178
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "KYC" })
9177
9179
  ] }),
9178
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9180
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9179
9181
  setIsWalletMenuOpen(false);
9180
9182
  setIsTransactionsOpen(true);
9181
9183
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9182
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Activity, { className: `w-5 h-5 ${theme.iconColor}` }),
9183
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Transactions" })
9184
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Activity, { className: `w-5 h-5 ${theme.iconColor}` }),
9185
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Transactions" })
9184
9186
  ] }),
9185
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9187
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9186
9188
  setIsWalletMenuOpen(false);
9187
9189
  setIsViewAssetsOpen(true);
9188
9190
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9189
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Gem, { className: `w-5 h-5 ${theme.iconColor}` }),
9190
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "View Assets" })
9191
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Gem, { className: `w-5 h-5 ${theme.iconColor}` }),
9192
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "View Assets" })
9191
9193
  ] }),
9192
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9194
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9193
9195
  setIsWalletMenuOpen(false);
9194
9196
  setIsManageWalletOpen(true);
9195
9197
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9196
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.CreditCard, { className: `w-5 h-5 ${theme.iconColor}` }),
9197
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Manage Wallet" })
9198
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.CreditCard, { className: `w-5 h-5 ${theme.iconColor}` }),
9199
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Manage Wallet" })
9198
9200
  ] }),
9199
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9201
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9200
9202
  setIsWalletMenuOpen(false);
9201
9203
  setIsSecurityOpen(true);
9202
9204
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9203
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Lock, { className: `w-5 h-5 ${theme.iconColor}` }),
9204
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Security" })
9205
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Lock, { className: `w-5 h-5 ${theme.iconColor}` }),
9206
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Security" })
9205
9207
  ] }),
9206
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9208
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9207
9209
  setIsWalletMenuOpen(false);
9208
9210
  setIsBackupOpen(true);
9209
9211
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9210
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Shield, { className: `w-5 h-5 ${theme.iconColor}` }),
9211
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Keyshare Backup" })
9212
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Shield, { className: `w-5 h-5 ${theme.iconColor}` }),
9213
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Keyshare Backup" })
9212
9214
  ] }),
9213
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: async () => {
9215
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: async () => {
9214
9216
  await handleDisconnect();
9215
9217
  setIsWalletMenuOpen(false);
9216
9218
  }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-red-900/20" : "bg-transparent hover:bg-red-50"} transition-colors flex items-center space-x-3`, children: [
9217
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-5 h-5 text-red-600" }),
9218
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-red-600", children: "Disconnect Wallet" })
9219
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-5 h-5 text-red-600" }),
9220
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-red-600", children: "Disconnect Wallet" })
9219
9221
  ] })
9220
9222
  ] }),
9221
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `mt-3 pt-3 border-t ${theme.divider} text-center`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: `text-xs ${theme.mutedText}`, children: [
9223
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `mt-3 pt-3 border-t ${theme.divider} text-center`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-xs ${theme.mutedText}`, children: [
9222
9224
  "Lumia Passport v",
9223
9225
  package_default.version
9224
9226
  ] }) })
9225
9227
  ] })
9226
9228
  ] }) }) }),
9227
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9229
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9228
9230
  ManageWallet,
9229
9231
  {
9230
9232
  open: isManageWalletOpen,
@@ -9235,7 +9237,7 @@ var ConnectWalletButton = ({
9235
9237
  }
9236
9238
  }
9237
9239
  ),
9238
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9240
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9239
9241
  SecurityModal,
9240
9242
  {
9241
9243
  open: isSecurityOpen,
@@ -9246,22 +9248,26 @@ var ConnectWalletButton = ({
9246
9248
  }
9247
9249
  }
9248
9250
  ),
9249
- isBackupOpen && session?.mpcUserId && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog, { open: isBackupOpen, onOpenChange: setIsBackupOpen, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(DialogContent, { className: "max-w-[400px] p-0", children: [
9250
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(VisuallyHidden, { children: [
9251
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogTitle, { children: "Keyshare Backup" }),
9252
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogDescription, { children: "Create and manage encrypted backups of your keyshare" })
9251
+ isBackupOpen && session?.mpcUserId && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Dialog, { open: isBackupOpen, onOpenChange: setIsBackupOpen, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(DialogContent, { className: "max-w-[400px] p-0", children: [
9252
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(VisuallyHidden, { children: [
9253
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "Keyshare Backup" }),
9254
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { children: "Create and manage encrypted backups of your keyshare" })
9253
9255
  ] }),
9254
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9256
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9255
9257
  KeyshareBackup,
9256
9258
  {
9257
9259
  userId: session.mpcUserId,
9258
9260
  onBackupSuccess: () => {
9259
9261
  console.log("[ConnectWalletButton] Backup created successfully");
9262
+ },
9263
+ onBack: () => {
9264
+ setIsBackupOpen(false);
9265
+ setIsWalletMenuOpen(true);
9260
9266
  }
9261
9267
  }
9262
9268
  )
9263
9269
  ] }) }),
9264
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9270
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9265
9271
  TransactionsModal,
9266
9272
  {
9267
9273
  open: isTransactionsOpen,
@@ -9272,7 +9278,7 @@ var ConnectWalletButton = ({
9272
9278
  }
9273
9279
  }
9274
9280
  ),
9275
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9281
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9276
9282
  ViewAssetsModal,
9277
9283
  {
9278
9284
  open: isViewAssetsOpen,
@@ -9283,7 +9289,7 @@ var ConnectWalletButton = ({
9283
9289
  }
9284
9290
  }
9285
9291
  ),
9286
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9292
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9287
9293
  SendModal,
9288
9294
  {
9289
9295
  open: isSendOpen,
@@ -9294,7 +9300,7 @@ var ConnectWalletButton = ({
9294
9300
  }
9295
9301
  }
9296
9302
  ),
9297
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9303
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9298
9304
  ReceiveModal,
9299
9305
  {
9300
9306
  open: isReceiveOpen,
@@ -9305,7 +9311,7 @@ var ConnectWalletButton = ({
9305
9311
  }
9306
9312
  }
9307
9313
  ),
9308
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9314
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9309
9315
  BuyModal,
9310
9316
  {
9311
9317
  open: isBuyOpen,
@@ -9316,7 +9322,7 @@ var ConnectWalletButton = ({
9316
9322
  }
9317
9323
  }
9318
9324
  ),
9319
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9325
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9320
9326
  KycModal,
9321
9327
  {
9322
9328
  open: isKycOpen,
@@ -9327,7 +9333,7 @@ var ConnectWalletButton = ({
9327
9333
  }
9328
9334
  }
9329
9335
  ),
9330
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9336
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9331
9337
  AuthModal,
9332
9338
  {
9333
9339
  open: recoveryUserId ? isRecoveryModalOpen : isAuthModalOpen,
@@ -9344,6 +9350,7 @@ var ConnectWalletButton = ({
9344
9350
  onRecoveryClose: () => {
9345
9351
  setRecoveryUserId(null);
9346
9352
  setIsRecoveryModalOpen(false);
9353
+ setIsAuthModalOpen(false);
9347
9354
  },
9348
9355
  callbacks,
9349
9356
  onRecoverySuccess: async () => {
@@ -9357,6 +9364,7 @@ var ConnectWalletButton = ({
9357
9364
  setStatus("ready");
9358
9365
  setRecoveryUserId(null);
9359
9366
  setIsRecoveryModalOpen(false);
9367
+ setIsAuthModalOpen(false);
9360
9368
  onConnected?.({ address: addr, session: sess });
9361
9369
  try {
9362
9370
  callbacks?.onLumiaPassportConnect?.({ address: addr, session: sess });
@@ -9366,12 +9374,14 @@ var ConnectWalletButton = ({
9366
9374
  callbacks?.onLumiaPassportAccount?.({ userId: recoveryUserId, address: addr, session: sess, hasKeyshare: hasServerKeyshare });
9367
9375
  } catch {
9368
9376
  }
9369
- try {
9370
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
9371
- const iframeManager = getIframeManager2();
9372
- await iframeManager.authenticate(recoveryUserId);
9373
- } catch (e) {
9374
- console.warn("[UI-KIT] iframe authentication failed:", e);
9377
+ if (config.projectId) {
9378
+ try {
9379
+ const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
9380
+ const iframeManager = getIframeManager2();
9381
+ await iframeManager.authenticate(recoveryUserId);
9382
+ } catch (e) {
9383
+ console.warn("[UI-KIT] iframe authentication failed:", e);
9384
+ }
9375
9385
  }
9376
9386
  try {
9377
9387
  const { updateBackupStatus: updateBackupStatus2 } = await Promise.resolve().then(() => (init_vaultClient(), vaultClient_exports));
@@ -9387,7 +9397,7 @@ var ConnectWalletButton = ({
9387
9397
  }
9388
9398
  }
9389
9399
  ),
9390
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9400
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9391
9401
  TssManagerWithRef,
9392
9402
  {
9393
9403
  ref: tssManagerRef,
@@ -9406,7 +9416,7 @@ var ConnectWalletButton = ({
9406
9416
 
9407
9417
  // src/components/ThemeToggle.tsx
9408
9418
  init_LumiaPassportContext();
9409
- var import_jsx_runtime34 = require("react/jsx-runtime");
9419
+ var import_jsx_runtime33 = require("react/jsx-runtime");
9410
9420
  var ThemeToggle = () => {
9411
9421
  const { config, updateConfig } = useLumiaPassportConfig();
9412
9422
  const currentTheme = config.ui.theme;
@@ -9451,7 +9461,7 @@ var ThemeToggle = () => {
9451
9461
  return "auto";
9452
9462
  }
9453
9463
  };
9454
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "lumia-scope", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
9464
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "lumia-scope", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
9455
9465
  "button",
9456
9466
  {
9457
9467
  onClick: cycleTheme,
@@ -9467,19 +9477,19 @@ var ThemeToggle = () => {
9467
9477
  };
9468
9478
 
9469
9479
  // src/components/LumiaLogo.tsx
9470
- var import_jsx_runtime35 = require("react/jsx-runtime");
9480
+ var import_jsx_runtime34 = require("react/jsx-runtime");
9471
9481
  var LumiaLogo2 = ({ size = 80, className = "" }) => {
9472
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9482
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9473
9483
  "div",
9474
9484
  {
9475
9485
  className: `flex items-center justify-center ${className}`,
9476
9486
  style: { width: size, height: size },
9477
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("svg", { viewBox: "0 0 512 512", width: size, height: size, children: [
9478
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("circle", { cx: "256", cy: "256", r: "256", fill: "#060117", strokeWidth: "0" }),
9479
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M264.13948,48.01032l63.62778,132.2788,133.95322,68.65102h-147.34854s-48.55804-10.04649-50.23246-56.93012,0-143.99971,0-143.99971Z", fill: "#fefdff", strokeWidth: "0" }),
9480
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M50.27932,245.59045l132.27894-63.62734L251.20943,48.01032l-.00012,147.34824s-10.04654,48.55792-56.93019,50.23222c-46.88366,1.6743-143.9998-.00033-143.9998-.00033Z", fill: "#fefdff", strokeWidth: "0" }),
9481
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M247.86056,463.98968l-63.62772-132.27875-133.95315-68.65092,147.34848-.00011s48.55802,10.04646,50.23242,56.93008c1.6744,46.88362-.00004,143.9997-.00004,143.9997Z", fill: "#fefdff", strokeWidth: "0" }),
9482
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M461.72068,266.40941l-132.2789,63.62744-68.65118,133.95283.00016-147.34823s10.04655-48.55792,56.93018-50.23226c46.88364-1.67434,143.99974.00023,143.99974.00023Z", fill: "#fefdff", strokeWidth: "0" })
9487
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("svg", { viewBox: "0 0 512 512", width: size, height: size, children: [
9488
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("circle", { cx: "256", cy: "256", r: "256", fill: "#060117", strokeWidth: "0" }),
9489
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M264.13948,48.01032l63.62778,132.2788,133.95322,68.65102h-147.34854s-48.55804-10.04649-50.23246-56.93012,0-143.99971,0-143.99971Z", fill: "#fefdff", strokeWidth: "0" }),
9490
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M50.27932,245.59045l132.27894-63.62734L251.20943,48.01032l-.00012,147.34824s-10.04654,48.55792-56.93019,50.23222c-46.88366,1.6743-143.9998-.00033-143.9998-.00033Z", fill: "#fefdff", strokeWidth: "0" }),
9491
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M247.86056,463.98968l-63.62772-132.27875-133.95315-68.65092,147.34848-.00011s48.55802,10.04646,50.23242,56.93008c1.6744,46.88362-.00004,143.9997-.00004,143.9997Z", fill: "#fefdff", strokeWidth: "0" }),
9492
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M461.72068,266.40941l-132.2789,63.62744-68.65118,133.95283.00016-147.34823s10.04655-48.55792,56.93018-50.23226c46.88364-1.67434,143.99974.00023,143.99974.00023Z", fill: "#fefdff", strokeWidth: "0" })
9483
9493
  ] })
9484
9494
  }
9485
9495
  );
@@ -9545,7 +9555,7 @@ function useTheme2(configTheme) {
9545
9555
  var React28 = __toESM(require("react"), 1);
9546
9556
  var import_lucide_react18 = require("lucide-react");
9547
9557
  init_button();
9548
- var import_jsx_runtime36 = require("react/jsx-runtime");
9558
+ var import_jsx_runtime35 = require("react/jsx-runtime");
9549
9559
  function toExplorerUrl(kind, value, chain) {
9550
9560
  const base2 = chain?.blockExplorers?.default?.url;
9551
9561
  if (!base2) return null;
@@ -9569,11 +9579,11 @@ var Hash = ({
9569
9579
  const value = hash || "";
9570
9580
  const explorer = toExplorerUrl(kind, value, chain || void 0);
9571
9581
  const [copied, setCopied] = React28.useState(false);
9572
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
9573
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
9574
- label && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-sm font-medium", children: label }),
9575
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
9576
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9582
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
9583
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
9584
+ label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-sm font-medium", children: label }),
9585
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
9586
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9577
9587
  Button,
9578
9588
  {
9579
9589
  variant: "ghost",
@@ -9587,10 +9597,10 @@ var Hash = ({
9587
9597
  } catch {
9588
9598
  }
9589
9599
  },
9590
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react18.Copy, { className: "h-4 w-4" })
9600
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react18.Copy, { className: "h-4 w-4" })
9591
9601
  }
9592
9602
  ),
9593
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9603
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9594
9604
  "a",
9595
9605
  {
9596
9606
  href: explorer,
@@ -9598,7 +9608,7 @@ var Hash = ({
9598
9608
  rel: "noreferrer noopener",
9599
9609
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
9600
9610
  title: "Open in explorer",
9601
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react18.ExternalLink, { className: "h-4 w-4" })
9611
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react18.ExternalLink, { className: "h-4 w-4" })
9602
9612
  }
9603
9613
  )
9604
9614
  ] });
@@ -9607,7 +9617,7 @@ var Hash = ({
9607
9617
  // src/internal/components/TransactionsList.tsx
9608
9618
  var import_react21 = require("react");
9609
9619
  init_base();
9610
- var import_jsx_runtime37 = require("react/jsx-runtime");
9620
+ var import_jsx_runtime36 = require("react/jsx-runtime");
9611
9621
  var TransactionsList = ({
9612
9622
  address,
9613
9623
  itemsCount = 10
@@ -9661,15 +9671,15 @@ var TransactionsList = ({
9661
9671
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
9662
9672
  };
9663
9673
  if (loading) {
9664
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-4 text-center", children: [
9665
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
9666
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
9674
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "p-4 text-center", children: [
9675
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
9676
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
9667
9677
  ] });
9668
9678
  }
9669
9679
  if (error) {
9670
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-4 text-center", children: [
9671
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-red-600 text-sm", children: error }),
9672
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
9680
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "p-4 text-center", children: [
9681
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-red-600 text-sm", children: error }),
9682
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9673
9683
  "button",
9674
9684
  {
9675
9685
  onClick: () => window.location.reload(),
@@ -9680,54 +9690,54 @@ var TransactionsList = ({
9680
9690
  ] });
9681
9691
  }
9682
9692
  if (transactions.length === 0) {
9683
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
9693
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
9684
9694
  }
9685
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
9695
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
9686
9696
  "div",
9687
9697
  {
9688
9698
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
9689
9699
  onClick: () => openTransaction(tx.hash),
9690
9700
  children: [
9691
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
9692
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex-1", children: [
9693
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
9694
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress(tx.hash) }),
9695
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`, children: tx.status === "ok" ? "Success" : "Failed" })
9701
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
9702
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex-1", children: [
9703
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
9704
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress(tx.hash) }),
9705
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`, children: tx.status === "ok" ? "Success" : "Failed" })
9696
9706
  ] }),
9697
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "text-sm space-y-1", children: [
9698
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9699
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "From:" }),
9700
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "font-mono ml-1", children: [
9707
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "text-sm space-y-1", children: [
9708
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
9709
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-gray-600", children: "From:" }),
9710
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-mono ml-1", children: [
9701
9711
  formatAddress(tx.from.hash),
9702
- tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9712
+ tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9703
9713
  ] })
9704
9714
  ] }),
9705
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9706
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "To:" }),
9707
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "font-mono ml-1", children: [
9715
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
9716
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-gray-600", children: "To:" }),
9717
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-mono ml-1", children: [
9708
9718
  formatAddress(tx.to.hash),
9709
- tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9719
+ tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9710
9720
  ] })
9711
9721
  ] }),
9712
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9713
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "Value:" }),
9714
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "font-semibold ml-1", children: [
9722
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
9723
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-gray-600", children: "Value:" }),
9724
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-semibold ml-1", children: [
9715
9725
  formatValue(tx.value),
9716
9726
  " LUMIA"
9717
9727
  ] })
9718
9728
  ] })
9719
9729
  ] })
9720
9730
  ] }),
9721
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
9722
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { children: formatDate2(tx.timestamp) }),
9723
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "mt-1", children: [
9731
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
9732
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { children: formatDate2(tx.timestamp) }),
9733
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "mt-1", children: [
9724
9734
  "Gas: ",
9725
9735
  parseInt(tx.gas_used).toLocaleString()
9726
9736
  ] }),
9727
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
9737
+ tx.method && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
9728
9738
  ] })
9729
9739
  ] }),
9730
- tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
9740
+ tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9731
9741
  "span",
9732
9742
  {
9733
9743
  className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full",