@lumiapassport/ui-kit 1.5.0 → 1.5.2

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
  }
@@ -2920,8 +2922,8 @@ var init_LumiaPassportContext = __esm({
2920
2922
  merged.projectId = initialConfig.projectId;
2921
2923
  }
2922
2924
  if (!merged.projectId) {
2923
- console.warn(
2924
- '[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'
2925
2927
  );
2926
2928
  } else {
2927
2929
  console.log("[LumiaPassport] \u2705 Initialized with projectId:", merged.projectId);
@@ -3021,9 +3023,6 @@ var init_LumiaPassportContext = __esm({
3021
3023
  if (typeof window === "undefined") return;
3022
3024
  const projectId2 = config.projectId;
3023
3025
  if (!projectId2) {
3024
- console.warn(
3025
- "[LumiaPassport] Skipping iframe initialization - projectId not configured"
3026
- );
3027
3026
  return;
3028
3027
  }
3029
3028
  const iframeUrl = getIframeUrl();
@@ -3471,55 +3470,37 @@ var init_LumiaLogo = __esm({
3471
3470
  }
3472
3471
  });
3473
3472
 
3474
- // src/internal/components/SuccessScreen.tsx
3475
- var import_jsx_runtime12, SuccessScreen;
3476
- var init_SuccessScreen = __esm({
3477
- "src/internal/components/SuccessScreen.tsx"() {
3478
- init_useTheme();
3479
- init_LumiaPassportContext();
3480
- import_jsx_runtime12 = require("react/jsx-runtime");
3481
- SuccessScreen = () => {
3482
- const { config } = useLumiaPassportConfig();
3483
- const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3484
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "text-center", children: [
3485
- /* @__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" }),
3486
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `text-lg font-medium ${theme.titleText}`, children: "Success" })
3487
- ] });
3488
- };
3489
- }
3490
- });
3491
-
3492
3473
  // src/internal/components/FailedScreen.tsx
3493
- var import_jsx_runtime13, FailedScreen;
3474
+ var import_jsx_runtime12, FailedScreen;
3494
3475
  var init_FailedScreen = __esm({
3495
3476
  "src/internal/components/FailedScreen.tsx"() {
3496
3477
  init_useTheme();
3497
3478
  init_LumiaPassportContext();
3498
- import_jsx_runtime13 = require("react/jsx-runtime");
3479
+ import_jsx_runtime12 = require("react/jsx-runtime");
3499
3480
  FailedScreen = ({ message = "Failed" }) => {
3500
3481
  const { config } = useLumiaPassportConfig();
3501
3482
  const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3502
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "text-center", children: [
3503
- /* @__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" }),
3504
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `text-lg font-medium ${theme.titleText} mb-2`, children: "Failed" }),
3505
- 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 })
3506
3487
  ] });
3507
3488
  };
3508
3489
  }
3509
3490
  });
3510
3491
 
3511
3492
  // src/internal/components/TermsOfService.tsx
3512
- var import_jsx_runtime14, TermsOfService;
3493
+ var import_jsx_runtime13, TermsOfService;
3513
3494
  var init_TermsOfService = __esm({
3514
3495
  "src/internal/components/TermsOfService.tsx"() {
3515
3496
  init_dialog();
3516
3497
  init_LumiaPassportContext();
3517
3498
  init_useTheme();
3518
- import_jsx_runtime14 = require("react/jsx-runtime");
3499
+ import_jsx_runtime13 = require("react/jsx-runtime");
3519
3500
  TermsOfService = ({ open, onOpenChange }) => {
3520
3501
  const { config } = useLumiaPassportConfig();
3521
3502
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
3522
- 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)(
3523
3504
  DialogContent,
3524
3505
  {
3525
3506
  className: `lumia-scope p-6 border-0 ${theme.modalBg} ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -3531,8 +3512,8 @@ var init_TermsOfService = __esm({
3531
3512
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
3532
3513
  },
3533
3514
  children: [
3534
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(DialogTitle, { children: "Terms of Service" }),
3535
- /* @__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." }) })
3536
3517
  ]
3537
3518
  }
3538
3519
  ) });
@@ -3541,44 +3522,44 @@ var init_TermsOfService = __esm({
3541
3522
  });
3542
3523
 
3543
3524
  // src/internal/components/ui/card.tsx
3544
- var React8, import_jsx_runtime15, Card, CardHeader, CardTitle, CardDescription, CardContent;
3525
+ var React8, import_jsx_runtime14, Card, CardHeader, CardTitle, CardDescription, CardContent;
3545
3526
  var init_card = __esm({
3546
3527
  "src/internal/components/ui/card.tsx"() {
3547
3528
  React8 = __toESM(require("react"), 1);
3548
3529
  init_utils();
3549
- import_jsx_runtime15 = require("react/jsx-runtime");
3530
+ import_jsx_runtime14 = require("react/jsx-runtime");
3550
3531
  Card = React8.forwardRef(
3551
- ({ 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 })
3552
3533
  );
3553
3534
  Card.displayName = "Card";
3554
3535
  CardHeader = React8.forwardRef(
3555
- ({ 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 })
3556
3537
  );
3557
3538
  CardHeader.displayName = "CardHeader";
3558
3539
  CardTitle = React8.forwardRef(
3559
- ({ 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 })
3560
3541
  );
3561
3542
  CardTitle.displayName = "CardTitle";
3562
3543
  CardDescription = React8.forwardRef(
3563
- ({ 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 })
3564
3545
  );
3565
3546
  CardDescription.displayName = "CardDescription";
3566
3547
  CardContent = React8.forwardRef(
3567
- ({ 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 })
3568
3549
  );
3569
3550
  CardContent.displayName = "CardContent";
3570
3551
  }
3571
3552
  });
3572
3553
 
3573
3554
  // src/internal/components/ui/input.tsx
3574
- var React9, import_jsx_runtime16, Input;
3555
+ var React9, import_jsx_runtime15, Input;
3575
3556
  var init_input = __esm({
3576
3557
  "src/internal/components/ui/input.tsx"() {
3577
3558
  React9 = __toESM(require("react"), 1);
3578
3559
  init_utils();
3579
- import_jsx_runtime16 = require("react/jsx-runtime");
3560
+ import_jsx_runtime15 = require("react/jsx-runtime");
3580
3561
  Input = React9.forwardRef(({ className, type, ...props }, ref) => {
3581
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3562
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3582
3563
  "input",
3583
3564
  {
3584
3565
  type,
@@ -3708,48 +3689,48 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3708
3689
  }
3709
3690
  };
3710
3691
  if (checkingBackup) {
3711
- 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: [
3712
- /* @__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: [
3713
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-3", children: [
3714
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Shield, { className: `h-6 w-6 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
3715
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3716
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardTitle, { className: `text-lg ${isDark ? "text-gray-100" : ""}`, children: "Checking Backup Availability" }),
3717
- /* @__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..." })
3718
3699
  ] })
3719
3700
  ] }),
3720
- 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" }) })
3721
3702
  ] }) }),
3722
- /* @__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: [
3723
- /* @__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` }),
3724
- /* @__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..." })
3725
3706
  ] }) }) })
3726
3707
  ] });
3727
3708
  }
3728
3709
  if (hasServerBackup === false) {
3729
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Card, { className: `border-0 ${theme.bg} ${theme.divider}`, children: [
3730
- /* @__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: [
3731
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3732
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.AlertCircle, { className: "h-5 w-5 text-red-600" }),
3733
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CardTitle, { className: `text-base ${theme.titleText}`, 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" })
3734
3715
  ] }),
3735
- onClose && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { onClick: onClose, className: `p-1 rounded transition-colors ${theme.secondaryBtn}`, 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" }) })
3736
3717
  ] }) }),
3737
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(CardContent, { className: "space-y-3.5", children: [
3738
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `p-3 rounded ${isDark ? "bg-red-500/15" : "bg-red-100"}`, children: [
3739
- /* @__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" }),
3740
- /* @__PURE__ */ (0, import_jsx_runtime17.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." })
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." })
3741
3722
  ] }),
3742
- /* @__PURE__ */ (0, import_jsx_runtime17.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_runtime17.jsxs)("p", { className: `text-xs ${theme.text}`, children: [
3743
- /* @__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:" }),
3744
3725
  " Try uploading a backup file if you have one saved locally, or create a new account with a different email."
3745
3726
  ] }) }),
3746
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `p-3 rounded border ${theme.bg} ${theme.divider}`, children: [
3747
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3748
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Upload, { className: "h-4 w-4 text-purple-600" }),
3749
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `font-medium text-sm ${theme.text}`, 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" })
3750
3731
  ] }),
3751
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3752
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { className: `block w-full cursor-pointer ${theme.text}`, 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)(
3753
3734
  "input",
3754
3735
  {
3755
3736
  type: "file",
@@ -3758,28 +3739,28 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3758
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"
3759
3740
  }
3760
3741
  ) }),
3761
- !restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: `text-xs ${theme.mutedText}`, children: "No file chosen" }),
3762
- restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
3763
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `text-xs p-2 rounded ${theme.inputBg} ${theme.text}`, 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: [
3764
3745
  "Selected: ",
3765
3746
  restoreFile.name
3766
3747
  ] }),
3767
- /* @__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" })
3768
3749
  ] })
3769
3750
  ] })
3770
3751
  ] }),
3771
- restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3772
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs font-medium ${theme.text}`, children: "Decryption Method:" }),
3773
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3774
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("input", { type: "checkbox", id: "use-restore-password", checked: useCustomPassword, onChange: (e) => setUseCustomPassword(e.target.checked), className: "rounded" }),
3775
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("label", { htmlFor: "use-restore-password", className: `text-xs ${theme.text}`, 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" })
3776
3757
  ] }),
3777
- !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `p-2 border rounded text-xs ${theme.inputBg} ${theme.text}`, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3778
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Key, { className: "h-3.5 w-3.5" }),
3779
- /* @__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" })
3780
3761
  ] }) }),
3781
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
3782
- /* @__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)(
3783
3764
  Input,
3784
3765
  {
3785
3766
  type: showPassword ? "text" : "password",
@@ -3789,61 +3770,61 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3789
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"}`
3790
3771
  }
3791
3772
  ),
3792
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3773
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3793
3774
  "button",
3794
3775
  {
3795
3776
  type: "button",
3796
3777
  onClick: () => setShowPassword(!showPassword),
3797
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"}`,
3798
- 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" })
3799
3780
  }
3800
3781
  )
3801
3782
  ] })
3802
3783
  ] }),
3803
- error && /* @__PURE__ */ (0, import_jsx_runtime17.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: [
3804
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3805
- /* @__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 })
3806
3787
  ] }),
3807
- success && /* @__PURE__ */ (0, import_jsx_runtime17.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: [
3808
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3809
- /* @__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 })
3810
3791
  ] })
3811
3792
  ] })
3812
3793
  ] });
3813
3794
  }
3814
- 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: [
3815
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(CardHeader, { className: "pb-3", children: [
3816
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center justify-between", children: [
3817
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3818
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Shield, { className: "h-5 w-5 text-blue-600" }),
3819
- /* @__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" })
3820
3801
  ] }),
3821
- onClose && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3802
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3822
3803
  "button",
3823
3804
  {
3824
3805
  onClick: onClose,
3825
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"}`,
3826
3807
  title: "Close",
3827
3808
  "aria-label": "Close",
3828
- 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" })
3829
3810
  }
3830
3811
  )
3831
3812
  ] }),
3832
- /* @__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" })
3833
3814
  ] }),
3834
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(CardContent, { className: "space-y-3.5", children: [
3835
- 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: [
3836
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3837
- /* @__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 })
3838
3819
  ] }),
3839
- 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: [
3840
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
3841
- /* @__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 })
3842
3823
  ] }),
3843
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3844
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Decryption Method:" }),
3845
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2", children: [
3846
- /* @__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)(
3847
3828
  "input",
3848
3829
  {
3849
3830
  type: "checkbox",
@@ -3853,14 +3834,14 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3853
3834
  className: "rounded"
3854
3835
  }
3855
3836
  ),
3856
- /* @__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" })
3857
3838
  ] }),
3858
- !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: [
3859
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Key, { className: "h-3.5 w-3.5 text-blue-500" }),
3860
- /* @__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" })
3861
3842
  ] }) }),
3862
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
3863
- /* @__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)(
3864
3845
  Input,
3865
3846
  {
3866
3847
  type: showPassword ? "text" : "password",
@@ -3870,26 +3851,26 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3870
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"}`
3871
3852
  }
3872
3853
  ),
3873
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3854
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3874
3855
  "button",
3875
3856
  {
3876
3857
  type: "button",
3877
3858
  onClick: () => setShowPassword(!showPassword),
3878
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"}`,
3879
3860
  "aria-label": "Toggle password visibility",
3880
- 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" })
3881
3862
  }
3882
3863
  )
3883
3864
  ] })
3884
3865
  ] }),
3885
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2.5", children: [
3886
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Restore Method:" }),
3887
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: isDark ? "p-3 rounded bg-gray-800/50" : "p-3 rounded bg-blue-50/50", children: [
3888
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3889
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Server, { className: "h-4 w-4 text-blue-500" }),
3890
- /* @__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" })
3891
3872
  ] }),
3892
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3873
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3893
3874
  Button,
3894
3875
  {
3895
3876
  onClick: handleRestoreFromServer,
@@ -3899,13 +3880,13 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3899
3880
  }
3900
3881
  )
3901
3882
  ] }),
3902
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: isDark ? "p-3 rounded bg-gray-800/50" : "p-3 rounded bg-purple-50/50", children: [
3903
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
3904
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react3.Upload, { className: "h-4 w-4 text-purple-500" }),
3905
- /* @__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" })
3906
3887
  ] }),
3907
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "space-y-2", children: [
3908
- /* @__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)(
3909
3890
  "input",
3910
3891
  {
3911
3892
  type: "file",
@@ -3914,9 +3895,9 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3914
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"
3915
3896
  }
3916
3897
  ) }),
3917
- restoreFile && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
3918
- /* @__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 }),
3919
- /* @__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)(
3920
3901
  Button,
3921
3902
  {
3922
3903
  onClick: handleRestoreFromFile,
@@ -3933,7 +3914,7 @@ function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
3933
3914
  ] })
3934
3915
  ] });
3935
3916
  }
3936
- var React10, import_lucide_react3, import_jsx_runtime17;
3917
+ var React10, import_lucide_react3, import_jsx_runtime16;
3937
3918
  var init_KeyshareRestore = __esm({
3938
3919
  "src/internal/components/KeyshareRestore.tsx"() {
3939
3920
  React10 = __toESM(require("react"), 1);
@@ -3945,18 +3926,18 @@ var init_KeyshareRestore = __esm({
3945
3926
  init_iframe_manager();
3946
3927
  init_LumiaPassportContext();
3947
3928
  init_useTheme();
3948
- import_jsx_runtime17 = require("react/jsx-runtime");
3929
+ import_jsx_runtime16 = require("react/jsx-runtime");
3949
3930
  }
3950
3931
  });
3951
3932
 
3952
3933
  // src/internal/components/VerificationCodeInput.tsx
3953
- var import_react6, import_jsx_runtime18, VerificationCodeInput;
3934
+ var import_react6, import_jsx_runtime17, VerificationCodeInput;
3954
3935
  var init_VerificationCodeInput = __esm({
3955
3936
  "src/internal/components/VerificationCodeInput.tsx"() {
3956
3937
  import_react6 = require("react");
3957
3938
  init_LumiaPassportContext();
3958
3939
  init_useTheme();
3959
- import_jsx_runtime18 = require("react/jsx-runtime");
3940
+ import_jsx_runtime17 = require("react/jsx-runtime");
3960
3941
  VerificationCodeInput = ({ onVerifyCode, onResendCode, isLoading, expiresIn, error }) => {
3961
3942
  const { config } = useLumiaPassportConfig();
3962
3943
  const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
@@ -4031,8 +4012,8 @@ var init_VerificationCodeInput = __esm({
4031
4012
  };
4032
4013
  const mm = Math.floor(timeLeft / 60).toString();
4033
4014
  const ss = (timeLeft % 60).toString().padStart(2, "0");
4034
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "text-center", children: [
4035
- /* @__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)(
4036
4017
  "input",
4037
4018
  {
4038
4019
  ref: (el) => inputsRef.current[i] = el,
@@ -4048,17 +4029,17 @@ var init_VerificationCodeInput = __esm({
4048
4029
  },
4049
4030
  i
4050
4031
  )) }),
4051
- error && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: `text-sm ${theme.errorText} mb-3 break-words whitespace-pre-wrap text-center`, children: error }),
4052
- /* @__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: [
4053
4034
  "Code expires in ",
4054
4035
  mm,
4055
4036
  ":",
4056
4037
  ss
4057
4038
  ] }),
4058
- /* @__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: [
4059
4040
  "Didn't receive code?",
4060
4041
  " ",
4061
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4042
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4062
4043
  "button",
4063
4044
  {
4064
4045
  onClick: () => timeLeft === 0 ? onResendCode() : void 0,
@@ -4097,7 +4078,7 @@ var init_profile = __esm({
4097
4078
  });
4098
4079
 
4099
4080
  // src/internal/components/DisplayNameInput.tsx
4100
- var import_react7, import_lucide_react4, import_jsx_runtime19, DisplayNameInput;
4081
+ var import_react7, import_lucide_react4, import_jsx_runtime18, DisplayNameInput;
4101
4082
  var init_DisplayNameInput = __esm({
4102
4083
  "src/internal/components/DisplayNameInput.tsx"() {
4103
4084
  import_react7 = require("react");
@@ -4109,7 +4090,7 @@ var init_DisplayNameInput = __esm({
4109
4090
  init_LumiaPassportContext();
4110
4091
  init_profile();
4111
4092
  init_auth();
4112
- import_jsx_runtime19 = require("react/jsx-runtime");
4093
+ import_jsx_runtime18 = require("react/jsx-runtime");
4113
4094
  DisplayNameInput = ({ onComplete, onSkip }) => {
4114
4095
  const [displayName, setDisplayName] = (0, import_react7.useState)("");
4115
4096
  const [isLoading, setIsLoading] = (0, import_react7.useState)(false);
@@ -4146,14 +4127,14 @@ var init_DisplayNameInput = __esm({
4146
4127
  onComplete();
4147
4128
  }
4148
4129
  };
4149
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
4150
- /* @__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 }) }) }),
4151
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "What's your name?" }),
4152
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: `text-sm ${theme.bodyText} mb-6`, children: "This helps personalize your experience" }),
4153
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
4154
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "relative", children: [
4155
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react4.User, { className: `absolute left-3 top-3 h-5 w-5 ${theme.iconColor}` }),
4156
- /* @__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)(
4157
4138
  Input,
4158
4139
  {
4159
4140
  type: "text",
@@ -4170,8 +4151,8 @@ var init_DisplayNameInput = __esm({
4170
4151
  }
4171
4152
  )
4172
4153
  ] }),
4173
- error && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: `text-sm ${theme.errorText} text-center`, children: error }),
4174
- /* @__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)(
4175
4156
  Button,
4176
4157
  {
4177
4158
  type: "submit",
@@ -4181,7 +4162,7 @@ var init_DisplayNameInput = __esm({
4181
4162
  children: isLoading ? "Saving..." : "Continue"
4182
4163
  }
4183
4164
  ),
4184
- 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)(
4185
4166
  "button",
4186
4167
  {
4187
4168
  type: "button",
@@ -4210,7 +4191,7 @@ function getPendingLoginResponse() {
4210
4191
  function clearPendingLoginResponse() {
4211
4192
  _pendingLoginResponse = null;
4212
4193
  }
4213
- var import_react8, import_lucide_react5, import_jsx_runtime20, _pendingLoginResponse, AuthModal;
4194
+ var import_react8, import_lucide_react5, import_jsx_runtime19, _pendingLoginResponse, AuthModal;
4214
4195
  var init_AuthModal = __esm({
4215
4196
  "src/internal/components/AuthModal.tsx"() {
4216
4197
  import_react8 = __toESM(require("react"), 1);
@@ -4218,7 +4199,6 @@ var init_AuthModal = __esm({
4218
4199
  init_auth();
4219
4200
  init_ErrorAlert();
4220
4201
  init_LumiaLogo();
4221
- init_SuccessScreen();
4222
4202
  init_FailedScreen();
4223
4203
  init_TermsOfService();
4224
4204
  init_button();
@@ -4233,7 +4213,7 @@ var init_AuthModal = __esm({
4233
4213
  init_lumiaPassport();
4234
4214
  init_projectId();
4235
4215
  init_profile();
4236
- import_jsx_runtime20 = require("react/jsx-runtime");
4216
+ import_jsx_runtime19 = require("react/jsx-runtime");
4237
4217
  _pendingLoginResponse = null;
4238
4218
  AuthModal = ({ open, onOpenChange, onAuthSuccess, autoCloseOnSuccess = true, recoveryUserId, onRecoveryClose, onRecoverySuccess, callbacks }) => {
4239
4219
  const [email, setEmail] = (0, import_react8.useState)("");
@@ -4397,15 +4377,12 @@ var init_AuthModal = __esm({
4397
4377
  }
4398
4378
  throw authError;
4399
4379
  }
4400
- console.log("[AuthModal] Setting success state");
4401
- setStep("success");
4380
+ console.log("[AuthModal] Authentication successful, closing modal");
4402
4381
  if (autoCloseOnSuccess && !needsRecovery) {
4403
- setTimeout(() => {
4404
- onOpenChange(false);
4405
- setStep("signin");
4406
- setEmail("");
4407
- setVerificationError("");
4408
- }, 2e3);
4382
+ setStep("signin");
4383
+ setEmail("");
4384
+ setVerificationError("");
4385
+ onOpenChange(false);
4409
4386
  }
4410
4387
  } catch (error) {
4411
4388
  let errorMessage = "";
@@ -4493,15 +4470,12 @@ var init_AuthModal = __esm({
4493
4470
  if (onAuthSuccess) {
4494
4471
  await onAuthSuccess();
4495
4472
  }
4496
- setStep("success");
4497
- setTimeout(() => {
4498
- onOpenChange(false);
4499
- setStep("signin");
4500
- setEmail("");
4501
- setVerificationError("");
4502
- setPasskeyError("");
4503
- setPasskeyStatus("idle");
4504
- }, 2e3);
4473
+ setStep("signin");
4474
+ setEmail("");
4475
+ setVerificationError("");
4476
+ setPasskeyError("");
4477
+ setPasskeyStatus("idle");
4478
+ onOpenChange(false);
4505
4479
  } else {
4506
4480
  setPasskeyStatus("Passkey registered successfully!");
4507
4481
  setTimeout(() => {
@@ -4579,16 +4553,13 @@ var init_AuthModal = __esm({
4579
4553
  }
4580
4554
  throw authError;
4581
4555
  }
4582
- setStep("success");
4583
4556
  if (autoCloseOnSuccess) {
4584
- setTimeout(() => {
4585
- onOpenChange(false);
4586
- setStep("signin");
4587
- setEmail("");
4588
- setVerificationError("");
4589
- setPasskeyError("");
4590
- setPasskeyStatus("idle");
4591
- }, 2e3);
4557
+ setStep("signin");
4558
+ setEmail("");
4559
+ setVerificationError("");
4560
+ setPasskeyError("");
4561
+ setPasskeyStatus("idle");
4562
+ onOpenChange(false);
4592
4563
  }
4593
4564
  } catch (e) {
4594
4565
  const normalized = normalizeWebAuthnError(e);
@@ -4662,15 +4633,12 @@ var init_AuthModal = __esm({
4662
4633
  if (onAuthSuccess) {
4663
4634
  await onAuthSuccess();
4664
4635
  }
4665
- setStep("success");
4666
- setTimeout(() => {
4667
- onOpenChange(false);
4668
- setStep("signin");
4669
- setEmail("");
4670
- setVerificationError("");
4671
- setPasskeyError("");
4672
- setPasskeyStatus("idle");
4673
- }, 2e3);
4636
+ setStep("signin");
4637
+ setEmail("");
4638
+ setVerificationError("");
4639
+ setPasskeyError("");
4640
+ setPasskeyStatus("idle");
4641
+ onOpenChange(false);
4674
4642
  } catch (sessionError) {
4675
4643
  let errorMessage = "Account setup failed. Please try again.";
4676
4644
  if (sessionError?.code === "NO_BACKUP_AVAILABLE") {
@@ -4700,20 +4668,20 @@ var init_AuthModal = __esm({
4700
4668
  };
4701
4669
  }, [step, onAuthSuccess, onOpenChange]);
4702
4670
  if (recoveryUserId) {
4703
- 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)(
4704
4672
  DialogContent,
4705
4673
  {
4706
4674
  className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
4707
4675
  hideClose: true,
4708
4676
  children: [
4709
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Restore Account Access" }),
4710
- /* @__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 })
4711
4679
  ]
4712
4680
  }
4713
4681
  ) });
4714
4682
  }
4715
4683
  if (step === "display-name") {
4716
- 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)(
4717
4685
  DialogContent,
4718
4686
  {
4719
4687
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4723,8 +4691,8 @@ var init_AuthModal = __esm({
4723
4691
  },
4724
4692
  hideClose: true,
4725
4693
  children: [
4726
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Enter Your Name" }),
4727
- /* @__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)(
4728
4696
  DisplayNameInput,
4729
4697
  {
4730
4698
  onComplete: async () => {
@@ -4757,24 +4725,8 @@ var init_AuthModal = __esm({
4757
4725
  }
4758
4726
  ) });
4759
4727
  }
4760
- if (step === "success") {
4761
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
4762
- DialogContent,
4763
- {
4764
- className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
4765
- style: {
4766
- borderRadius: config.ui.modal?.borderRadius || "24px",
4767
- maxWidth: config.ui.modal?.width || "400px"
4768
- },
4769
- children: [
4770
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Authentication Success" }),
4771
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "p-8", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SuccessScreen, {}) })
4772
- ]
4773
- }
4774
- ) });
4775
- }
4776
4728
  if (step === "failed") {
4777
- 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)(
4778
4730
  DialogContent,
4779
4731
  {
4780
4732
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4783,14 +4735,14 @@ var init_AuthModal = __esm({
4783
4735
  maxWidth: config.ui.modal?.width || "400px"
4784
4736
  },
4785
4737
  children: [
4786
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Authentication Failed" }),
4787
- /* @__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 }) })
4788
4740
  ]
4789
4741
  }
4790
4742
  ) });
4791
4743
  }
4792
4744
  if (step === "verify") {
4793
- 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)(
4794
4746
  DialogContent,
4795
4747
  {
4796
4748
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4799,17 +4751,17 @@ var init_AuthModal = __esm({
4799
4751
  maxWidth: config.ui.modal?.width || "400px"
4800
4752
  },
4801
4753
  children: [
4802
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Email Verification" }),
4803
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-5", children: [
4804
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTopBar, { onBack: goBackToSignIn, className: "-mx-5 -mt-5 mb-1" }),
4805
- /* @__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 }) }) }),
4806
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "Enter verification code" }),
4807
- /* @__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: [
4808
4760
  "We sent a verification code to",
4809
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("br", {}),
4810
- /* @__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 })
4811
4763
  ] }),
4812
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4764
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4813
4765
  VerificationCodeInput,
4814
4766
  {
4815
4767
  onVerifyCode: verifyCode,
@@ -4819,10 +4771,10 @@ var init_AuthModal = __esm({
4819
4771
  error: verificationError
4820
4772
  }
4821
4773
  ),
4822
- 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: [
4823
4775
  "protected by \u26A1",
4824
4776
  " ",
4825
- 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 })
4826
4778
  ] })
4827
4779
  ] })
4828
4780
  ]
@@ -4830,7 +4782,7 @@ var init_AuthModal = __esm({
4830
4782
  ) });
4831
4783
  }
4832
4784
  if (step === "telegram") {
4833
- 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)(
4834
4786
  DialogContent,
4835
4787
  {
4836
4788
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-visible ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -4839,16 +4791,16 @@ var init_AuthModal = __esm({
4839
4791
  maxWidth: config.ui.modal?.width || "400px"
4840
4792
  },
4841
4793
  children: [
4842
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Telegram Authentication" }),
4843
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-8", children: [
4844
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "text-center mb-6", children: [
4845
- /* @__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 }) }) }),
4846
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: "Sign in with Telegram" }),
4847
- /* @__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" })
4848
4800
  ] }),
4849
- /* @__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" }) }),
4850
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.successText} mb-4`, children: "Loading Telegram widget..." }),
4851
- /* @__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)(
4852
4804
  Button,
4853
4805
  {
4854
4806
  variant: "outline",
@@ -4862,24 +4814,24 @@ var init_AuthModal = __esm({
4862
4814
  }
4863
4815
  ) });
4864
4816
  }
4865
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4866
- /* @__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)(
4867
4819
  DialogContent,
4868
4820
  {
4869
4821
  className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden`,
4870
4822
  children: [
4871
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DialogTitle, { className: "sr-only", children: "Sign in to Lumia Passport" }),
4872
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-8", children: [
4873
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "text-center mb-8", children: [
4874
- /* @__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 }) }) }),
4875
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { className: `text-2xl font-bold font-sans ${theme.titleText} mb-2`, children: config.ui.title }),
4876
- 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: [
4877
4829
  "protected by",
4878
4830
  " ",
4879
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { className: "font-semibold", children: [
4831
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "font-semibold", children: [
4880
4832
  "\u26A1",
4881
4833
  " ",
4882
- config.ui.branding.link ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4834
+ config.ui.branding.link ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4883
4835
  "a",
4884
4836
  {
4885
4837
  href: config.ui.branding.link.url,
@@ -4892,7 +4844,7 @@ var init_AuthModal = __esm({
4892
4844
  ] })
4893
4845
  ] })
4894
4846
  ] }),
4895
- /* @__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: [
4896
4848
  (() => {
4897
4849
  const order = config.ui.authOrder || ["passkey", "email", "social"];
4898
4850
  const isPasskey = config.passkey.enabled;
@@ -4903,8 +4855,8 @@ var init_AuthModal = __esm({
4903
4855
  );
4904
4856
  const renderSection = (kind) => {
4905
4857
  if (kind === "passkey") {
4906
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-3", children: [
4907
- /* @__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)(
4908
4860
  Button,
4909
4861
  {
4910
4862
  variant: "plain",
@@ -4912,14 +4864,14 @@ var init_AuthModal = __esm({
4912
4864
  disabled: isLoading,
4913
4865
  className: `w-full h-14 ${theme.primaryBtn} rounded-2xl font-semibold shadow-sm`,
4914
4866
  children: [
4915
- /* @__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" }),
4916
4868
  "Sign in with existing Passkey"
4917
4869
  ]
4918
4870
  }
4919
4871
  ),
4920
- config.passkey.showCreateButton && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `border-t ${theme.divider} pt-3`, children: [
4921
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `text-center text-sm ${theme.bodyText} mb-3`, children: "Don't have a passkey? Create one:" }),
4922
- /* @__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)(
4923
4875
  Button,
4924
4876
  {
4925
4877
  variant: "plain",
@@ -4927,23 +4879,23 @@ var init_AuthModal = __esm({
4927
4879
  disabled: isLoading,
4928
4880
  className: `w-full h-12 ${theme.outlineBtn} rounded-xl font-medium border`,
4929
4881
  children: [
4930
- /* @__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" }),
4931
4883
  "Create Passkey"
4932
4884
  ]
4933
4885
  }
4934
4886
  )
4935
4887
  ] }),
4936
- (passkeyError || passkeyStatus !== "idle") && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "text-center", children: [
4937
- 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 }),
4938
- 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 })
4939
4891
  ] })
4940
4892
  ] }, "passkey");
4941
4893
  }
4942
4894
  if (kind === "email") {
4943
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "space-y-3", children: [
4944
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "relative", children: [
4945
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.Mail, { className: `absolute left-3 top-3 h-5 w-5 ${theme.iconColor}` }),
4946
- /* @__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)(
4947
4899
  Input,
4948
4900
  {
4949
4901
  type: "email",
@@ -4954,7 +4906,7 @@ var init_AuthModal = __esm({
4954
4906
  }
4955
4907
  )
4956
4908
  ] }),
4957
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4909
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4958
4910
  Button,
4959
4911
  {
4960
4912
  variant: "plain",
@@ -4964,10 +4916,10 @@ var init_AuthModal = __esm({
4964
4916
  children: isLoading ? "Sending..." : config.email.buttonText
4965
4917
  }
4966
4918
  ),
4967
- 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 })
4968
4920
  ] }, "email");
4969
4921
  }
4970
- 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) => {
4971
4923
  const fallbackMap = {
4972
4924
  google: GoogleIcon,
4973
4925
  telegram: TelegramIcon,
@@ -4977,7 +4929,7 @@ var init_AuthModal = __esm({
4977
4929
  };
4978
4930
  const IconComponent = provider.icon ?? fallbackMap[(provider.id || "").toLowerCase()];
4979
4931
  const handleClick = provider.id === "telegram" ? handleTelegramAuth : () => handleComingSoon(provider.name);
4980
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4932
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4981
4933
  Button,
4982
4934
  {
4983
4935
  variant: "outline",
@@ -4985,7 +4937,7 @@ var init_AuthModal = __esm({
4985
4937
  onClick: handleClick,
4986
4938
  disabled: isLoading,
4987
4939
  title: provider.comingSoon ? `${provider.name} (Coming Soon)` : provider.name,
4988
- 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 })
4989
4941
  },
4990
4942
  provider.id
4991
4943
  );
@@ -4995,10 +4947,10 @@ var init_AuthModal = __esm({
4995
4947
  enabled.forEach((kind, idx) => {
4996
4948
  if (idx > 0) {
4997
4949
  nodes.push(
4998
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center my-6", children: [
4999
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `flex-1 border-t ${theme.divider}` }),
5000
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `px-3 ${theme.mutedText} text-sm`, children: "Or" }),
5001
- /* @__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}` })
5002
4954
  ] }, `div-${idx}`)
5003
4955
  );
5004
4956
  }
@@ -5006,10 +4958,10 @@ var init_AuthModal = __esm({
5006
4958
  });
5007
4959
  return nodes;
5008
4960
  })(),
5009
- /* @__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: [
5010
4962
  "By signing in, you agree to the",
5011
4963
  " ",
5012
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4964
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
5013
4965
  "button",
5014
4966
  {
5015
4967
  onClick: () => setShowTerms(true),
@@ -5023,8 +4975,8 @@ var init_AuthModal = __esm({
5023
4975
  ]
5024
4976
  }
5025
4977
  ) }),
5026
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(TermsOfService, { open: showTerms, onOpenChange: setShowTerms }),
5027
- /* @__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, {})
5028
4980
  ] });
5029
4981
  };
5030
4982
  }
@@ -5682,7 +5634,7 @@ __export(index_exports, {
5682
5634
  module.exports = __toCommonJS(index_exports);
5683
5635
 
5684
5636
  // src/styles/built.css
5685
- 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-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-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}';
5686
5638
 
5687
5639
  // src/index.ts
5688
5640
  init_LumiaPassportContext();
@@ -6068,7 +6020,7 @@ var WalletConnectHandler = ({
6068
6020
  };
6069
6021
 
6070
6022
  // src/internal/components/ManageWallet.tsx
6071
- var import_jsx_runtime21 = require("react/jsx-runtime");
6023
+ var import_jsx_runtime20 = require("react/jsx-runtime");
6072
6024
  var ManageWallet = ({ open, onOpenChange, onBack }) => {
6073
6025
  const [providers, setProviders] = (0, import_react11.useState)([]);
6074
6026
  const [loading, setLoading] = (0, import_react11.useState)(false);
@@ -6215,8 +6167,8 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6215
6167
  setLinkIsLoading(false);
6216
6168
  }
6217
6169
  };
6218
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
6219
- 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)(
6220
6172
  WalletConnectHandler,
6221
6173
  {
6222
6174
  isLinking: isWalletLinking,
@@ -6249,79 +6201,79 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6249
6201
  onLoadingChange: setLinkIsLoading
6250
6202
  }
6251
6203
  ),
6252
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Dialog, { open, onOpenChange: (newOpen) => {
6204
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Dialog, { open, onOpenChange: (newOpen) => {
6253
6205
  onOpenChange(newOpen);
6254
6206
  if (!newOpen) {
6255
6207
  setIsWalletLinking(false);
6256
6208
  }
6257
6209
  }, children: [
6258
- /* @__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: [
6259
- /* @__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: [
6260
- 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)(
6261
6213
  "button",
6262
6214
  {
6263
6215
  onClick: onBack,
6264
6216
  className: `p-1 mr-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6265
6217
  title: "Back",
6266
- 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" })
6267
6219
  }
6268
6220
  ),
6269
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6270
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { children: "Manage Wallet Authentication" }) }),
6271
- /* @__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" })
6272
6224
  ] })
6273
6225
  ] }) }),
6274
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: `mb-4 ${theme.bodyText}`, children: "Manage your connected authentication methods" }),
6275
- 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: [
6276
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.AlertTriangle, { className: "w-4 h-4 mt-0.5 shrink-0" }),
6277
- /* @__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 })
6278
6230
  ] }),
6279
- loading ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-center justify-center py-8 ${theme.mutedText}`, children: [
6280
- /* @__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" }),
6281
6233
  "Loading authentication providers\u2026"
6282
- ] }) : /* @__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) => {
6283
6235
  const info = getProviderDisplayInfo(p.provider);
6284
6236
  const allowUnlink = canUnlink(p);
6285
- 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: [
6286
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-between", children: [
6287
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-3", children: [
6288
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-lg ${isDark ? "text-gray-400" : "text-gray-600"}`, children: info.icon }),
6289
- /* @__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 })
6290
6242
  ] }),
6291
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6292
- 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" }),
6293
- 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)(
6294
6246
  "button",
6295
6247
  {
6296
6248
  onClick: () => setConfirmUnlink({ provider: p.provider, providerName: info.name, externalId: p.externalId }),
6297
6249
  className: `p-1 ${isDark ? "text-red-400 hover:text-red-300" : "text-red-500 hover:text-red-700"}`,
6298
6250
  title: "Remove provider",
6299
- 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" })
6300
6252
  }
6301
6253
  )
6302
6254
  ] })
6303
6255
  ] }),
6304
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `mt-2 space-y-1 text-xs ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6305
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6306
- /* @__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"}` }),
6307
6259
  "Linked: ",
6308
6260
  formatDate(p.linkedAt)
6309
6261
  ] }),
6310
- p.lastUsedAt && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6311
- /* @__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"}` }),
6312
6264
  "Last used: ",
6313
6265
  formatDate(p.lastUsedAt)
6314
6266
  ] }),
6315
- 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: [
6316
6268
  "ID: ",
6317
6269
  p.externalId
6318
6270
  ] })
6319
6271
  ] })
6320
6272
  ] }, `${p.provider}-${p.externalId}`);
6321
6273
  }) }),
6322
- /* @__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" }) })
6323
6275
  ] }) }),
6324
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { open: showAdd, onOpenChange: (v) => {
6276
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open: showAdd, onOpenChange: (v) => {
6325
6277
  setShowAdd(v);
6326
6278
  if (!v) {
6327
6279
  setProviderType(null);
@@ -6329,9 +6281,9 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6329
6281
  setEmailCode("");
6330
6282
  setEmailCodeSent(false);
6331
6283
  }
6332
- }, 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: [
6333
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
6334
- /* @__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)(
6335
6287
  "button",
6336
6288
  {
6337
6289
  onClick: () => {
@@ -6347,27 +6299,27 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6347
6299
  },
6348
6300
  className: `p-1 mr-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6349
6301
  title: "Back",
6350
- 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" })
6351
6303
  }
6352
6304
  ),
6353
- /* @__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" })
6354
6306
  ] }),
6355
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: `${theme.bodyText} mb-4`, children: "Add a new way to authenticate to your account" }),
6356
- !providerType ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-3 space-y-4", children: [
6357
- config.passkey.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Button, { onClick: () => setProviderType("passkey"), className: "w-full", size: "lg", children: [
6358
- /* @__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" }),
6359
6311
  "Link with Passkey"
6360
6312
  ] }),
6361
- 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" }),
6362
- config.email.enabled && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2", children: [
6363
- /* @__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" : ""}` }),
6364
- /* @__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: () => {
6365
6317
  setProviderType("email");
6366
6318
  handleSendCode();
6367
6319
  }, disabled: !email, className: "w-full", size: "lg", variant: "secondary", children: "Continue" })
6368
6320
  ] }),
6369
- (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" }),
6370
- 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)(
6371
6323
  Button,
6372
6324
  {
6373
6325
  onClick: () => {
@@ -6383,24 +6335,24 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6383
6335
  size: "lg",
6384
6336
  variant: "outline",
6385
6337
  children: [
6386
- /* @__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" }),
6387
6339
  "Connect External Wallet"
6388
6340
  ]
6389
6341
  }
6390
6342
  ),
6391
- 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" }),
6392
- 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) => {
6393
6345
  const map = { google: GoogleIcon, telegram: TelegramIcon, twitter: TwitterIcon, x: TwitterIcon, discord: DiscordIcon };
6394
6346
  const F = sp.icon || map[sp.id.toLowerCase()];
6395
- 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);
6396
6348
  }) })
6397
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-3 space-y-3", children: [
6398
- providerType === "email" && emailCodeSent && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2", children: [
6399
- /* @__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: [
6400
6352
  "Verification code sent to ",
6401
6353
  email
6402
6354
  ] }),
6403
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6355
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6404
6356
  VerificationCodeInput,
6405
6357
  {
6406
6358
  onVerifyCode: handleVerifyCode,
@@ -6411,9 +6363,9 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6411
6363
  }
6412
6364
  )
6413
6365
  ] }),
6414
- providerType === "passkey" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-3", children: [
6415
- /* @__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." }),
6416
- /* @__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)(
6417
6369
  Button,
6418
6370
  {
6419
6371
  onClick: async () => {
@@ -6443,12 +6395,12 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6443
6395
  size: "lg",
6444
6396
  disabled: linkIsLoading,
6445
6397
  children: [
6446
- /* @__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" }),
6447
6399
  linkIsLoading ? "Linking\u2026" : "Create on This Device"
6448
6400
  ]
6449
6401
  }
6450
6402
  ),
6451
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6403
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6452
6404
  Button,
6453
6405
  {
6454
6406
  onClick: async () => {
@@ -6481,13 +6433,13 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6481
6433
  children: "Create on Security Key"
6482
6434
  }
6483
6435
  ),
6484
- 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 })
6485
6437
  ] }),
6486
- providerType === "telegram" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-3", children: [
6487
- /* @__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." }),
6488
- /* @__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" })
6489
6441
  ] }),
6490
- 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: [
6491
6443
  "Linking with ",
6492
6444
  providerType.charAt(0).toUpperCase() + providerType.slice(1),
6493
6445
  " requires OAuth implementation. This would typically redirect to ",
@@ -6496,23 +6448,23 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6496
6448
  ] })
6497
6449
  ] })
6498
6450
  ] }) }) }),
6499
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { open: !!confirmUnlink, onOpenChange: (v) => {
6451
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog, { open: !!confirmUnlink, onOpenChange: (v) => {
6500
6452
  if (!v) {
6501
6453
  setConfirmUnlink(null);
6502
6454
  setConfirmInput("");
6503
6455
  }
6504
- }, 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: [
6505
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { className: `text-lg font-semibold ${theme.titleText}`, children: "Remove Authentication Method" }),
6506
- /* @__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: [
6507
6459
  "This will permanently unlink ",
6508
6460
  confirmUnlink?.providerName,
6509
6461
  " from your account. You may lose access if this is your only verified method."
6510
6462
  ] }),
6511
- /* @__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." }),
6512
- confirmUnlink && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-3", children: [
6513
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs mb-1 ${theme.mutedText}`, children: "Type the provider ID to confirm removal:" }),
6514
- /* @__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 }),
6515
- /* @__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)(
6516
6468
  Input,
6517
6469
  {
6518
6470
  value: confirmInput,
@@ -6522,12 +6474,12 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
6522
6474
  }
6523
6475
  )
6524
6476
  ] }),
6525
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-4 flex justify-end gap-2", children: [
6526
- /* @__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: () => {
6527
6479
  setConfirmUnlink(null);
6528
6480
  setConfirmInput("");
6529
6481
  }, disabled: !!unlinking, children: "Cancel" }),
6530
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6482
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6531
6483
  Button,
6532
6484
  {
6533
6485
  onClick: () => confirmUnlink && handleUnlink(confirmUnlink.provider, confirmUnlink.externalId),
@@ -6552,7 +6504,7 @@ init_vaultClient();
6552
6504
  var import_lucide_react7 = require("lucide-react");
6553
6505
  init_LumiaPassportContext();
6554
6506
  init_useTheme();
6555
- var import_jsx_runtime22 = require("react/jsx-runtime");
6507
+ var import_jsx_runtime21 = require("react/jsx-runtime");
6556
6508
  var SecurityModal = ({ open, onOpenChange, onBack }) => {
6557
6509
  const userId = import_auth3.jwtTokenManager.getUserId();
6558
6510
  const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
@@ -6631,179 +6583,179 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6631
6583
  console.error("[SecurityModal] Error removing trusted app:", error);
6632
6584
  }
6633
6585
  };
6634
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Dialog, { open, onOpenChange, children: [
6635
- /* @__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: [
6636
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Security" }) }),
6637
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Keyshare and vault status" }),
6638
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 space-y-4", children: [
6639
- /* @__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: [
6640
- 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)(
6641
6593
  "button",
6642
6594
  {
6643
6595
  onClick: onBack,
6644
- 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"}`,
6645
6597
  title: "Back",
6646
- 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" })
6647
6599
  }
6648
6600
  ),
6649
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 ${theme.text} font-semibold`, children: [
6650
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Key, { className: "h-4 w-4" }),
6651
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Keyshare Status" }),
6652
- /* @__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" : ""}` }) })
6653
6605
  ] })
6654
6606
  ] }) }),
6655
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-3 gap-4", children: [
6656
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6657
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6658
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Cloud, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6659
- /* @__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" })
6660
6612
  ] }),
6661
- /* @__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: [
6662
- 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" }),
6663
6615
  serverHasKeyshare ? "Ready" : "Missing"
6664
6616
  ] })
6665
6617
  ] }),
6666
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6667
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6668
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Laptop, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6669
- /* @__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" })
6670
6622
  ] }),
6671
- /* @__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: [
6672
- 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" }),
6673
6625
  localInfo?.hasKeyshare ? "Ready" : "Missing"
6674
6626
  ] })
6675
6627
  ] }),
6676
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6677
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6678
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Shield, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6679
- /* @__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" })
6680
6632
  ] }),
6681
- /* @__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: [
6682
- 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" }),
6683
6635
  hasServerBackup ? "Ready" : "None"
6684
6636
  ] })
6685
6637
  ] })
6686
6638
  ] }),
6687
- 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: [
6688
- 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: [
6689
6641
  "Owner: ",
6690
- /* @__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 })
6691
6643
  ] }),
6692
- 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: [
6693
6645
  "Size: ",
6694
- /* @__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: [
6695
6647
  Math.round((localInfo.keyshareSize || 0) / 1024),
6696
6648
  "KB"
6697
6649
  ] })
6698
6650
  ] }),
6699
- localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6651
+ localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6700
6652
  "Session: ",
6701
- /* @__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 })
6702
6654
  ] })
6703
6655
  ] }),
6704
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6705
- backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6706
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6707
- /* @__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: [
6708
6660
  "Server: ",
6709
6661
  new Date(backup.server.lastBackup).toLocaleString()
6710
6662
  ] })
6711
6663
  ] }),
6712
- !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6713
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6714
- /* @__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: [
6715
6667
  "Server: ",
6716
6668
  new Date(recoveryCreatedAt).toLocaleString()
6717
6669
  ] })
6718
6670
  ] }),
6719
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6720
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.Cloud, { className: "h-2.5 w-2.5 text-gray-400" }),
6721
- /* @__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: [
6722
6674
  "Cloud: ",
6723
6675
  new Date(backup.cloud.lastBackup).toLocaleString()
6724
6676
  ] })
6725
6677
  ] }),
6726
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6727
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react7.HardDrive, { className: "h-2.5 w-2.5 text-gray-400" }),
6728
- /* @__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: [
6729
6681
  "Local: ",
6730
6682
  new Date(backup.local.lastBackup).toLocaleString()
6731
6683
  ] })
6732
6684
  ] })
6733
6685
  ] }),
6734
- (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: [
6735
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium text-[11px] ${isDark ? "text-indigo-400" : "text-indigo-600"}`, children: "Device Information:" }),
6736
- 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: [
6737
6689
  "Created: ",
6738
6690
  new Date(recoveryCreatedAt).toLocaleString(),
6739
6691
  " "
6740
6692
  ] }),
6741
- recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6693
+ recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6742
6694
  "Country: ",
6743
6695
  recoveryCountry
6744
6696
  ] }),
6745
- recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6697
+ recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6746
6698
  "Browser: ",
6747
6699
  recoveryBrowser
6748
6700
  ] }),
6749
- parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6701
+ parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6750
6702
  "OS: ",
6751
6703
  parseOS(recoveryUa)
6752
6704
  ] }),
6753
- recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6705
+ recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6754
6706
  "Device: ",
6755
6707
  recoveryDeviceName
6756
6708
  ] }),
6757
- recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6709
+ recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6758
6710
  "Device ID: ",
6759
- /* @__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 })
6760
6712
  ] })
6761
6713
  ] }),
6762
- trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6763
- /* @__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: [
6764
6716
  "Trusted Applications (",
6765
6717
  trustedApps.length,
6766
6718
  "):"
6767
6719
  ] }),
6768
- /* @__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: [
6769
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex-1 min-w-0", children: [
6770
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: new URL(app.origin).hostname }),
6771
- /* @__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: [
6772
6724
  "Trusted: ",
6773
6725
  new Date(app.trustedAt).toLocaleDateString()
6774
6726
  ] })
6775
6727
  ] }),
6776
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6728
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6777
6729
  "button",
6778
6730
  {
6779
6731
  onClick: () => setAppToRemove({ projectId: app.projectId, origin: app.origin, hostname: new URL(app.origin).hostname }),
6780
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"}`,
6781
6733
  title: "Remove from trusted",
6782
- 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" })
6783
6735
  }
6784
6736
  )
6785
6737
  ] }, index)) })
6786
6738
  ] })
6787
6739
  ] })
6788
6740
  ] }),
6789
- 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: [
6790
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Remove Trusted Application" }) }),
6791
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Confirm removal of trusted application" }),
6792
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 space-y-4", children: [
6793
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-center ${theme.text}`, children: [
6794
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
6795
- /* @__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 }) }),
6796
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"} text-left space-y-2`, children: [
6797
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { children: "After removing this application from trusted list:" }),
6798
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("ul", { className: "list-disc list-inside space-y-1 ml-2", children: [
6799
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: "All transactions will require confirmation in a separate window" }),
6800
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: "You can add it back to trusted list at any time" }),
6801
- /* @__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' })
6802
6754
  ] })
6803
6755
  ] })
6804
6756
  ] }),
6805
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex gap-2", children: [
6806
- /* @__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)(
6807
6759
  Button,
6808
6760
  {
6809
6761
  onClick: () => setAppToRemove(null),
@@ -6813,7 +6765,7 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6813
6765
  children: "Cancel"
6814
6766
  }
6815
6767
  ),
6816
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6768
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6817
6769
  Button,
6818
6770
  {
6819
6771
  onClick: confirmRemoveTrustedApp,
@@ -6838,8 +6790,8 @@ init_input();
6838
6790
  init_iframe_manager();
6839
6791
  init_LumiaPassportContext();
6840
6792
  init_useTheme();
6841
- var import_jsx_runtime23 = require("react/jsx-runtime");
6842
- function KeyshareBackup({ userId, onBackupSuccess }) {
6793
+ var import_jsx_runtime22 = require("react/jsx-runtime");
6794
+ function KeyshareBackup({ userId, onBackupSuccess, onBack }) {
6843
6795
  const { config } = useLumiaPassportConfig();
6844
6796
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
6845
6797
  const [backupStatus, setBackupStatus] = React18.useState({
@@ -6982,27 +6934,36 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
6982
6934
  const date = new Date(timestamp);
6983
6935
  return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
6984
6936
  };
6985
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Card, { className: `${theme.modalBg} border-0`, children: [
6986
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CardHeader, { className: "pb-3", children: [
6987
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
6988
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Shield, { className: `h-5 w-5 ${isDark ? "text-green-400" : "text-green-600"}` }),
6989
- /* @__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" })
6990
6951
  ] }),
6991
- /* @__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" })
6992
6953
  ] }),
6993
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CardContent, { className: "space-y-3.5", children: [
6994
- 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: [
6995
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
6996
- /* @__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 })
6997
6958
  ] }),
6998
- 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: [
6999
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.CheckCircle2, { className: "h-3.5 w-3.5 flex-shrink-0" }),
7000
- /* @__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 })
7001
6962
  ] }),
7002
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-2", children: [
7003
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Encryption Method:" }),
7004
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
7005
- /* @__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)(
7006
6967
  "input",
7007
6968
  {
7008
6969
  type: "checkbox",
@@ -7012,42 +6973,45 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7012
6973
  className: "rounded"
7013
6974
  }
7014
6975
  ),
7015
- /* @__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" })
7016
6977
  ] }),
7017
- !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: [
7018
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Key, { className: "h-3.5 w-3.5 text-blue-500" }),
7019
- /* @__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" })
7020
6981
  ] }) }),
7021
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative", children: [
7022
- /* @__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)(
7023
6984
  Input,
7024
6985
  {
7025
6986
  type: showPassword ? "text" : "password",
7026
6987
  placeholder: "Enter backup password",
7027
6988
  value: customPassword,
7028
6989
  onChange: (e) => setCustomPassword(e.target.value),
7029
- 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
+ }
7030
6994
  }
7031
6995
  ),
7032
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6996
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7033
6997
  "button",
7034
6998
  {
7035
6999
  type: "button",
7036
7000
  onClick: () => setShowPassword(!showPassword),
7037
- 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"}`,
7038
- 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" })
7039
7003
  }
7040
7004
  )
7041
7005
  ] })
7042
7006
  ] }),
7043
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-2.5", children: [
7044
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-xs font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Backup Method:" }),
7045
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `p-3 rounded ${isDark ? "bg-blue-500/10" : "bg-blue-50/50"}`, children: [
7046
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7047
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Server, { className: `h-4 w-4 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
7048
- /* @__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" })
7049
7013
  ] }),
7050
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7014
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7051
7015
  Button,
7052
7016
  {
7053
7017
  onClick: () => handleBackup("server"),
@@ -7057,22 +7021,22 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7057
7021
  }
7058
7022
  )
7059
7023
  ] }),
7060
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
7061
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `p-3 rounded flex flex-col ${isDark ? "bg-sky-500/10" : "bg-sky-50/50"}`, children: [
7062
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7063
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Cloud, { className: `h-4 w-4 ${isDark ? "text-sky-400" : "text-sky-600"}` }),
7064
- /* @__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" })
7065
7029
  ] }),
7066
- cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7030
+ cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7067
7031
  "select",
7068
7032
  {
7069
7033
  value: selectedCloudProvider || "",
7070
7034
  onChange: (e) => setSelectedCloudProvider(e.target.value),
7071
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"}`,
7072
- 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))
7073
7037
  }
7074
7038
  ),
7075
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7039
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7076
7040
  Button,
7077
7041
  {
7078
7042
  onClick: () => handleBackup("cloud"),
@@ -7083,13 +7047,13 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7083
7047
  }
7084
7048
  )
7085
7049
  ] }),
7086
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `p-3 rounded flex flex-col ${isDark ? "bg-purple-500/10" : "bg-purple-50/50"}`, children: [
7087
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7088
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react8.Download, { className: `h-4 w-4 ${isDark ? "text-purple-400" : "text-purple-600"}` }),
7089
- /* @__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" })
7090
7054
  ] }),
7091
- cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "h-[32px]" }),
7092
- /* @__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)(
7093
7057
  Button,
7094
7058
  {
7095
7059
  onClick: () => handleBackup("local"),
@@ -7102,10 +7066,10 @@ function KeyshareBackup({ userId, onBackupSuccess }) {
7102
7066
  ] })
7103
7067
  ] })
7104
7068
  ] }),
7105
- /* @__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: [
7106
- /* @__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" }),
7107
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7108
- /* @__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:" }),
7109
7073
  " All backups are encrypted with AES-256 using your ",
7110
7074
  useCustomPassword ? "custom password" : "passkey",
7111
7075
  ".",
@@ -7124,7 +7088,7 @@ var import_lucide_react9 = require("lucide-react");
7124
7088
  init_base();
7125
7089
  init_LumiaPassportContext();
7126
7090
  init_useTheme();
7127
- var import_jsx_runtime24 = require("react/jsx-runtime");
7091
+ var import_jsx_runtime23 = require("react/jsx-runtime");
7128
7092
  var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7129
7093
  const { address } = useLumiaSession();
7130
7094
  const [transactions, setTransactions] = import_react13.default.useState([]);
@@ -7174,98 +7138,98 @@ var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7174
7138
  }
7175
7139
  };
7176
7140
  const getStatusIcon = (status) => {
7177
- 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" });
7178
7142
  };
7179
7143
  const getTransactionIcon = (from, to) => {
7180
7144
  const isIncoming = to.toLowerCase() === address?.toLowerCase();
7181
- 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" });
7182
7146
  };
7183
7147
  const openInExplorer = (txHash) => {
7184
7148
  const explorerUrl = getExplorerUrl();
7185
7149
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
7186
7150
  };
7187
- 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: [
7188
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTitle, { children: "Transaction History" }) }),
7189
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogDescription, { className: "sr-only", children: "View your transaction history" }),
7190
- /* @__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: [
7191
- 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)(
7192
7156
  "button",
7193
7157
  {
7194
7158
  onClick: onBack,
7195
7159
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
7196
7160
  title: "Back",
7197
- 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" })
7198
7162
  }
7199
7163
  ),
7200
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7201
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.Activity, { className: "h-5 w-5" }),
7202
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { children: "Transaction History" }),
7203
- /* @__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)(
7204
7168
  "button",
7205
7169
  {
7206
7170
  onClick: loadTransactions,
7207
7171
  disabled: loading,
7208
7172
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1`,
7209
7173
  title: "Refresh transactions",
7210
- 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" : ""}` })
7211
7175
  }
7212
7176
  )
7213
7177
  ] })
7214
7178
  ] }) }),
7215
- /* @__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: [
7216
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.XCircle, { className: "w-12 h-12 mb-2" }),
7217
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-center text-sm", children: error })
7218
- ] }) : transactions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7219
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react9.Activity, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7220
- /* @__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: [
7221
7185
  "No transactions found",
7222
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("br", {}),
7223
- /* @__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" })
7224
7188
  ] })
7225
- ] }) : /* @__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) => {
7226
7190
  const isIncoming = tx.to.hash.toLowerCase() === address?.toLowerCase();
7227
7191
  const displayAddress = isIncoming ? tx.from.hash : tx.to.hash;
7228
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
7192
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
7229
7193
  "div",
7230
7194
  {
7231
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`,
7232
7196
  onClick: () => openInExplorer(tx.hash),
7233
7197
  children: [
7234
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7235
- /* @__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: [
7236
7200
  getTransactionIcon(tx.from.hash, tx.to.hash),
7237
- /* @__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" }),
7238
7202
  getStatusIcon(tx.status)
7239
7203
  ] }),
7240
- /* @__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) })
7241
7205
  ] }),
7242
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "space-y-1 text-sm", children: [
7243
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7244
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: isIncoming ? "From:" : "To:" }),
7245
- /* @__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: [
7246
7210
  formatAddress(displayAddress),
7247
- (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)" })
7248
7212
  ] })
7249
7213
  ] }),
7250
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7251
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Value:" }),
7252
- /* @__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: [
7253
7217
  formatValue(tx.value),
7254
7218
  " LUMIA"
7255
7219
  ] })
7256
7220
  ] }),
7257
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7258
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Block:" }),
7259
- /* @__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: [
7260
7224
  "#",
7261
7225
  tx.block_number
7262
7226
  ] })
7263
7227
  ] }),
7264
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7265
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Method:" }),
7266
- /* @__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 })
7267
7231
  ] }),
7268
- 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)(
7269
7233
  "span",
7270
7234
  {
7271
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`,
@@ -7279,7 +7243,7 @@ var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7279
7243
  tx.hash
7280
7244
  );
7281
7245
  }) }) }),
7282
- 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: [
7283
7247
  "Total: ",
7284
7248
  transactions.length,
7285
7249
  " transaction",
@@ -7458,7 +7422,7 @@ var import_lucide_react10 = require("lucide-react");
7458
7422
  init_base();
7459
7423
  init_LumiaPassportContext();
7460
7424
  init_useTheme();
7461
- var import_jsx_runtime25 = require("react/jsx-runtime");
7425
+ var import_jsx_runtime24 = require("react/jsx-runtime");
7462
7426
  var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7463
7427
  const { address } = useLumiaSession();
7464
7428
  const { assets, refreshBalances, isLoading } = useAssets(address);
@@ -7477,107 +7441,107 @@ var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7477
7441
  const openInExplorer = (address2) => {
7478
7442
  window.open(`${LUMIA_EXPLORER_URL}/address/${address2}`, "_blank");
7479
7443
  };
7480
- 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: [
7481
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DialogTitle, { children: "View Assets" }) }),
7482
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DialogDescription, { className: "sr-only", children: "View your token balances and assets" }),
7483
- /* @__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: [
7484
- 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)(
7485
7449
  "button",
7486
7450
  {
7487
7451
  onClick: onBack,
7488
7452
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
7489
7453
  title: "Back",
7490
- 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" })
7491
7455
  }
7492
7456
  ),
7493
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7494
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.Gem, { className: "h-5 w-5" }),
7495
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: "Your Assets" }),
7496
- /* @__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)(
7497
7461
  "button",
7498
7462
  {
7499
7463
  onClick: refreshBalances,
7500
7464
  disabled: isLoading,
7501
7465
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1`,
7502
7466
  title: "Refresh balances",
7503
- 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" : ""}` })
7504
7468
  }
7505
7469
  )
7506
7470
  ] })
7507
7471
  ] }) }),
7508
- /* @__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: [
7509
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react10.Gem, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7510
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { children: "No assets found" })
7511
- ] }) : /* @__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: [
7512
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7513
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-3", children: [
7514
- /* @__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) }) }),
7515
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
7516
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `font-medium ${theme.titleText}`, children: asset.name }),
7517
- /* @__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 })
7518
7482
  ] })
7519
7483
  ] }),
7520
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "text-right", children: [
7521
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `font-mono ${theme.titleText}`, children: asset.formattedBalance }),
7522
- /* @__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 })
7523
7487
  ] })
7524
7488
  ] }),
7525
- asset.address && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `space-y-2 mt-3 pt-3 border-t ${theme.divider}`, children: [
7526
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7527
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Contract Address:" }),
7528
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7529
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
7530
- /* @__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)(
7531
7495
  "button",
7532
7496
  {
7533
7497
  onClick: () => handleCopy(asset.address, "address"),
7534
7498
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7535
7499
  title: "Copy address",
7536
- 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" })
7537
7501
  }
7538
7502
  ),
7539
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7503
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7540
7504
  "button",
7541
7505
  {
7542
7506
  onClick: () => openInExplorer(asset.address),
7543
7507
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7544
7508
  title: "View in explorer",
7545
- 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" })
7546
7510
  }
7547
7511
  )
7548
7512
  ] })
7549
7513
  ] }),
7550
- asset.decimals && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7551
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Decimals:" }),
7552
- /* @__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 })
7553
7517
  ] })
7554
7518
  ] }),
7555
- 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: [
7556
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Your Address:" }),
7557
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7558
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
7559
- /* @__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)(
7560
7524
  "button",
7561
7525
  {
7562
7526
  onClick: () => handleCopy(address, "wallet"),
7563
7527
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7564
7528
  title: "Copy wallet address",
7565
- 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" })
7566
7530
  }
7567
7531
  ),
7568
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7532
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7569
7533
  "button",
7570
7534
  {
7571
7535
  onClick: () => openInExplorer(address),
7572
7536
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7573
7537
  title: "View in explorer",
7574
- 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" })
7575
7539
  }
7576
7540
  )
7577
7541
  ] })
7578
7542
  ] }) })
7579
7543
  ] }, `${asset.type}-${asset.address || "native"}-${index}`)) }) }),
7580
- 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: [
7581
7545
  "Total: ",
7582
7546
  assets.length,
7583
7547
  " asset",
@@ -7672,7 +7636,7 @@ function cn2(...inputs) {
7672
7636
  }
7673
7637
 
7674
7638
  // src/internal/components/ui/badge.tsx
7675
- var import_jsx_runtime26 = require("react/jsx-runtime");
7639
+ var import_jsx_runtime25 = require("react/jsx-runtime");
7676
7640
  var badgeVariants = (0, import_class_variance_authority2.cva)(
7677
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",
7678
7642
  {
@@ -7692,14 +7656,14 @@ var badgeVariants = (0, import_class_variance_authority2.cva)(
7692
7656
  }
7693
7657
  );
7694
7658
  function Badge({ className, variant, ...props }) {
7695
- 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 });
7696
7660
  }
7697
7661
 
7698
7662
  // src/internal/components/Address.tsx
7699
7663
  var React22 = __toESM(require("react"), 1);
7700
7664
  var import_lucide_react11 = require("lucide-react");
7701
7665
  init_button();
7702
- var import_jsx_runtime27 = require("react/jsx-runtime");
7666
+ var import_jsx_runtime26 = require("react/jsx-runtime");
7703
7667
  function toExplorerAddressUrl(address, chain) {
7704
7668
  const base2 = chain?.blockExplorers?.default?.url;
7705
7669
  if (!base2) return null;
@@ -7721,11 +7685,11 @@ var Address = ({
7721
7685
  const addr = address || "";
7722
7686
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
7723
7687
  const [copied, setCopied] = React22.useState(false);
7724
- if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
7725
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
7726
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium", children: label }),
7727
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
7728
- 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)(
7729
7693
  Button,
7730
7694
  {
7731
7695
  variant: "ghost",
@@ -7739,10 +7703,10 @@ var Address = ({
7739
7703
  } catch {
7740
7704
  }
7741
7705
  },
7742
- 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" })
7743
7707
  }
7744
7708
  ),
7745
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7709
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
7746
7710
  "a",
7747
7711
  {
7748
7712
  href: explorer,
@@ -7750,7 +7714,7 @@ var Address = ({
7750
7714
  rel: "noreferrer noopener",
7751
7715
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
7752
7716
  title: "Open in explorer",
7753
- 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" })
7754
7718
  }
7755
7719
  )
7756
7720
  ] });
@@ -7758,7 +7722,7 @@ var Address = ({
7758
7722
 
7759
7723
  // src/internal/components/UserOpStatus.tsx
7760
7724
  init_base();
7761
- var import_jsx_runtime28 = require("react/jsx-runtime");
7725
+ var import_jsx_runtime27 = require("react/jsx-runtime");
7762
7726
  var UserOpStatus = ({
7763
7727
  userOpHash,
7764
7728
  chain,
@@ -7891,54 +7855,54 @@ var UserOpStatus = ({
7891
7855
  const stateBadge = () => {
7892
7856
  if (receipt) {
7893
7857
  const ok = !!receipt.success;
7894
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
7895
- 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" }),
7896
7860
  ok ? "Included" : "Failed"
7897
7861
  ] });
7898
7862
  }
7899
7863
  if (rejected) {
7900
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
7901
- /* @__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" }),
7902
7866
  " Rejected by bundler"
7903
7867
  ] });
7904
7868
  }
7905
7869
  if (timedOut) {
7906
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
7907
- /* @__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" }),
7908
7872
  " Timeout - may be rejected"
7909
7873
  ] });
7910
7874
  }
7911
7875
  if (mempool) {
7912
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
7913
- /* @__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" }),
7914
7878
  " Pending in bundler"
7915
7879
  ] });
7916
7880
  }
7917
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
7918
- /* @__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" }),
7919
7883
  " Waiting"
7920
7884
  ] });
7921
7885
  };
7922
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
7886
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
7923
7887
  "div",
7924
7888
  {
7925
7889
  className: cn2("lumia-scope bg-card text-card-foreground p-0 rounded-xl border border-border w-full max-w-[680px]", className),
7926
7890
  style: { textAlign: "left", listStyle: "none" },
7927
7891
  children: [
7928
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
7929
- /* @__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: [
7930
7894
  stateBadge(),
7931
- /* @__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." })
7932
7896
  ] }),
7933
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
7934
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react12.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
7935
- /* @__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" })
7936
7900
  ] })
7937
7901
  ] }),
7938
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7939
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
7940
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
7941
- /* @__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)(
7942
7906
  Button,
7943
7907
  {
7944
7908
  variant: "ghost",
@@ -7950,14 +7914,14 @@ var UserOpStatus = ({
7950
7914
  } catch {
7951
7915
  }
7952
7916
  },
7953
- 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" })
7954
7918
  }
7955
7919
  )
7956
7920
  ] }),
7957
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
7958
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
7959
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
7960
- /* @__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)(
7961
7925
  Button,
7962
7926
  {
7963
7927
  variant: "ghost",
@@ -7969,10 +7933,10 @@ var UserOpStatus = ({
7969
7933
  } catch {
7970
7934
  }
7971
7935
  },
7972
- 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" })
7973
7937
  }
7974
7938
  ),
7975
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7939
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7976
7940
  "a",
7977
7941
  {
7978
7942
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -7980,11 +7944,11 @@ var UserOpStatus = ({
7980
7944
  rel: "noreferrer noopener",
7981
7945
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
7982
7946
  title: "Open in explorer",
7983
- 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" })
7984
7948
  }
7985
7949
  )
7986
7950
  ] }),
7987
- 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: [
7988
7952
  "Block ",
7989
7953
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
7990
7954
  " \u2022 Gas Used",
@@ -7993,32 +7957,32 @@ var UserOpStatus = ({
7993
7957
  " \u2022 Success ",
7994
7958
  String(!!receipt.success)
7995
7959
  ] }),
7996
- /* @__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: [
7997
7961
  "\u2022 Polling for ",
7998
7962
  Math.round((Date.now() - startTimeRef.current) / 1e3),
7999
7963
  "s"
8000
7964
  ] }) }),
8001
- mempool && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
8002
- /* @__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: [
8003
7967
  "Seen by bundler at ",
8004
- /* @__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 })
8005
7969
  ] }),
8006
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7970
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
8007
7971
  "sender ",
8008
- /* @__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 })
8009
7973
  ] })
8010
7974
  ] }),
8011
- error && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
8012
- /* @__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" }),
8013
7977
  " ",
8014
7978
  error
8015
7979
  ] }),
8016
- rejected && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
8017
- /* @__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" }),
8018
7982
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
8019
7983
  ] }),
8020
- timedOut && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
8021
- /* @__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" }),
8022
7986
  "Stopped polling after ",
8023
7987
  Math.round(maxPollTimeMs / 1e3),
8024
7988
  "s. UserOperation may have been rejected by the bundler."
@@ -8032,7 +7996,7 @@ var UserOpStatus = ({
8032
7996
  init_base();
8033
7997
  init_LumiaPassportContext();
8034
7998
  init_useTheme();
8035
- var import_jsx_runtime29 = require("react/jsx-runtime");
7999
+ var import_jsx_runtime28 = require("react/jsx-runtime");
8036
8000
  var SendModal = ({
8037
8001
  open,
8038
8002
  onOpenChange,
@@ -8115,7 +8079,7 @@ var SendModal = ({
8115
8079
  const maxAmount = Math.max(0, balance - 1e-3);
8116
8080
  setAmount(maxAmount.toFixed(6));
8117
8081
  };
8118
- 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)(
8119
8083
  DialogContent,
8120
8084
  {
8121
8085
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8127,28 +8091,28 @@ var SendModal = ({
8127
8091
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8128
8092
  },
8129
8093
  children: [
8130
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogTitle, { children: "Send Transaction" }) }),
8131
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogDescription, { className: "sr-only", children: "Send LUMIA tokens to another address" }),
8132
- /* @__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: [
8133
- 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)(
8134
8098
  "button",
8135
8099
  {
8136
8100
  onClick: onBack,
8137
8101
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8138
8102
  title: "Back",
8139
- 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" })
8140
8104
  }
8141
8105
  ),
8142
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8143
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.Send, { className: "h-5 w-5" }),
8144
- /* @__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" })
8145
8109
  ] })
8146
8110
  ] }) }),
8147
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "p-5", children: [
8148
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8149
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8150
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Recipient Address" }),
8151
- /* @__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)(
8152
8116
  "input",
8153
8117
  {
8154
8118
  type: "text",
@@ -8159,17 +8123,17 @@ var SendModal = ({
8159
8123
  }
8160
8124
  )
8161
8125
  ] }),
8162
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8163
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
8164
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `text-sm font-medium ${theme.bodyText}`, children: "Amount" }),
8165
- /* @__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: [
8166
8130
  "Balance: ",
8167
8131
  balance.toFixed(4),
8168
8132
  " LUMIA"
8169
8133
  ] })
8170
8134
  ] }),
8171
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "relative", children: [
8172
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8135
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "relative", children: [
8136
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8173
8137
  "input",
8174
8138
  {
8175
8139
  type: "number",
@@ -8180,7 +8144,7 @@ var SendModal = ({
8180
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`
8181
8145
  }
8182
8146
  ),
8183
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8147
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8184
8148
  "button",
8185
8149
  {
8186
8150
  onClick: handleMaxAmount,
@@ -8190,11 +8154,11 @@ var SendModal = ({
8190
8154
  )
8191
8155
  ] })
8192
8156
  ] }),
8193
- (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: [
8194
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
8195
- /* @__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 })
8196
8160
  ] }),
8197
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8161
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8198
8162
  Button,
8199
8163
  {
8200
8164
  onClick: handleSend,
@@ -8205,29 +8169,29 @@ var SendModal = ({
8205
8169
  }
8206
8170
  )
8207
8171
  ] }),
8208
- txStep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8209
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8210
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h3", { className: `font-medium ${theme.titleText} mb-3`, children: "Transaction Details" }),
8211
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-2 text-sm", children: [
8212
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8213
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "To:" }),
8214
- /* @__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)}` })
8215
8179
  ] }),
8216
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8217
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "Amount:" }),
8218
- /* @__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: [
8219
8183
  amount,
8220
8184
  " LUMIA"
8221
8185
  ] })
8222
8186
  ] }),
8223
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8224
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "Network:" }),
8225
- /* @__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" })
8226
8190
  ] })
8227
8191
  ] })
8228
8192
  ] }),
8229
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex gap-2", children: [
8230
- /* @__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)(
8231
8195
  Button,
8232
8196
  {
8233
8197
  onClick: () => setTxStep("input"),
@@ -8237,7 +8201,7 @@ var SendModal = ({
8237
8201
  children: "Back"
8238
8202
  }
8239
8203
  ),
8240
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
8204
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8241
8205
  Button,
8242
8206
  {
8243
8207
  onClick: handleConfirm,
@@ -8245,28 +8209,28 @@ var SendModal = ({
8245
8209
  className: "flex-1",
8246
8210
  size: "lg",
8247
8211
  children: [
8248
- 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" }),
8249
8213
  "Confirm"
8250
8214
  ]
8251
8215
  }
8252
8216
  )
8253
8217
  ] })
8254
8218
  ] }),
8255
- txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
8256
- /* @__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` }),
8257
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8258
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Pending" }),
8259
- /* @__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" })
8260
8224
  ] })
8261
8225
  ] }),
8262
- txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8263
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "text-center py-4", children: [
8264
- /* @__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` }),
8265
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Sent!" }),
8266
- /* @__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" })
8267
8231
  ] }),
8268
- /* @__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 }) }),
8269
- /* @__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)(
8270
8234
  Button,
8271
8235
  {
8272
8236
  onClick: handleClose,
@@ -8290,7 +8254,7 @@ var import_lucide_react14 = require("lucide-react");
8290
8254
  var import_qrcode = __toESM(require("qrcode"), 1);
8291
8255
  init_LumiaPassportContext();
8292
8256
  init_useTheme();
8293
- var import_jsx_runtime30 = require("react/jsx-runtime");
8257
+ var import_jsx_runtime29 = require("react/jsx-runtime");
8294
8258
  var ReceiveModal = ({
8295
8259
  open,
8296
8260
  onOpenChange,
@@ -8331,7 +8295,7 @@ var ReceiveModal = ({
8331
8295
  if (!addr) return "";
8332
8296
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
8333
8297
  };
8334
- 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)(
8335
8299
  DialogContent,
8336
8300
  {
8337
8301
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8343,51 +8307,51 @@ var ReceiveModal = ({
8343
8307
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8344
8308
  },
8345
8309
  children: [
8346
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogTitle, { children: "Receive LUMIA" }) }),
8347
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogDescription, { className: "sr-only", children: "Your wallet address and QR code for receiving LUMIA" }),
8348
- /* @__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: [
8349
- 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)(
8350
8314
  "button",
8351
8315
  {
8352
8316
  onClick: onBack,
8353
8317
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8354
8318
  title: "Back",
8355
- 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" })
8356
8320
  }
8357
8321
  ),
8358
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8359
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.QrCode, { className: "h-5 w-5" }),
8360
- /* @__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" })
8361
8325
  ] })
8362
8326
  ] }) }),
8363
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "p-5 space-y-4", children: [
8364
- 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" }) }) }),
8365
- /* @__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: [
8366
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "font-medium", children: "Network: Lumia Beam" }),
8367
- /* @__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" })
8368
8332
  ] }) }) }),
8369
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8370
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Your Wallet Address" }),
8371
- /* @__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 }) }),
8372
- /* @__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)(
8373
8337
  Button,
8374
8338
  {
8375
8339
  onClick: handleCopy,
8376
8340
  className: "w-full mt-3",
8377
8341
  size: "lg",
8378
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
8379
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.CheckCircle2, { className: "h-4 w-4" }),
8380
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Copied!" })
8381
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
8382
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react14.Copy, { className: "h-4 w-4" }),
8383
- /* @__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" })
8384
8348
  ] })
8385
8349
  }
8386
8350
  )
8387
8351
  ] }),
8388
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
8389
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { children: "Share this address to receive LUMIA tokens." }),
8390
- /* @__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." })
8391
8355
  ] })
8392
8356
  ] })
8393
8357
  ]
@@ -8401,11 +8365,11 @@ init_button();
8401
8365
  var import_lucide_react15 = require("lucide-react");
8402
8366
  init_LumiaPassportContext();
8403
8367
  init_useTheme();
8404
- var import_jsx_runtime31 = require("react/jsx-runtime");
8368
+ var import_jsx_runtime30 = require("react/jsx-runtime");
8405
8369
  var BuyModal = ({ open, onOpenChange, onBack }) => {
8406
8370
  const { config } = useLumiaPassportConfig();
8407
8371
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8408
- 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)(
8409
8373
  DialogContent,
8410
8374
  {
8411
8375
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8417,26 +8381,26 @@ var BuyModal = ({ open, onOpenChange, onBack }) => {
8417
8381
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8418
8382
  },
8419
8383
  children: [
8420
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogTitle, { children: "Buy Crypto" }) }),
8421
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogDescription, { className: "sr-only", children: "On-ramp placeholder" }),
8422
- /* @__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: [
8423
- 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)(
8424
8388
  "button",
8425
8389
  {
8426
8390
  onClick: onBack,
8427
8391
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8428
8392
  title: "Back",
8429
- 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" })
8430
8394
  }
8431
8395
  ),
8432
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8433
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react15.CreditCard, { className: "h-5 w-5" }),
8434
- /* @__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" })
8435
8399
  ] })
8436
8400
  ] }) }),
8437
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "p-5", children: [
8438
- /* @__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" }) }),
8439
- /* @__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" }) })
8440
8404
  ] })
8441
8405
  ]
8442
8406
  }
@@ -8449,13 +8413,13 @@ init_button();
8449
8413
  var import_lucide_react16 = require("lucide-react");
8450
8414
  init_LumiaPassportContext();
8451
8415
  init_useTheme();
8452
- var import_jsx_runtime32 = require("react/jsx-runtime");
8416
+ var import_jsx_runtime31 = require("react/jsx-runtime");
8453
8417
  var KycModal = ({ open, onOpenChange, onBack }) => {
8454
8418
  const { config } = useLumiaPassportConfig();
8455
8419
  const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8456
8420
  const provider = config.kyc?.provider;
8457
8421
  const options = config.kyc?.options || {};
8458
- 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)(
8459
8423
  DialogContent,
8460
8424
  {
8461
8425
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8467,32 +8431,32 @@ var KycModal = ({ open, onOpenChange, onBack }) => {
8467
8431
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8468
8432
  },
8469
8433
  children: [
8470
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "KYC" }) }),
8471
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { className: "sr-only", children: "KYC placeholder" }),
8472
- /* @__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: [
8473
- 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)(
8474
8438
  "button",
8475
8439
  {
8476
8440
  onClick: onBack,
8477
8441
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8478
8442
  title: "Back",
8479
- 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" })
8480
8444
  }
8481
8445
  ),
8482
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8483
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react16.ShieldCheck, { className: "h-5 w-5" }),
8484
- /* @__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" })
8485
8449
  ] })
8486
8450
  ] }) }),
8487
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "p-5", children: [
8488
- provider ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `rounded-xl p-4 ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: [
8489
- /* @__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: [
8490
8454
  "KYC provider: ",
8491
- /* @__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 })
8492
8456
  ] }),
8493
- 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." })
8494
- ] }) : /* @__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" }) }),
8495
- /* @__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" }) })
8496
8460
  ] })
8497
8461
  ]
8498
8462
  }
@@ -8552,7 +8516,7 @@ function useLumiaPassportLinkedProfiles() {
8552
8516
  // package.json
8553
8517
  var package_default = {
8554
8518
  name: "@lumiapassport/ui-kit",
8555
- version: "1.5.0",
8519
+ version: "1.5.2",
8556
8520
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
8557
8521
  type: "module",
8558
8522
  main: "./dist/index.cjs",
@@ -8642,7 +8606,7 @@ var package_default = {
8642
8606
  };
8643
8607
 
8644
8608
  // src/components/ConnectWalletButton.tsx
8645
- var import_jsx_runtime33 = require("react/jsx-runtime");
8609
+ var import_jsx_runtime32 = require("react/jsx-runtime");
8646
8610
  var ConnectWalletButton = ({
8647
8611
  className,
8648
8612
  label = "Connect Wallet",
@@ -8694,6 +8658,9 @@ var ConnectWalletButton = ({
8694
8658
  const [isKycOpen, setIsKycOpen] = import_react19.default.useState(false);
8695
8659
  import_react19.default.useEffect(() => {
8696
8660
  if (!callbacks?.onWalletReady) return;
8661
+ if (!config.projectId) {
8662
+ return;
8663
+ }
8697
8664
  (async () => {
8698
8665
  try {
8699
8666
  const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
@@ -8703,7 +8670,7 @@ var ConnectWalletButton = ({
8703
8670
  console.warn("[UI-KIT] Failed to register onWalletReady callback:", e);
8704
8671
  }
8705
8672
  })();
8706
- }, [callbacks?.onWalletReady]);
8673
+ }, [callbacks?.onWalletReady, config.projectId]);
8707
8674
  import_react19.default.useEffect(() => {
8708
8675
  try {
8709
8676
  const shouldAutoOpen = authOpen ?? config?.ui?.authOpen;
@@ -8759,6 +8726,9 @@ var ConnectWalletButton = ({
8759
8726
  const userId = loginResponse.userId;
8760
8727
  const hasServerKeyshare = loginResponse.hasKeyshare ?? false;
8761
8728
  try {
8729
+ if (!config.projectId) {
8730
+ throw new Error("projectId is not configured. Cannot authenticate with iframe.");
8731
+ }
8762
8732
  const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8763
8733
  const iframeManager = getIframeManager2();
8764
8734
  await iframeManager.authenticate(userId);
@@ -8897,6 +8867,9 @@ var ConnectWalletButton = ({
8897
8867
  if (autoConnectAttemptedRef.current) return;
8898
8868
  const tryAutoConnect = async (attempt) => {
8899
8869
  if (address || session) return;
8870
+ if (!config.projectId) {
8871
+ return;
8872
+ }
8900
8873
  try {
8901
8874
  const { waitForIframe: waitForIframe2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8902
8875
  await waitForIframe2();
@@ -8936,12 +8909,14 @@ var ConnectWalletButton = ({
8936
8909
  callbacks?.onLumiaPassportAccount?.({ userId, address: addr, session: sess, hasKeyshare: finalHasKeyshare });
8937
8910
  } catch {
8938
8911
  }
8939
- try {
8940
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
8941
- const iframeManager = getIframeManager2();
8942
- await iframeManager.authenticate(userId);
8943
- } catch (e) {
8944
- 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
+ }
8945
8920
  }
8946
8921
  try {
8947
8922
  const { checkServerBackupAvailability: checkServerBackupAvailability2, updateBackupStatus: updateBackupStatus2, getShareRecoveryStats: getShareRecoveryStats2 } = await Promise.resolve().then(() => (init_vaultClient(), vaultClient_exports));
@@ -8979,8 +8954,8 @@ var ConnectWalletButton = ({
8979
8954
  refetchBalance();
8980
8955
  }
8981
8956
  }, [address]);
8982
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: [className, "lumia-scope"].filter(Boolean).join(" "), children: [
8983
- /* @__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)(
8984
8959
  "button",
8985
8960
  {
8986
8961
  onClick: () => {
@@ -9015,7 +8990,7 @@ var ConnectWalletButton = ({
9015
8990
  },
9016
8991
  children: label || "Connect"
9017
8992
  }
9018
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8993
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9019
8994
  "div",
9020
8995
  {
9021
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`,
@@ -9026,51 +9001,51 @@ var ConnectWalletButton = ({
9026
9001
  borderColor: config.ui.colors?.[isDark ? "dark" : "light"]?.connectedButtonBorder || (isDark ? "#374151" : "#e5e7eb")
9027
9002
  },
9028
9003
  onClick: () => setIsWalletMenuOpen(true),
9029
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-3", children: [
9030
- /* @__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 ? (
9031
9006
  // eslint-disable-next-line @next/next/no-img-element
9032
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9033
- ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white font-bold text-sm", children: "LP" }) }),
9034
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "text-left flex-1 min-w-0", children: [
9035
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `font-semibold text-base truncate ${theme.titleText}`, children: mode === "compact" && displayName ? displayName : formatAddress(address) }),
9036
- /* @__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: [
9037
9012
  formatBalance(),
9038
9013
  " LUMIA"
9039
9014
  ] })
9040
9015
  ] }),
9041
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-1", children: [
9042
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
9043
- /* @__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)(
9044
9019
  import_lucide_react17.Cloud,
9045
9020
  {
9046
9021
  className: `w-3 h-3 ${indicators.server ? "text-green-500" : "text-orange-400"}`
9047
9022
  }
9048
9023
  ),
9049
- /* @__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: [
9050
9025
  "Server Keyshare: ",
9051
9026
  indicators.server ? "Available" : "Missing"
9052
9027
  ] })
9053
9028
  ] }),
9054
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
9055
- /* @__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)(
9056
9031
  import_lucide_react17.Laptop,
9057
9032
  {
9058
9033
  className: `w-3 h-3 ${indicators.local ? "text-green-500" : "text-orange-400"}`
9059
9034
  }
9060
9035
  ),
9061
- /* @__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: [
9062
9037
  "Local Keyshare: ",
9063
9038
  indicators.local ? "Available" : "Missing"
9064
9039
  ] })
9065
9040
  ] }),
9066
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
9067
- /* @__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)(
9068
9043
  import_lucide_react17.Shield,
9069
9044
  {
9070
9045
  className: `w-3 h-3 ${indicators.backup ? "text-green-500" : "text-orange-400"}`
9071
9046
  }
9072
9047
  ),
9073
- /* @__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: [
9074
9049
  "Vault Backup: ",
9075
9050
  indicators.backup ? "Available" : "Not Found"
9076
9051
  ] })
@@ -9079,62 +9054,62 @@ var ConnectWalletButton = ({
9079
9054
  ] })
9080
9055
  }
9081
9056
  ) }),
9082
- 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: [
9083
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogTitle, { children: "Wallet Menu" }) }),
9084
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogDescription, { className: "sr-only", children: "Smart Account wallet actions and status" }),
9085
- /* @__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: [
9086
- /* @__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 ? (
9087
9062
  // eslint-disable-next-line @next/next/no-img-element
9088
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9089
- ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white font-bold text-lg", children: "L" }) }),
9090
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9091
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `font-medium text-left text-lg ${theme.titleText}`, children: displayName || "Smart Account" }),
9092
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-2", children: [
9093
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: formatAddress(address) }),
9094
- /* @__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 () => {
9095
9070
  try {
9096
9071
  await navigator.clipboard.writeText(address);
9097
9072
  setCopied(true);
9098
9073
  setTimeout(() => setCopied(false), 1500);
9099
9074
  } catch {
9100
9075
  }
9101
- }, 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" }) })
9102
9077
  ] })
9103
9078
  ] })
9104
9079
  ] }) }) }),
9105
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "p-4", children: [
9106
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "grid grid-cols-3 gap-2 mb-4", children: [
9107
- /* @__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: () => {
9108
9083
  setIsWalletMenuOpen(false);
9109
9084
  setIsSendOpen(true);
9110
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: [
9111
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowUp, { className: "w-5 h-5" }),
9112
- /* @__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" })
9113
9088
  ] }),
9114
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9089
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9115
9090
  setIsWalletMenuOpen(false);
9116
9091
  setIsReceiveOpen(true);
9117
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: [
9118
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowDown, { className: "w-5 h-5" }),
9119
- /* @__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" })
9120
9095
  ] }),
9121
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9096
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9122
9097
  setIsWalletMenuOpen(false);
9123
9098
  setIsBuyOpen(true);
9124
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: [
9125
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Plus, { className: "w-5 h-5" }),
9126
- /* @__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" })
9127
9102
  ] })
9128
9103
  ] }),
9129
- 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: [
9130
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm font-bold ${isDark ? "text-red-200" : "text-red-800"}`, children: "BACKUP NOT CREATED" }),
9131
- /* @__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: [
9132
9107
  "Your wallet will be ",
9133
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("strong", { children: "PERMANENTLY LOST" }),
9108
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("strong", { children: "PERMANENTLY LOST" }),
9134
9109
  " if browser data is cleared."
9135
9110
  ] }),
9136
- /* @__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!" }),
9137
- /* @__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)(
9138
9113
  "button",
9139
9114
  {
9140
9115
  onClick: () => {
@@ -9143,7 +9118,7 @@ var ConnectWalletButton = ({
9143
9118
  },
9144
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"}`,
9145
9120
  children: [
9146
- /* @__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" }),
9147
9122
  "Create Backup Now"
9148
9123
  ]
9149
9124
  }
@@ -9152,12 +9127,12 @@ var ConnectWalletButton = ({
9152
9127
  (() => {
9153
9128
  const providers = import_auth3.jwtTokenManager.getProviders();
9154
9129
  const hasEmail = providers.includes("email");
9155
- 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: [
9156
- /* @__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` }),
9157
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9158
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-blue-300" : "text-blue-700"}`, children: "Email Not Connected" }),
9159
- /* @__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." }),
9160
- /* @__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)(
9161
9136
  "button",
9162
9137
  {
9163
9138
  onClick: () => {
@@ -9166,7 +9141,7 @@ var ConnectWalletButton = ({
9166
9141
  },
9167
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"}`,
9168
9143
  children: [
9169
- /* @__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" }),
9170
9145
  "Connect Email"
9171
9146
  ]
9172
9147
  }
@@ -9174,84 +9149,84 @@ var ConnectWalletButton = ({
9174
9149
  ] })
9175
9150
  ] }) });
9176
9151
  })(),
9177
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9152
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9178
9153
  "button",
9179
9154
  {
9180
9155
  onClick: () => address && window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank"),
9181
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`,
9182
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center justify-between", children: [
9183
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-3", children: [
9184
- /* @__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) }) }),
9185
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
9186
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${theme.titleText} font-medium`, children: lumiaBeam.name }),
9187
- /* @__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: [
9188
9163
  formatBalance(),
9189
9164
  " LUMIA"
9190
9165
  ] })
9191
9166
  ] })
9192
9167
  ] }),
9193
- /* @__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" }) })
9194
9169
  ] })
9195
9170
  }
9196
9171
  ),
9197
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "space-y-1", children: [
9198
- 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: () => {
9199
9174
  setIsWalletMenuOpen(false);
9200
9175
  setIsKycOpen(true);
9201
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: [
9202
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ShieldCheck, { className: `w-5 h-5 ${theme.iconColor}` }),
9203
- /* @__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" })
9204
9179
  ] }),
9205
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9180
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9206
9181
  setIsWalletMenuOpen(false);
9207
9182
  setIsTransactionsOpen(true);
9208
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: [
9209
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Activity, { className: `w-5 h-5 ${theme.iconColor}` }),
9210
- /* @__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" })
9211
9186
  ] }),
9212
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9187
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9213
9188
  setIsWalletMenuOpen(false);
9214
9189
  setIsViewAssetsOpen(true);
9215
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: [
9216
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Gem, { className: `w-5 h-5 ${theme.iconColor}` }),
9217
- /* @__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" })
9218
9193
  ] }),
9219
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9194
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9220
9195
  setIsWalletMenuOpen(false);
9221
9196
  setIsManageWalletOpen(true);
9222
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: [
9223
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.CreditCard, { className: `w-5 h-5 ${theme.iconColor}` }),
9224
- /* @__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" })
9225
9200
  ] }),
9226
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9201
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9227
9202
  setIsWalletMenuOpen(false);
9228
9203
  setIsSecurityOpen(true);
9229
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: [
9230
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Lock, { className: `w-5 h-5 ${theme.iconColor}` }),
9231
- /* @__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" })
9232
9207
  ] }),
9233
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
9208
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9234
9209
  setIsWalletMenuOpen(false);
9235
9210
  setIsBackupOpen(true);
9236
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: [
9237
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.Shield, { className: `w-5 h-5 ${theme.iconColor}` }),
9238
- /* @__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" })
9239
9214
  ] }),
9240
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: async () => {
9215
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: async () => {
9241
9216
  await handleDisconnect();
9242
9217
  setIsWalletMenuOpen(false);
9243
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: [
9244
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-5 h-5 text-red-600" }),
9245
- /* @__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" })
9246
9221
  ] })
9247
9222
  ] }),
9248
- /* @__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: [
9249
9224
  "Lumia Passport v",
9250
9225
  package_default.version
9251
9226
  ] }) })
9252
9227
  ] })
9253
9228
  ] }) }) }),
9254
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9229
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9255
9230
  ManageWallet,
9256
9231
  {
9257
9232
  open: isManageWalletOpen,
@@ -9262,7 +9237,7 @@ var ConnectWalletButton = ({
9262
9237
  }
9263
9238
  }
9264
9239
  ),
9265
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9240
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9266
9241
  SecurityModal,
9267
9242
  {
9268
9243
  open: isSecurityOpen,
@@ -9273,22 +9248,26 @@ var ConnectWalletButton = ({
9273
9248
  }
9274
9249
  }
9275
9250
  ),
9276
- 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: [
9277
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(VisuallyHidden, { children: [
9278
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogTitle, { children: "Keyshare Backup" }),
9279
- /* @__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" })
9280
9255
  ] }),
9281
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9256
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9282
9257
  KeyshareBackup,
9283
9258
  {
9284
9259
  userId: session.mpcUserId,
9285
9260
  onBackupSuccess: () => {
9286
9261
  console.log("[ConnectWalletButton] Backup created successfully");
9262
+ },
9263
+ onBack: () => {
9264
+ setIsBackupOpen(false);
9265
+ setIsWalletMenuOpen(true);
9287
9266
  }
9288
9267
  }
9289
9268
  )
9290
9269
  ] }) }),
9291
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9270
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9292
9271
  TransactionsModal,
9293
9272
  {
9294
9273
  open: isTransactionsOpen,
@@ -9299,7 +9278,7 @@ var ConnectWalletButton = ({
9299
9278
  }
9300
9279
  }
9301
9280
  ),
9302
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9281
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9303
9282
  ViewAssetsModal,
9304
9283
  {
9305
9284
  open: isViewAssetsOpen,
@@ -9310,7 +9289,7 @@ var ConnectWalletButton = ({
9310
9289
  }
9311
9290
  }
9312
9291
  ),
9313
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9292
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9314
9293
  SendModal,
9315
9294
  {
9316
9295
  open: isSendOpen,
@@ -9321,7 +9300,7 @@ var ConnectWalletButton = ({
9321
9300
  }
9322
9301
  }
9323
9302
  ),
9324
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9303
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9325
9304
  ReceiveModal,
9326
9305
  {
9327
9306
  open: isReceiveOpen,
@@ -9332,7 +9311,7 @@ var ConnectWalletButton = ({
9332
9311
  }
9333
9312
  }
9334
9313
  ),
9335
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9314
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9336
9315
  BuyModal,
9337
9316
  {
9338
9317
  open: isBuyOpen,
@@ -9343,7 +9322,7 @@ var ConnectWalletButton = ({
9343
9322
  }
9344
9323
  }
9345
9324
  ),
9346
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9325
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9347
9326
  KycModal,
9348
9327
  {
9349
9328
  open: isKycOpen,
@@ -9354,7 +9333,7 @@ var ConnectWalletButton = ({
9354
9333
  }
9355
9334
  }
9356
9335
  ),
9357
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9336
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9358
9337
  AuthModal,
9359
9338
  {
9360
9339
  open: recoveryUserId ? isRecoveryModalOpen : isAuthModalOpen,
@@ -9385,6 +9364,7 @@ var ConnectWalletButton = ({
9385
9364
  setStatus("ready");
9386
9365
  setRecoveryUserId(null);
9387
9366
  setIsRecoveryModalOpen(false);
9367
+ setIsAuthModalOpen(false);
9388
9368
  onConnected?.({ address: addr, session: sess });
9389
9369
  try {
9390
9370
  callbacks?.onLumiaPassportConnect?.({ address: addr, session: sess });
@@ -9394,12 +9374,14 @@ var ConnectWalletButton = ({
9394
9374
  callbacks?.onLumiaPassportAccount?.({ userId: recoveryUserId, address: addr, session: sess, hasKeyshare: hasServerKeyshare });
9395
9375
  } catch {
9396
9376
  }
9397
- try {
9398
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
9399
- const iframeManager = getIframeManager2();
9400
- await iframeManager.authenticate(recoveryUserId);
9401
- } catch (e) {
9402
- 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
+ }
9403
9385
  }
9404
9386
  try {
9405
9387
  const { updateBackupStatus: updateBackupStatus2 } = await Promise.resolve().then(() => (init_vaultClient(), vaultClient_exports));
@@ -9415,7 +9397,7 @@ var ConnectWalletButton = ({
9415
9397
  }
9416
9398
  }
9417
9399
  ),
9418
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9400
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9419
9401
  TssManagerWithRef,
9420
9402
  {
9421
9403
  ref: tssManagerRef,
@@ -9434,7 +9416,7 @@ var ConnectWalletButton = ({
9434
9416
 
9435
9417
  // src/components/ThemeToggle.tsx
9436
9418
  init_LumiaPassportContext();
9437
- var import_jsx_runtime34 = require("react/jsx-runtime");
9419
+ var import_jsx_runtime33 = require("react/jsx-runtime");
9438
9420
  var ThemeToggle = () => {
9439
9421
  const { config, updateConfig } = useLumiaPassportConfig();
9440
9422
  const currentTheme = config.ui.theme;
@@ -9479,7 +9461,7 @@ var ThemeToggle = () => {
9479
9461
  return "auto";
9480
9462
  }
9481
9463
  };
9482
- 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)(
9483
9465
  "button",
9484
9466
  {
9485
9467
  onClick: cycleTheme,
@@ -9495,19 +9477,19 @@ var ThemeToggle = () => {
9495
9477
  };
9496
9478
 
9497
9479
  // src/components/LumiaLogo.tsx
9498
- var import_jsx_runtime35 = require("react/jsx-runtime");
9480
+ var import_jsx_runtime34 = require("react/jsx-runtime");
9499
9481
  var LumiaLogo2 = ({ size = 80, className = "" }) => {
9500
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9482
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9501
9483
  "div",
9502
9484
  {
9503
9485
  className: `flex items-center justify-center ${className}`,
9504
9486
  style: { width: size, height: size },
9505
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("svg", { viewBox: "0 0 512 512", width: size, height: size, children: [
9506
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("circle", { cx: "256", cy: "256", r: "256", fill: "#060117", strokeWidth: "0" }),
9507
- /* @__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" }),
9508
- /* @__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" }),
9509
- /* @__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" }),
9510
- /* @__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" })
9511
9493
  ] })
9512
9494
  }
9513
9495
  );
@@ -9573,7 +9555,7 @@ function useTheme2(configTheme) {
9573
9555
  var React28 = __toESM(require("react"), 1);
9574
9556
  var import_lucide_react18 = require("lucide-react");
9575
9557
  init_button();
9576
- var import_jsx_runtime36 = require("react/jsx-runtime");
9558
+ var import_jsx_runtime35 = require("react/jsx-runtime");
9577
9559
  function toExplorerUrl(kind, value, chain) {
9578
9560
  const base2 = chain?.blockExplorers?.default?.url;
9579
9561
  if (!base2) return null;
@@ -9597,11 +9579,11 @@ var Hash = ({
9597
9579
  const value = hash || "";
9598
9580
  const explorer = toExplorerUrl(kind, value, chain || void 0);
9599
9581
  const [copied, setCopied] = React28.useState(false);
9600
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
9601
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
9602
- label && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-sm font-medium", children: label }),
9603
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
9604
- 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)(
9605
9587
  Button,
9606
9588
  {
9607
9589
  variant: "ghost",
@@ -9615,10 +9597,10 @@ var Hash = ({
9615
9597
  } catch {
9616
9598
  }
9617
9599
  },
9618
- 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" })
9619
9601
  }
9620
9602
  ),
9621
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9603
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9622
9604
  "a",
9623
9605
  {
9624
9606
  href: explorer,
@@ -9626,7 +9608,7 @@ var Hash = ({
9626
9608
  rel: "noreferrer noopener",
9627
9609
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
9628
9610
  title: "Open in explorer",
9629
- 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" })
9630
9612
  }
9631
9613
  )
9632
9614
  ] });
@@ -9635,7 +9617,7 @@ var Hash = ({
9635
9617
  // src/internal/components/TransactionsList.tsx
9636
9618
  var import_react21 = require("react");
9637
9619
  init_base();
9638
- var import_jsx_runtime37 = require("react/jsx-runtime");
9620
+ var import_jsx_runtime36 = require("react/jsx-runtime");
9639
9621
  var TransactionsList = ({
9640
9622
  address,
9641
9623
  itemsCount = 10
@@ -9689,15 +9671,15 @@ var TransactionsList = ({
9689
9671
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
9690
9672
  };
9691
9673
  if (loading) {
9692
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-4 text-center", children: [
9693
- /* @__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" }),
9694
- /* @__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..." })
9695
9677
  ] });
9696
9678
  }
9697
9679
  if (error) {
9698
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-4 text-center", children: [
9699
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-red-600 text-sm", children: error }),
9700
- /* @__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)(
9701
9683
  "button",
9702
9684
  {
9703
9685
  onClick: () => window.location.reload(),
@@ -9708,54 +9690,54 @@ var TransactionsList = ({
9708
9690
  ] });
9709
9691
  }
9710
9692
  if (transactions.length === 0) {
9711
- 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" }) });
9712
9694
  }
9713
- 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)(
9714
9696
  "div",
9715
9697
  {
9716
9698
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
9717
9699
  onClick: () => openTransaction(tx.hash),
9718
9700
  children: [
9719
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
9720
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex-1", children: [
9721
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
9722
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress(tx.hash) }),
9723
- /* @__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" })
9724
9706
  ] }),
9725
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "text-sm space-y-1", children: [
9726
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9727
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "From:" }),
9728
- /* @__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: [
9729
9711
  formatAddress(tx.from.hash),
9730
- 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)" })
9731
9713
  ] })
9732
9714
  ] }),
9733
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9734
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "To:" }),
9735
- /* @__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: [
9736
9718
  formatAddress(tx.to.hash),
9737
- 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)" })
9738
9720
  ] })
9739
9721
  ] }),
9740
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9741
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "Value:" }),
9742
- /* @__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: [
9743
9725
  formatValue(tx.value),
9744
9726
  " LUMIA"
9745
9727
  ] })
9746
9728
  ] })
9747
9729
  ] })
9748
9730
  ] }),
9749
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
9750
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { children: formatDate2(tx.timestamp) }),
9751
- /* @__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: [
9752
9734
  "Gas: ",
9753
9735
  parseInt(tx.gas_used).toLocaleString()
9754
9736
  ] }),
9755
- 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 })
9756
9738
  ] })
9757
9739
  ] }),
9758
- 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)(
9759
9741
  "span",
9760
9742
  {
9761
9743
  className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full",