forgecad 0.6.3 → 0.7.0

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.
Files changed (193) hide show
  1. package/README.md +2 -11
  2. package/dist/assets/{AdminPage-CeqCUUgu.js → AdminPage-DAu1C1ST.js} +250 -151
  3. package/dist/assets/{BlogPage-P_AJP0v9.js → BlogPage-CJEXL_zJ.js} +94 -70
  4. package/dist/assets/{DocsPage-CKRV2iq2.js → DocsPage-Gc_BCdqC.js} +269 -143
  5. package/dist/assets/EditorApp-D9bJvtf7.js +11338 -0
  6. package/dist/assets/{EditorApp-CnC2k4cW.css → EditorApp-DG1-oUSV.css} +459 -87
  7. package/dist/assets/{EmbedViewer-DBlzmQ5i.js → EmbedViewer-CEO8XbV8.js} +2 -4
  8. package/dist/assets/LandingPage-CdCuEOdC.js +451 -0
  9. package/dist/assets/PricingPage-BSrxu6d7.js +232 -0
  10. package/dist/assets/{SettingsPage-BqCh9JcC.js → SettingsPage-FUCSIRq6.js} +129 -5
  11. package/dist/assets/{evalWorker-Ql-aKwLA.js → evalWorker-KoR0SNKq.js} +6770 -2914
  12. package/dist/assets/{index-2hfs_ub0.css → index-CyVd1D4D.css} +227 -53
  13. package/dist/assets/{Viewport-CoB46f5R.js → index-wTEK39at.js} +31385 -6439
  14. package/dist/assets/{javascript-DCxGoE5Y.js → javascript-DAl8Gmyo.js} +1 -1
  15. package/dist/assets/{manifold-CqNMHHKO.js → manifold-B1sGWdYk.js} +4 -3
  16. package/dist/assets/{manifold-Cce9wRFz.js → manifold-D7o0N50J.js} +1 -1
  17. package/dist/assets/{manifold-D6BeHIOo.js → manifold-G5sBaXzi.js} +1 -1
  18. package/dist/assets/{reportWorker-sFEFonXf.js → reportWorker-DYcRHhv9.js} +6798 -3341
  19. package/dist/assets/{vendor-react-Dt7-aaJH.js → vendor-react-CG3i_wp0.js} +65 -8
  20. package/dist/docs-raw/generated/assembly.md +691 -112
  21. package/dist/docs-raw/generated/concepts.md +1225 -1400
  22. package/dist/docs-raw/generated/core.md +464 -1412
  23. package/dist/docs-raw/generated/curves.md +593 -117
  24. package/dist/docs-raw/generated/lib.md +38 -748
  25. package/dist/docs-raw/generated/output.md +139 -245
  26. package/dist/docs-raw/generated/sheet-metal.md +473 -21
  27. package/dist/docs-raw/generated/sketch.md +553 -349
  28. package/dist/docs-raw/generated/viewport.md +345 -303
  29. package/dist/docs-raw/generated/wood.md +104 -0
  30. package/dist/index.html +2 -2
  31. package/dist/sitemap.xml +6 -6
  32. package/dist-cli/chunk-PZ5AY32C.js +10 -0
  33. package/dist-cli/chunk-PZ5AY32C.js.map +1 -0
  34. package/dist-cli/forgecad.js +9435 -5407
  35. package/dist-cli/forgecad.js.map +1 -0
  36. package/dist-cli/solver-FV7TJZGI.js +365 -0
  37. package/dist-cli/solver-FV7TJZGI.js.map +1 -0
  38. package/dist-skill/CONTEXT.md +3186 -7145
  39. package/dist-skill/SKILL-dev.md +21 -63
  40. package/dist-skill/SKILL.md +12 -56
  41. package/dist-skill/docs/API/core/concepts.md +16 -98
  42. package/dist-skill/docs/CLI/export.md +91 -0
  43. package/dist-skill/docs/CLI/projects.md +107 -0
  44. package/dist-skill/docs/CLI/studio_publishing.md +52 -0
  45. package/dist-skill/docs/CLI/validation.md +66 -0
  46. package/dist-skill/docs/generated/assembly.md +691 -112
  47. package/dist-skill/docs/generated/core.md +464 -1412
  48. package/dist-skill/docs/generated/curves.md +593 -117
  49. package/dist-skill/docs/generated/lib.md +38 -748
  50. package/dist-skill/docs/generated/output.md +139 -245
  51. package/dist-skill/docs/generated/sheet-metal.md +473 -21
  52. package/dist-skill/docs/generated/sketch.md +553 -349
  53. package/dist-skill/docs/generated/viewport.md +345 -303
  54. package/dist-skill/docs/generated/wood.md +104 -0
  55. package/dist-skill/docs/guides/coordinate-system.md +11 -17
  56. package/dist-skill/docs/guides/geometry-conventions.md +13 -70
  57. package/dist-skill/docs/guides/modeling-recipes.md +22 -195
  58. package/dist-skill/docs/guides/positioning.md +88 -147
  59. package/dist-skill/docs-dev/API/core/concepts.md +51 -0
  60. package/dist-skill/docs-dev/API/core/sdf-advanced.md +92 -0
  61. package/dist-skill/docs-dev/API/core/sdf-primitives.md +58 -0
  62. package/dist-skill/docs-dev/API/core/sdf-workflow.md +42 -0
  63. package/dist-skill/docs-dev/CLI/export.md +91 -0
  64. package/dist-skill/docs-dev/CLI/projects.md +107 -0
  65. package/dist-skill/docs-dev/CLI/studio_publishing.md +52 -0
  66. package/dist-skill/docs-dev/CLI/validation.md +66 -0
  67. package/dist-skill/{docs → docs-dev}/blueprint-first.md +5 -0
  68. package/dist-skill/{docs → docs-dev}/coding-best-practices.md +6 -8
  69. package/dist-skill/{docs → docs-dev}/coding.md +1 -3
  70. package/dist-skill/docs-dev/generated/assembly.md +771 -0
  71. package/dist-skill/docs-dev/generated/core.md +775 -0
  72. package/dist-skill/docs-dev/generated/curves.md +688 -0
  73. package/dist-skill/docs-dev/generated/lib.md +50 -0
  74. package/dist-skill/docs-dev/generated/output.md +234 -0
  75. package/dist-skill/docs-dev/generated/sheet-metal.md +506 -0
  76. package/dist-skill/docs-dev/generated/sketch.md +801 -0
  77. package/dist-skill/docs-dev/generated/viewport.md +486 -0
  78. package/dist-skill/docs-dev/generated/wood.md +104 -0
  79. package/dist-skill/docs-dev/guides/coordinate-system.md +46 -0
  80. package/dist-skill/docs-dev/guides/geometry-conventions.md +52 -0
  81. package/dist-skill/docs-dev/guides/modeling-recipes.md +77 -0
  82. package/dist-skill/docs-dev/guides/positioning.md +151 -0
  83. package/dist-skill/{docs → docs-dev}/guides/skill-maintenance.md +21 -10
  84. package/dist-skill/{docs → docs-dev}/internals/compiler.md +5 -6
  85. package/dist-skill/{docs → docs-dev}/internals/constraint-solver-quality.md +0 -1
  86. package/dist-skill/{docs → docs-dev}/internals/constraint-solver.md +0 -1
  87. package/dist-skill/{docs → docs-dev}/internals/sketch-2d-pipeline.md +2 -3
  88. package/examples/api/attachTo-basics.forge.js +5 -5
  89. package/examples/api/boolean-operations.forge.js +3 -3
  90. package/examples/api/bounding-box-visualizer.forge.js +2 -2
  91. package/examples/api/clone-duplicate.forge.js +1 -1
  92. package/examples/api/colors-union-vs-array.forge.js +6 -6
  93. package/examples/api/connector-assembly.forge.js +4 -4
  94. package/examples/api/connector-basics.forge.js +2 -2
  95. package/examples/api/extrude-options.forge.js +4 -10
  96. package/examples/api/feature-created-faces.forge.js +6 -10
  97. package/examples/api/fillet-showcase.forge.js +1 -1
  98. package/examples/api/folded-service-panel-cover.forge.js +2 -2
  99. package/examples/api/group-test.forge.js +1 -1
  100. package/examples/api/group-vs-union.forge.js +1 -1
  101. package/examples/api/highlight-debug.forge.js +4 -0
  102. package/examples/api/js-module-pillars.js +1 -1
  103. package/examples/api/js-module-scene.js +2 -2
  104. package/examples/api/mesh-import-slats.forge.js +1 -1
  105. package/examples/api/pointAlong-orientation.forge.js +1 -1
  106. package/examples/api/profile-2020-b-slot6.forge.js +0 -1
  107. package/examples/api/route-perimeter-flange.forge.js +1 -1
  108. package/examples/api/sdf-rover-demo.forge.js +10 -10
  109. package/examples/api/sketch-on-face-demo.forge.js +2 -2
  110. package/examples/api/sketch-regions.forge.js +4 -4
  111. package/examples/api/transition-curves.forge.js +1 -1
  112. package/examples/api/variable-sweep-pure-sdf-test.forge.js +162 -0
  113. package/examples/api/variable-sweep-test.forge.js +2 -2
  114. package/examples/api/wood-joinery.forge.js +60 -0
  115. package/examples/compiler-corpus/enclosure-shell-cuts.forge.js +3 -3
  116. package/examples/compiler-corpus/fastener-plate-variants.forge.js +2 -2
  117. package/examples/experiments/drone-arm.forge.js +53 -0
  118. package/examples/furniture/adjustable-table.forge.js +2 -2
  119. package/examples/furniture/bathroom.forge.js +11 -11
  120. package/examples/furniture/chair.forge.js +1 -1
  121. package/examples/generative/crystal-growth.forge.js +2 -2
  122. package/examples/generative/frost-spires.forge.js +3 -3
  123. package/examples/generative/golden-spiral-tower.forge.js +3 -3
  124. package/examples/mechanical/3d-printer.forge.js +28 -28
  125. package/examples/mechanical/5-finger-robot-hand.forge.js +15 -15
  126. package/examples/mechanical/airplane-propeller.forge.js +2 -2
  127. package/examples/mechanical/fillet-enclosure.forge.js +1 -1
  128. package/examples/mechanical/headphone-hanger-v2.forge.js +2 -2
  129. package/examples/mechanical/robot_hand.forge.js +15 -15
  130. package/examples/mechanical/robot_hand_2.forge.js +9 -9
  131. package/examples/products/bottle.forge.js +1 -1
  132. package/examples/products/chess-set.forge.js +19 -19
  133. package/examples/products/classical-piano.forge.js +11 -11
  134. package/examples/products/clock.forge.js +12 -12
  135. package/examples/products/iphone.forge.js +8 -8
  136. package/examples/products/laptop.forge.js +15 -15
  137. package/examples/products/liquid-soap-dispenser.forge.js +18 -18
  138. package/examples/products/origami-fish.forge.js +8 -6
  139. package/examples/products/spiderman-cake.forge.js +4 -4
  140. package/examples/toolbox/bolted-joint.forge.js +2 -2
  141. package/package.json +7 -4
  142. package/dist/assets/EditorApp-B-vQvgam.js +0 -9888
  143. package/dist/assets/LandingPage-C5n9hDXI.js +0 -322
  144. package/dist/assets/PublishedModelPage-Dt7PCVBj.js +0 -146
  145. package/dist/assets/__vite-browser-external-CURh0WXD.js +0 -8
  146. package/dist/assets/deserializeRunResult-BLAFoiE0.js +0 -19365
  147. package/dist/assets/index-1CYp3zUp.js +0 -1455
  148. package/dist/docs-raw/CLI.md +0 -865
  149. package/dist-skill/docs/API/API.md +0 -1666
  150. package/dist-skill/docs/API/README.md +0 -37
  151. package/dist-skill/docs/API/assembly/assembly.md +0 -617
  152. package/dist-skill/docs/API/core/edge-queries.md +0 -130
  153. package/dist-skill/docs/API/core/parameters.md +0 -122
  154. package/dist-skill/docs/API/core/reserved-terms.md +0 -137
  155. package/dist-skill/docs/API/core/sdf.md +0 -326
  156. package/dist-skill/docs/API/core/skill-cli.md +0 -194
  157. package/dist-skill/docs/API/core/skill-guide.md +0 -205
  158. package/dist-skill/docs/API/core/specs.md +0 -186
  159. package/dist-skill/docs/API/core/topology.md +0 -372
  160. package/dist-skill/docs/API/entities.md +0 -268
  161. package/dist-skill/docs/API/output/bom.md +0 -58
  162. package/dist-skill/docs/API/output/brep-export.md +0 -87
  163. package/dist-skill/docs/API/output/dimensions.md +0 -67
  164. package/dist-skill/docs/API/output/export.md +0 -110
  165. package/dist-skill/docs/API/output/gcode.md +0 -195
  166. package/dist-skill/docs/API/runtime/viewport.md +0 -420
  167. package/dist-skill/docs/API/sheet-metal/sheet-metal.md +0 -185
  168. package/dist-skill/docs/API/sketch/anchor.md +0 -37
  169. package/dist-skill/docs/API/sketch/booleans.md +0 -91
  170. package/dist-skill/docs/API/sketch/core.md +0 -73
  171. package/dist-skill/docs/API/sketch/extrude.md +0 -62
  172. package/dist-skill/docs/API/sketch/on-face.md +0 -104
  173. package/dist-skill/docs/API/sketch/operations.md +0 -78
  174. package/dist-skill/docs/API/sketch/path.md +0 -75
  175. package/dist-skill/docs/API/sketch/primitives.md +0 -146
  176. package/dist-skill/docs/API/sketch/regions.md +0 -80
  177. package/dist-skill/docs/API/sketch/text.md +0 -108
  178. package/dist-skill/docs/API/sketch/transforms.md +0 -65
  179. package/dist-skill/docs/API/toolbox/fasteners.md +0 -129
  180. package/dist-skill/docs/CLI.md +0 -865
  181. package/dist-skill/docs/INDEX.md +0 -94
  182. package/dist-skill/docs/RELEASING.md +0 -55
  183. package/dist-skill/docs/cli-monetization.md +0 -111
  184. package/dist-skill/docs/deployment.md +0 -281
  185. package/dist-skill/docs/generated/concepts.md +0 -2112
  186. package/dist-skill/docs/internals/shape-from-slices.md +0 -152
  187. package/dist-skill/docs/platform/admin.md +0 -45
  188. package/dist-skill/docs/platform/architecture.md +0 -79
  189. package/dist-skill/docs/platform/auth.md +0 -110
  190. package/dist-skill/docs/platform/email.md +0 -67
  191. package/dist-skill/docs/platform/projects.md +0 -111
  192. package/dist-skill/docs/platform/sharing.md +0 -90
  193. package/dist-skill/docs/runbook.md +0 -345
@@ -1,5 +1,5 @@
1
- import { r as reactExports, j as jsxRuntimeExports, L as Link } from "./vendor-react-Dt7-aaJH.js";
2
- import { u as useAuthStore, a as authFetch } from "./index-1CYp3zUp.js";
1
+ import { r as reactExports, j as jsxRuntimeExports, L as Link } from "./vendor-react-CG3i_wp0.js";
2
+ import { a as useAuthStore, b as authFetch } from "./index-wTEK39at.js";
3
3
  function timeAgo(dateStr) {
4
4
  const ms = Date.now() - new Date(dateStr).getTime();
5
5
  const mins = Math.floor(ms / 6e4);
@@ -414,14 +414,50 @@ function PlanSection() {
414
414
  const storageLimitMB = isPro ? 500 : 50;
415
415
  const storageUsedMB = 17.2;
416
416
  const storagePercent = storageUsedMB / storageLimitMB * 100;
417
+ const [subscription, setSubscription] = reactExports.useState(null);
418
+ const [licenseKey, setLicenseKey] = reactExports.useState(null);
419
+ const [licenseExpiry, setLicenseExpiry] = reactExports.useState(null);
420
+ const [copied, setCopied] = reactExports.useState(false);
421
+ const [generating, setGenerating] = reactExports.useState(false);
422
+ reactExports.useEffect(() => {
423
+ authFetch("/api/billing/subscription").then((data) => setSubscription(data.subscription)).catch(() => {
424
+ });
425
+ }, []);
426
+ const generateLicenseKey = reactExports.useCallback(async () => {
427
+ setGenerating(true);
428
+ try {
429
+ const data = await authFetch("/api/license/generate", {
430
+ method: "POST"
431
+ });
432
+ setLicenseKey(data.token);
433
+ setLicenseExpiry(data.expiresAt);
434
+ } catch {
435
+ } finally {
436
+ setGenerating(false);
437
+ }
438
+ }, []);
439
+ const copyKey = reactExports.useCallback(() => {
440
+ if (!licenseKey) return;
441
+ navigator.clipboard.writeText(licenseKey);
442
+ setCopied(true);
443
+ setTimeout(() => setCopied(false), 2e3);
444
+ }, [licenseKey]);
445
+ const openBillingPortal = reactExports.useCallback(async () => {
446
+ try {
447
+ const data = await authFetch("/api/billing/portal", { method: "POST" });
448
+ window.location.href = data.url;
449
+ } catch {
450
+ }
451
+ }, []);
452
+ const intervalLabel = (subscription == null ? void 0 : subscription.interval) ? { monthly: "Monthly", annual: "Annual", lifetime: "Lifetime", "admin-granted": "Granted" }[subscription.interval] ?? subscription.interval : "";
417
453
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { marginBottom: 40 }, children: [
418
454
  /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: sectionHeaderStyle, children: "Plan & Usage" }),
419
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { style: sectionDescStyle, children: "Your current plan and storage." }),
455
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { style: sectionDescStyle, children: "Your current plan, billing, and CLI license." }),
420
456
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: cardStyle, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: cardBodyStyle, children: [
421
457
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: 16 }, children: [
422
458
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
423
459
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { style: { fontWeight: 600, fontSize: 16 }, children: [
424
- isPro ? "Pro" : "Free",
460
+ isPro ? `Pro ${intervalLabel}` : "Free",
425
461
  " Plan"
426
462
  ] }),
427
463
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -443,7 +479,37 @@ function PlanSection() {
443
479
  }
444
480
  )
445
481
  ] }),
446
- !isPro && /* @__PURE__ */ jsxRuntimeExports.jsx("button", { style: { ...btnPrimaryStyle, padding: "4px 10px", fontSize: 12 }, children: "Upgrade to Pro" })
482
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", gap: 8 }, children: [
483
+ isPro && (subscription == null ? void 0 : subscription.hasStripe) && /* @__PURE__ */ jsxRuntimeExports.jsx(
484
+ "button",
485
+ {
486
+ onClick: openBillingPortal,
487
+ style: { ...btnPrimaryStyle, padding: "4px 10px", fontSize: 12 },
488
+ children: "Manage Subscription"
489
+ }
490
+ ),
491
+ !isPro && /* @__PURE__ */ jsxRuntimeExports.jsx(
492
+ Link,
493
+ {
494
+ to: "/pricing",
495
+ style: {
496
+ ...btnPrimaryStyle,
497
+ padding: "4px 10px",
498
+ fontSize: 12,
499
+ textDecoration: "none",
500
+ display: "inline-block"
501
+ },
502
+ children: "Upgrade to Pro"
503
+ }
504
+ )
505
+ ] })
506
+ ] }),
507
+ subscription && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { fontSize: 12, color: "var(--fc-textMuted)", marginBottom: 16 }, children: [
508
+ subscription.currentPeriodEnd && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
509
+ "Next billing: ",
510
+ new Date(subscription.currentPeriodEnd).toLocaleDateString()
511
+ ] }),
512
+ subscription.canceledAt && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { color: "var(--fc-warning)" }, children: " (Canceled, active until period end)" })
447
513
  ] }),
448
514
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
449
515
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { fontSize: 13, fontWeight: 500 }, children: "Storage" }),
@@ -495,6 +561,64 @@ function PlanSection() {
495
561
  )
496
562
  ] })
497
563
  ] }) }),
564
+ isPro && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
565
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { style: { fontSize: 14, fontWeight: 600, margin: "24px 0 8px" }, children: "CLI License Key" }),
566
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: cardStyle, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: cardBodyStyle, children: [
567
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { fontSize: 12, color: "var(--fc-textMuted)", marginBottom: 12 }, children: "Use this key to unlock Pro features in the ForgeCAD CLI. Keys are valid for 30 days and auto-refresh." }),
568
+ licenseKey ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
569
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
570
+ "div",
571
+ {
572
+ style: {
573
+ fontFamily: "monospace",
574
+ fontSize: 12,
575
+ background: "var(--fc-bgActive)",
576
+ padding: "8px 12px",
577
+ borderRadius: 6,
578
+ wordBreak: "break-all",
579
+ marginBottom: 8
580
+ },
581
+ children: licenseKey
582
+ }
583
+ ),
584
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12 }, children: [
585
+ /* @__PURE__ */ jsxRuntimeExports.jsx("button", { onClick: copyKey, style: { ...btnPrimaryStyle, padding: "4px 10px", fontSize: 12 }, children: copied ? "Copied!" : "Copy" }),
586
+ licenseExpiry && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { style: { fontSize: 11, color: "var(--fc-textMuted)" }, children: [
587
+ "Expires: ",
588
+ new Date(licenseExpiry).toLocaleDateString()
589
+ ] })
590
+ ] }),
591
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
592
+ "div",
593
+ {
594
+ style: {
595
+ marginTop: 12,
596
+ padding: "8px 12px",
597
+ background: "var(--fc-bg)",
598
+ borderRadius: 6,
599
+ fontSize: 12,
600
+ fontFamily: "monospace",
601
+ color: "var(--fc-textMuted)"
602
+ },
603
+ children: [
604
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { marginBottom: 4, color: "var(--fc-textDim)" }, children: "Quick start:" }),
605
+ "forgecad login",
606
+ /* @__PURE__ */ jsxRuntimeExports.jsx("br", {}),
607
+ "forgecad license activate"
608
+ ]
609
+ }
610
+ )
611
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
612
+ "button",
613
+ {
614
+ onClick: generateLicenseKey,
615
+ disabled: generating,
616
+ style: { ...btnPrimaryStyle, padding: "6px 14px", fontSize: 13 },
617
+ children: generating ? "Generating..." : "Generate License Key"
618
+ }
619
+ )
620
+ ] }) })
621
+ ] }),
498
622
  /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { style: { fontSize: 14, fontWeight: 600, color: "var(--fc-error)", margin: "24px 0 8px" }, children: "Danger Zone" }),
499
623
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { ...cardStyle, borderColor: "rgba(248, 81, 73, 0.3)" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { ...cardBodyStyle, display: "flex", alignItems: "center", justifyContent: "space-between", gap: 16 }, children: [
500
624
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [