@almadar/ui 5.123.0 → 5.125.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 (63) hide show
  1. package/dist/{TraitProvider-YkK6tXDw.d.cts → TraitProvider-Ch79cUcb.d.cts} +6 -1
  2. package/dist/{TraitProvider-YkK6tXDw.d.ts → TraitProvider-Ch79cUcb.d.ts} +6 -1
  3. package/dist/{UserContext-bziZwgFL.d.cts → UserContext-BKckAUv7.d.cts} +5 -5
  4. package/dist/{UserContext-bziZwgFL.d.ts → UserContext-BKckAUv7.d.ts} +5 -5
  5. package/dist/avl/index.cjs +332 -275
  6. package/dist/avl/index.js +334 -277
  7. package/dist/components/index.cjs +284 -248
  8. package/dist/components/index.d.cts +4 -3
  9. package/dist/components/index.d.ts +4 -3
  10. package/dist/components/index.js +284 -248
  11. package/dist/context/index.cjs +25 -66
  12. package/dist/context/index.d.cts +1 -1
  13. package/dist/context/index.d.ts +1 -1
  14. package/dist/context/index.js +25 -66
  15. package/dist/{offline-executor-aRuNznZx.d.cts → offline-executor-Qz4b6GpF.d.cts} +19 -1
  16. package/dist/{offline-executor-aRuNznZx.d.ts → offline-executor-Qz4b6GpF.d.ts} +19 -1
  17. package/dist/providers/index.cjs +395 -275
  18. package/dist/providers/index.d.cts +6 -6
  19. package/dist/providers/index.d.ts +6 -6
  20. package/dist/providers/index.js +394 -276
  21. package/dist/renderer/index.cjs +8 -0
  22. package/dist/renderer/index.d.cts +2 -2
  23. package/dist/renderer/index.d.ts +2 -2
  24. package/dist/renderer/index.js +1 -1
  25. package/dist/runtime/index.cjs +325 -268
  26. package/dist/runtime/index.d.cts +4 -2
  27. package/dist/runtime/index.d.ts +4 -2
  28. package/dist/runtime/index.js +327 -270
  29. package/package.json +13 -11
  30. package/themes/_contract.md +2 -0
  31. package/themes/almadar-website.css +3 -3
  32. package/themes/almadar.css +4 -4
  33. package/themes/bloomberg-dense.css +2 -2
  34. package/themes/clay.css +417 -0
  35. package/themes/corporate.css +411 -0
  36. package/themes/game-adventure.css +3 -3
  37. package/themes/game-rpg.css +2 -2
  38. package/themes/game-sci-fi.css +1 -1
  39. package/themes/game-ui-pack.css +2 -2
  40. package/themes/gazette.css +2 -2
  41. package/themes/glass.css +428 -0
  42. package/themes/index.css +9 -13
  43. package/themes/kiosk.css +5 -5
  44. package/themes/linear-clean.css +1 -1
  45. package/themes/minimalist.css +2 -2
  46. package/themes/neon.css +3 -3
  47. package/themes/notion-editorial.css +1 -1
  48. package/themes/prism.css +3 -3
  49. package/themes/retro.css +410 -0
  50. package/themes/terminal.css +1 -1
  51. package/themes/trait-wars.css +8 -8
  52. package/themes/wireframe.css +2 -2
  53. package/themes/arctic.css +0 -235
  54. package/themes/copper.css +0 -235
  55. package/themes/ember.css +0 -238
  56. package/themes/forest.css +0 -238
  57. package/themes/lavender.css +0 -233
  58. package/themes/midnight.css +0 -234
  59. package/themes/ocean.css +0 -238
  60. package/themes/rose.css +0 -233
  61. package/themes/sand.css +0 -234
  62. package/themes/slate.css +0 -233
  63. package/themes/sunset.css +0 -238
@@ -3926,15 +3926,15 @@ var init_TextHighlight = __esm({
3926
3926
  const typeStyles = {
3927
3927
  question: cn(
3928
3928
  // Blue border for questions
3929
- "bg-card border-b-2 border-primary-600",
3929
+ "bg-card border-b-2 border-primary",
3930
3930
  "hover:bg-muted",
3931
- isActive && "bg-primary-100 ring-2 ring-primary-600"
3931
+ isActive && "bg-primary/10 ring-2 ring-primary"
3932
3932
  ),
3933
3933
  note: cn(
3934
3934
  // Yellow border for notes
3935
- "bg-card border-b-2 border-amber-500",
3935
+ "bg-card border-b-2 border-warning",
3936
3936
  "hover:bg-muted",
3937
- isActive && "bg-amber-100 ring-2 ring-amber-500"
3937
+ isActive && "bg-warning/10 ring-2 ring-warning"
3938
3938
  )
3939
3939
  };
3940
3940
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -4542,7 +4542,7 @@ function DayCell({
4542
4542
  {
4543
4543
  className: cn(
4544
4544
  "p-2 text-center cursor-pointer hover:bg-muted transition-colors",
4545
- isToday && "bg-blue-500/10",
4545
+ isToday && "bg-primary/10",
4546
4546
  className
4547
4547
  ),
4548
4548
  onClick: handleClick,
@@ -4553,7 +4553,7 @@ function DayCell({
4553
4553
  variant: "small",
4554
4554
  className: cn(
4555
4555
  "font-medium",
4556
- isToday ? "text-blue-600" : "text-muted-foreground"
4556
+ isToday ? "text-primary" : "text-muted-foreground"
4557
4557
  ),
4558
4558
  children: dayAbbr
4559
4559
  }
@@ -4565,7 +4565,7 @@ function DayCell({
4565
4565
  rounded: "full",
4566
4566
  className: cn(
4567
4567
  "h-8 w-8 mx-auto items-center justify-center",
4568
- isToday && "bg-blue-600 text-white"
4568
+ isToday && "bg-primary text-primary-foreground"
4569
4569
  ),
4570
4570
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "font-semibold", children: safeDate.getDate() })
4571
4571
  }
@@ -7880,19 +7880,19 @@ var init_ActivationBlock = __esm({
7880
7880
  "div",
7881
7881
  {
7882
7882
  className: cn(
7883
- "bg-indigo-50 dark:bg-indigo-900/20 border-2 border-indigo-200 dark:border-indigo-800 rounded-lg p-5 mb-6",
7883
+ "bg-primary/10 border-2 border-primary rounded-lg p-5 mb-6",
7884
7884
  className
7885
7885
  ),
7886
7886
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
7887
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.Lightbulb, { className: "text-indigo-600 dark:text-indigo-400 flex-shrink-0 mt-1", size: 24 }),
7887
+ /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.Lightbulb, { className: "text-primary flex-shrink-0 mt-1", size: 24 }),
7888
7888
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
7889
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-indigo-900 dark:text-indigo-100 mb-2", children: "Before You Begin..." }),
7890
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-gray-700 dark:text-gray-300 mb-3 text-sm md:text-base", children: question }),
7889
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-primary mb-2", children: "Before You Begin..." }),
7890
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground mb-3 text-sm md:text-base", children: question }),
7891
7891
  isExpanded ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7892
7892
  /* @__PURE__ */ jsxRuntime.jsx(
7893
7893
  "textarea",
7894
7894
  {
7895
- className: "w-full p-3 border border-indigo-300 dark:border-indigo-700 rounded-md bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 focus:ring-2 focus:ring-indigo-500 focus:border-transparent text-sm",
7895
+ className: "w-full p-3 border border-input rounded-md bg-card text-foreground focus:ring-2 focus:ring-ring focus:border-transparent text-sm",
7896
7896
  placeholder: "Jot down your thoughts...",
7897
7897
  value: response,
7898
7898
  onChange: (e) => setResponse(e.target.value),
@@ -7904,7 +7904,7 @@ var init_ActivationBlock = __esm({
7904
7904
  "button",
7905
7905
  {
7906
7906
  onClick: handleSubmit,
7907
- className: "px-4 py-2 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 text-sm font-medium transition-colors",
7907
+ className: "px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary-hover text-sm font-medium transition-colors",
7908
7908
  children: "Continue to Lesson \u2192"
7909
7909
  }
7910
7910
  ),
@@ -7915,7 +7915,7 @@ var init_ActivationBlock = __esm({
7915
7915
  emit(`UI:${saveEvent}`, { response: "" });
7916
7916
  setIsExpanded(false);
7917
7917
  },
7918
- className: "px-4 py-2 text-indigo-600 dark:text-indigo-400 hover:underline text-sm",
7918
+ className: "px-4 py-2 text-primary hover:underline text-sm",
7919
7919
  children: "Skip for now"
7920
7920
  }
7921
7921
  )
@@ -7924,7 +7924,7 @@ var init_ActivationBlock = __esm({
7924
7924
  "button",
7925
7925
  {
7926
7926
  onClick: () => setIsExpanded(true),
7927
- className: "text-sm text-indigo-600 dark:text-indigo-400 hover:underline font-medium",
7927
+ className: "text-sm text-primary hover:underline font-medium",
7928
7928
  children: "\u2713 Answered \xB7 Edit response"
7929
7929
  }
7930
7930
  )
@@ -8737,7 +8737,7 @@ var init_AuthLayout = __esm({
8737
8737
  exports.VStack,
8738
8738
  {
8739
8739
  className: cn(
8740
- "hidden lg:flex lg:w-1/2 bg-primary-600 relative overflow-hidden",
8740
+ "hidden lg:flex lg:w-1/2 bg-primary relative overflow-hidden",
8741
8741
  "justify-between p-12"
8742
8742
  ),
8743
8743
  style: backgroundImage ? {
@@ -8746,7 +8746,7 @@ var init_AuthLayout = __esm({
8746
8746
  } : void 0,
8747
8747
  gap: "none",
8748
8748
  children: [
8749
- /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute inset-0 bg-gradient-to-br from-primary-600/90 to-primary-800/90" }),
8749
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute inset-0 bg-gradient-to-br from-primary/90 to-primary-hover/90" }),
8750
8750
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "relative z-10", children: /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Link, { to: "/", className: "flex items-center gap-3", children: [
8751
8751
  logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-10 h-10 bg-[var(--color-card)]/20 rounded-xl flex items-center justify-center backdrop-blur", children: /* @__PURE__ */ jsxRuntime.jsx(
8752
8752
  exports.Typography,
@@ -8831,7 +8831,7 @@ var init_AuthLayout = __esm({
8831
8831
  ),
8832
8832
  children: /* @__PURE__ */ jsxRuntime.jsxs(exports.Box, { className: "w-full max-w-md", children: [
8833
8833
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "lg:hidden mb-8 text-center", children: /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Link, { to: "/", className: "inline-flex items-center gap-3", children: [
8834
- logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-12 h-12 bg-primary-600 rounded-xl flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
8834
+ logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-12 h-12 bg-primary rounded-xl flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
8835
8835
  exports.Typography,
8836
8836
  {
8837
8837
  variant: "body1",
@@ -10825,7 +10825,7 @@ var init_CodeBlock = __esm({
10825
10825
  {
10826
10826
  justify: "between",
10827
10827
  align: "center",
10828
- className: "px-3 py-2 bg-[var(--color-card)] rounded-t-lg border-b border-gray-700",
10828
+ className: "px-3 py-2 bg-[var(--color-card)] rounded-t-lg border-b border-border",
10829
10829
  children: [
10830
10830
  showLanguageBadge && /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "default", size: "sm", children: language }),
10831
10831
  effectiveCopy && /* @__PURE__ */ jsxRuntime.jsx(
@@ -10834,9 +10834,9 @@ var init_CodeBlock = __esm({
10834
10834
  variant: "ghost",
10835
10835
  size: "sm",
10836
10836
  onClick: handleCopy,
10837
- className: "opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity text-muted-foreground hover:text-white",
10837
+ className: "opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity text-muted-foreground hover:text-foreground",
10838
10838
  "aria-label": t("common.copy"),
10839
- children: copied ? /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "check", className: "w-4 h-4 text-green-400" }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "copy", className: "w-4 h-4" })
10839
+ children: copied ? /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "check", className: "w-4 h-4 text-success" }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "copy", className: "w-4 h-4" })
10840
10840
  }
10841
10841
  )
10842
10842
  ]
@@ -11204,12 +11204,12 @@ var init_BloomQuizBlock = __esm({
11204
11204
  init_useEventBus();
11205
11205
  init_cn();
11206
11206
  BLOOM_CONFIG = {
11207
- remember: { color: "bg-gray-500", bgColor: "bg-gray-50 dark:bg-gray-900/30", label: "Remember" },
11208
- understand: { color: "bg-blue-500", bgColor: "bg-blue-50 dark:bg-blue-900/30", label: "Understand" },
11209
- apply: { color: "bg-green-500", bgColor: "bg-green-50 dark:bg-green-900/30", label: "Apply" },
11210
- analyze: { color: "bg-yellow-500", bgColor: "bg-yellow-50 dark:bg-yellow-900/30", label: "Analyze" },
11211
- evaluate: { color: "bg-orange-500", bgColor: "bg-orange-50 dark:bg-orange-900/30", label: "Evaluate" },
11212
- create: { color: "bg-purple-500", bgColor: "bg-purple-50 dark:bg-purple-900/30", label: "Create" }
11207
+ remember: { color: "bg-secondary text-secondary-foreground", bgColor: "bg-muted", label: "Remember" },
11208
+ understand: { color: "bg-info text-info-foreground", bgColor: "bg-info/10", label: "Understand" },
11209
+ apply: { color: "bg-success text-success-foreground", bgColor: "bg-success/10", label: "Apply" },
11210
+ analyze: { color: "bg-warning text-warning-foreground", bgColor: "bg-warning/10", label: "Analyze" },
11211
+ evaluate: { color: "bg-accent text-accent-foreground", bgColor: "bg-accent/10", label: "Evaluate" },
11212
+ create: { color: "bg-primary text-primary-foreground", bgColor: "bg-primary/10", label: "Create" }
11213
11213
  };
11214
11214
  exports.BloomQuizBlock = ({
11215
11215
  level,
@@ -11235,22 +11235,22 @@ var init_BloomQuizBlock = __esm({
11235
11235
  "div",
11236
11236
  {
11237
11237
  className: cn(
11238
- "rounded-lg border border-indigo-100 dark:border-indigo-800 p-4 my-4 transition-all",
11238
+ "rounded-lg border border-primary p-4 my-4 transition-all",
11239
11239
  config.bgColor,
11240
11240
  className
11241
11241
  ),
11242
11242
  children: [
11243
11243
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-3", children: [
11244
11244
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
11245
- index !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-500 dark:text-gray-400 font-medium text-sm", children: [
11245
+ index !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground font-medium text-sm", children: [
11246
11246
  "Question ",
11247
11247
  index + 1
11248
11248
  ] }),
11249
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(config.color, "text-white text-xs px-2 py-1 rounded-full font-medium"), children: config.label })
11249
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(config.color, "text-xs px-2 py-1 rounded-full font-medium"), children: config.label })
11250
11250
  ] }),
11251
- isAnswered && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.CheckCircle, { className: "text-green-600 dark:text-green-400 flex-shrink-0", size: 20 })
11251
+ isAnswered && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.CheckCircle, { className: "text-success flex-shrink-0", size: 20 })
11252
11252
  ] }),
11253
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-indigo-900 dark:text-indigo-200 mb-3 space-y-2", children: questionSegments.map(
11253
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-primary mb-3 space-y-2", children: questionSegments.map(
11254
11254
  (segment, idx) => segment.type === "markdown" ? /* @__PURE__ */ jsxRuntime.jsx(exports.MarkdownContent, { content: segment.content }, `q-md-${idx}`) : /* @__PURE__ */ jsxRuntime.jsx(
11255
11255
  exports.CodeBlock,
11256
11256
  {
@@ -11264,13 +11264,13 @@ var init_BloomQuizBlock = __esm({
11264
11264
  "button",
11265
11265
  {
11266
11266
  type: "button",
11267
- className: "inline-flex items-center rounded-md bg-indigo-600 dark:bg-indigo-500 px-3 py-1.5 text-sm font-medium text-white hover:bg-indigo-700 dark:hover:bg-indigo-600 transition-colors",
11267
+ className: "inline-flex items-center rounded-md bg-primary px-3 py-1.5 text-sm font-medium text-primary-foreground hover:bg-primary-hover transition-colors",
11268
11268
  onClick: handleReveal,
11269
11269
  children: revealed ? "Hide Answer" : "Reveal Answer"
11270
11270
  }
11271
11271
  ),
11272
- revealed && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg bg-white/80 dark:bg-gray-800/80 p-3 text-sm text-slate-800 dark:text-gray-200 shadow-sm border border-indigo-100 dark:border-indigo-800 mt-3 space-y-2", children: [
11273
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-gray-600 dark:text-gray-400 mb-1 font-medium uppercase tracking-wide", children: "Answer:" }),
11272
+ revealed && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg bg-card/80 p-3 text-sm text-foreground shadow-sm border border-primary mt-3 space-y-2", children: [
11273
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-muted-foreground mb-1 font-medium uppercase tracking-wide", children: "Answer:" }),
11274
11274
  answerSegments.map(
11275
11275
  (segment, idx) => segment.type === "markdown" ? /* @__PURE__ */ jsxRuntime.jsx(exports.MarkdownContent, { content: segment.content }, `a-md-${idx}`) : /* @__PURE__ */ jsxRuntime.jsx(
11276
11276
  exports.CodeBlock,
@@ -11544,12 +11544,12 @@ var init_QuizBlock = __esm({
11544
11544
  }) => {
11545
11545
  const { t } = hooks.useTranslate();
11546
11546
  const [revealed, setRevealed] = React74.useState(false);
11547
- return /* @__PURE__ */ jsxRuntime.jsx(Card2, { className: cn("my-4 border-blue-200 dark:border-blue-800", className), children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", className: "p-4", children: [
11547
+ return /* @__PURE__ */ jsxRuntime.jsx(Card2, { className: cn("my-4 border-primary", className), children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", className: "p-4", children: [
11548
11548
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "start", children: [
11549
- /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.HelpCircle, size: "sm", className: "text-blue-500 mt-0.5 shrink-0" }),
11549
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.HelpCircle, size: "sm", className: "text-primary mt-0.5 shrink-0" }),
11550
11550
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "font-medium", children: question })
11551
11551
  ] }),
11552
- revealed ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "pl-7 pt-2 border-t border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-foreground", children: answer }) }) : null,
11552
+ revealed ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "pl-7 pt-2 border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-foreground", children: answer }) }) : null,
11553
11553
  /* @__PURE__ */ jsxRuntime.jsx(
11554
11554
  exports.Button,
11555
11555
  {
@@ -13461,7 +13461,7 @@ var init_BookTableOfContents = __esm({
13461
13461
  className: cn(
13462
13462
  "justify-start text-left w-full",
13463
13463
  direction === "rtl" && "text-right",
13464
- isCurrent && "bg-blue-50 dark:bg-blue-950 text-blue-600 dark:text-blue-400"
13464
+ isCurrent && "bg-primary/10 text-primary"
13465
13465
  ),
13466
13466
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "truncate", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: String(chapter.title ?? "") }) })
13467
13467
  },
@@ -14709,7 +14709,7 @@ function CalendarGrid({
14709
14709
  border: true,
14710
14710
  className: cn(
14711
14711
  "cursor-pointer hover:shadow-sm transition-shadow text-xs truncate",
14712
- color ? color : "bg-blue-500/15 border-blue-500/30 text-blue-600"
14712
+ color ? color : "bg-primary/10 border-primary/30 text-primary"
14713
14713
  ),
14714
14714
  onClick: (e) => handleEventClick(event, e),
14715
14715
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "truncate font-medium", children: event.title })
@@ -14807,7 +14807,7 @@ function CalendarGrid({
14807
14807
  onClick: () => handleSlotClick(day, time),
14808
14808
  className: cn(
14809
14809
  "border-l border-border",
14810
- isToday && "bg-blue-50/30"
14810
+ isToday && "bg-primary/10"
14811
14811
  ),
14812
14812
  ...longPressEvent ? {
14813
14813
  onPointerDown: () => startLongPress(day, time),
@@ -18483,31 +18483,31 @@ var init_CodeRunnerPanel = __esm({
18483
18483
  }
18484
18484
  )
18485
18485
  ] }),
18486
- hasOutput && /* @__PURE__ */ jsxRuntime.jsxs(exports.Box, { className: "rounded-lg border border-gray-700 bg-[#0d0d0d] overflow-hidden", children: [
18486
+ hasOutput && /* @__PURE__ */ jsxRuntime.jsxs(exports.Box, { className: "rounded-lg border border-border bg-foreground overflow-hidden", children: [
18487
18487
  /* @__PURE__ */ jsxRuntime.jsxs(
18488
18488
  exports.HStack,
18489
18489
  {
18490
18490
  gap: "sm",
18491
18491
  align: "center",
18492
- className: "px-3 py-2 bg-gray-800 border-b border-gray-700",
18492
+ className: "px-3 py-2 bg-card border-b border-border",
18493
18493
  children: [
18494
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.Terminal, { size: 16, className: "text-gray-400" }),
18495
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-300 font-medium", children: "Output" })
18494
+ /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.Terminal, { size: 16, className: "text-muted-foreground" }),
18495
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-foreground font-medium", children: "Output" })
18496
18496
  ]
18497
18497
  }
18498
18498
  ),
18499
- /* @__PURE__ */ jsxRuntime.jsx(exports.VStack, { gap: "none", className: "p-3 font-mono text-sm", children: error ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-red-400 whitespace-pre-wrap", children: error }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18500
- output?.stdout ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-200 whitespace-pre-wrap", children: output.stdout }) : null,
18501
- output?.stderr ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-red-400 whitespace-pre-wrap", children: output.stderr }) : null,
18502
- !output?.stdout && !output?.stderr ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500 italic", children: "No output" }) : null,
18503
- output && output.testResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "mt-3 pt-3 border-t border-gray-700 space-y-2", children: output.testResults.map((test, index) => /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "start", className: "text-xs", children: [
18504
- test.passed ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.CheckCircle, { size: 14, className: "text-green-400 mt-0.5" }) : /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.XCircle, { size: 14, className: "text-red-400 mt-0.5" }),
18499
+ /* @__PURE__ */ jsxRuntime.jsx(exports.VStack, { gap: "none", className: "p-3 font-mono text-sm", children: error ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-error whitespace-pre-wrap", children: error }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18500
+ output?.stdout ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-background whitespace-pre-wrap", children: output.stdout }) : null,
18501
+ output?.stderr ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-error whitespace-pre-wrap", children: output.stderr }) : null,
18502
+ !output?.stdout && !output?.stderr ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-background italic", children: "No output" }) : null,
18503
+ output && output.testResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "mt-3 pt-3 border-t border-border space-y-2", children: output.testResults.map((test, index) => /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "start", className: "text-xs", children: [
18504
+ test.passed ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.CheckCircle, { size: 14, className: "text-success mt-0.5" }) : /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.XCircle, { size: 14, className: "text-error mt-0.5" }),
18505
18505
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", className: "flex-1", children: [
18506
18506
  /* @__PURE__ */ jsxRuntime.jsxs(
18507
18507
  exports.Typography,
18508
18508
  {
18509
18509
  variant: "small",
18510
- className: test.passed ? "text-green-400" : "text-red-400",
18510
+ className: test.passed ? "text-success" : "text-error",
18511
18511
  children: [
18512
18512
  "Test ",
18513
18513
  index + 1,
@@ -18516,15 +18516,15 @@ var init_CodeRunnerPanel = __esm({
18516
18516
  ]
18517
18517
  }
18518
18518
  ),
18519
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-gray-400", children: [
18519
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-background", children: [
18520
18520
  "Input: ",
18521
18521
  test.input
18522
18522
  ] }),
18523
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-gray-400", children: [
18523
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-background", children: [
18524
18524
  "Expected: ",
18525
18525
  test.expectedOutput
18526
18526
  ] }),
18527
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-gray-400", children: [
18527
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-background", children: [
18528
18528
  "Actual: ",
18529
18529
  test.actualOutput
18530
18530
  ] })
@@ -18709,14 +18709,14 @@ var init_ConnectionBlock = __esm({
18709
18709
  "div",
18710
18710
  {
18711
18711
  className: cn(
18712
- "bg-emerald-50 dark:bg-emerald-900/20 border-l-4 border-emerald-500 rounded-r-lg p-5 mb-6",
18712
+ "bg-success/10 border-l-4 border-success rounded-r-lg p-5 mb-6",
18713
18713
  className
18714
18714
  ),
18715
18715
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
18716
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.Link2, { className: "text-emerald-600 dark:text-emerald-400 flex-shrink-0 mt-1", size: 20 }),
18716
+ /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.Link2, { className: "text-success flex-shrink-0 mt-1", size: 20 }),
18717
18717
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
18718
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-emerald-900 dark:text-emerald-100 mb-2", children: "Building On What You Know" }),
18719
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "prose dark:prose-invert prose-sm max-w-none text-gray-700 dark:text-gray-300", children: /* @__PURE__ */ jsxRuntime.jsx(exports.MarkdownContent, { content }) })
18718
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-success mb-2", children: "Building On What You Know" }),
18719
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "prose dark:prose-invert prose-sm max-w-none text-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(exports.MarkdownContent, { content }) })
18720
18720
  ] })
18721
18721
  ] })
18722
18722
  }
@@ -19107,7 +19107,7 @@ function CounterStandard({
19107
19107
  variant: "h1",
19108
19108
  className: cn(
19109
19109
  sizeStyles8[size].display,
19110
- "font-bold tabular-nums text-primary-600"
19110
+ "font-bold tabular-nums text-primary"
19111
19111
  ),
19112
19112
  children: resolved.count
19113
19113
  }
@@ -19180,7 +19180,7 @@ function CounterFull({
19180
19180
  variant: "h1",
19181
19181
  className: cn(
19182
19182
  sizeStyles8[size].display,
19183
- "font-bold tabular-nums text-primary-600"
19183
+ "font-bold tabular-nums text-primary"
19184
19184
  ),
19185
19185
  children: resolved.count
19186
19186
  }
@@ -19445,11 +19445,11 @@ var init_DashboardLayout = __esm({
19445
19445
  className: "h-16 px-4 border-b border-border dark:border-border",
19446
19446
  children: [
19447
19447
  /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Link, { to: "/", className: "flex items-center gap-2", children: [
19448
- logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-8 h-8 bg-primary-600 rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
19448
+ logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-8 h-8 bg-primary rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
19449
19449
  exports.Typography,
19450
19450
  {
19451
19451
  variant: "small",
19452
- className: "text-white font-bold text-sm",
19452
+ className: "text-primary-foreground font-bold text-sm",
19453
19453
  as: "span",
19454
19454
  children: appName.charAt(0).toUpperCase()
19455
19455
  }
@@ -19528,11 +19528,11 @@ var init_DashboardLayout = __esm({
19528
19528
  className: "hidden @md/dashboard:flex items-center gap-1 overflow-x-auto",
19529
19529
  children: [
19530
19530
  /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Link, { to: "/", className: "flex items-center gap-2 mr-3 shrink-0", children: [
19531
- logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-7 h-7 bg-primary-600 rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
19531
+ logo || /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-7 h-7 bg-primary rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
19532
19532
  exports.Typography,
19533
19533
  {
19534
19534
  variant: "small",
19535
- className: "text-white font-bold text-xs",
19535
+ className: "text-primary-foreground font-bold text-xs",
19536
19536
  as: "span",
19537
19537
  children: appName.charAt(0).toUpperCase()
19538
19538
  }
@@ -19592,8 +19592,8 @@ var init_DashboardLayout = __esm({
19592
19592
  {
19593
19593
  as: "span",
19594
19594
  className: cn(
19595
- "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 rounded-full text-xs font-semibold text-white flex items-center justify-center",
19596
- action.variant === "danger" ? "bg-error" : action.variant === "primary" ? "bg-primary" : "bg-foreground"
19595
+ "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 rounded-full text-xs font-semibold flex items-center justify-center",
19596
+ action.variant === "danger" ? "bg-error text-error-foreground" : action.variant === "primary" ? "bg-primary text-primary-foreground" : "bg-foreground text-background"
19597
19597
  ),
19598
19598
  children: action.badge
19599
19599
  }
@@ -19615,7 +19615,7 @@ var init_DashboardLayout = __esm({
19615
19615
  exports.Box,
19616
19616
  {
19617
19617
  as: "span",
19618
- className: "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 bg-error rounded-full text-xs font-semibold text-white flex items-center justify-center",
19618
+ className: "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 bg-error rounded-full text-xs font-semibold text-error-foreground flex items-center justify-center",
19619
19619
  children: unreadCount > 99 ? "99+" : unreadCount
19620
19620
  }
19621
19621
  )
@@ -19898,7 +19898,7 @@ function SubMenu({
19898
19898
  ),
19899
19899
  children: [
19900
19900
  item.icon && (typeof item.icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: item.icon, size: "sm", className: "flex-shrink-0" }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: item.icon, size: "sm", className: "flex-shrink-0" })),
19901
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: cn("flex-1", isDanger && "text-red-600"), children: item.label }),
19901
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: cn("flex-1", isDanger && "text-error"), children: item.label }),
19902
19902
  item.badge !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-xs font-medium", children: item.badge })
19903
19903
  ]
19904
19904
  },
@@ -19955,7 +19955,7 @@ function MenuItemRow({
19955
19955
  exports.Typography,
19956
19956
  {
19957
19957
  variant: "small",
19958
- className: cn("flex-1", isDanger && "text-red-600"),
19958
+ className: cn("flex-1", isDanger && "text-error"),
19959
19959
  children: item.label
19960
19960
  }
19961
19961
  ),
@@ -20723,20 +20723,24 @@ function DataGrid({
20723
20723
  const bodyFields = fieldDefs.filter((f3) => f3 !== titleField && !badgeFields.includes(f3));
20724
20724
  const primaryActions = actionDefs.filter((a) => a.variant !== "danger");
20725
20725
  const dangerActions = actionDefs.filter((a) => a.variant === "danger");
20726
- const handleActionClick = (action, itemData) => (e) => {
20727
- e.stopPropagation();
20728
- const payload = {
20729
- id: itemData.id,
20730
- row: itemData
20731
- };
20732
- eventBus.emit(`UI:${action.event}`, payload);
20726
+ const fireAction = (action, itemData) => {
20733
20727
  if (action.navigatesTo) {
20734
20728
  const url = action.navigatesTo.replace(
20735
20729
  /\{\{row\.(\w+(?:\.\w+)*)\}\}/g,
20736
20730
  (_, field) => String(itemData[field] ?? "")
20737
20731
  );
20738
- eventBus.emit("UI:NAVIGATE", { url });
20732
+ eventBus.emit("UI:NAVIGATE", { url, row: itemData });
20733
+ return;
20739
20734
  }
20735
+ const payload = {
20736
+ id: itemData.id,
20737
+ row: itemData
20738
+ };
20739
+ eventBus.emit(`UI:${action.event}`, payload);
20740
+ };
20741
+ const handleActionClick = (action, itemData) => (e) => {
20742
+ e.stopPropagation();
20743
+ fireAction(action, itemData);
20740
20744
  };
20741
20745
  const hasRenderProp = typeof children === "function";
20742
20746
  React74.useEffect(() => {
@@ -20838,10 +20842,7 @@ function DataGrid({
20838
20842
  label: action.label,
20839
20843
  icon: action.icon,
20840
20844
  event: action.event,
20841
- onClick: () => eventBus.emit(`UI:${action.event}`, {
20842
- id: itemData.id,
20843
- row: itemData
20844
- })
20845
+ onClick: () => fireAction(action, itemData)
20845
20846
  }))
20846
20847
  }
20847
20848
  )
@@ -20894,13 +20895,13 @@ function DataGrid({
20894
20895
  }
20895
20896
  ),
20896
20897
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", className: "flex-1 min-w-0", children: [
20897
- titleValue !== void 0 && titleValue !== null && /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", className: "items-center", children: [
20898
+ titleValue !== void 0 && titleValue !== null && /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", className: "items-center min-w-0", children: [
20898
20899
  titleField?.icon && renderIconInput(titleField.icon, { size: "sm", className: "text-primary flex-shrink-0" }),
20899
20900
  /* @__PURE__ */ jsxRuntime.jsx(
20900
20901
  exports.Typography,
20901
20902
  {
20902
20903
  variant: titleField?.variant === "h3" ? "h3" : "h4",
20903
- className: "font-semibold truncate",
20904
+ className: "font-semibold truncate min-w-0",
20904
20905
  children: String(titleValue)
20905
20906
  }
20906
20907
  )
@@ -20958,7 +20959,7 @@ function DataGrid({
20958
20959
  )
20959
20960
  ] }, field.name);
20960
20961
  }) }) }),
20961
- primaryActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "px-4 py-3 mt-auto border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", className: "justify-end", children: [
20962
+ primaryActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "px-4 py-3 mt-auto border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", className: "justify-end flex-wrap", children: [
20962
20963
  (maxInlineActions != null ? primaryActions.slice(0, maxInlineActions) : primaryActions).map((action, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
20963
20964
  exports.Button,
20964
20965
  {
@@ -20983,10 +20984,7 @@ function DataGrid({
20983
20984
  label: action.label,
20984
20985
  icon: action.icon,
20985
20986
  event: action.event,
20986
- onClick: () => eventBus.emit(`UI:${action.event}`, {
20987
- id: itemData.id,
20988
- row: itemData
20989
- })
20987
+ onClick: () => fireAction(action, itemData)
20990
20988
  }))
20991
20989
  }
20992
20990
  )
@@ -24005,8 +24003,8 @@ var init_RelationSelect = __esm({
24005
24003
  disabled,
24006
24004
  className: cn(
24007
24005
  "w-full justify-between font-normal",
24008
- error && "border-red-300 focus:border-red-500 focus:ring-red-500",
24009
- isOpen && "ring-2 ring-primary-500 border-primary-500"
24006
+ error && "border-error/50 focus:border-error focus:ring-error",
24007
+ isOpen && "ring-2 ring-primary border-primary"
24010
24008
  ),
24011
24009
  children: [
24012
24010
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -24086,7 +24084,7 @@ var init_RelationSelect = __esm({
24086
24084
  paddingY: "sm",
24087
24085
  className: cn(
24088
24086
  "text-left text-sm hover:bg-muted focus:outline-none focus:bg-muted",
24089
- option.value === value && "bg-primary-50 text-primary-700",
24087
+ option.value === value && "bg-primary/10 text-primary",
24090
24088
  option.disabled && "opacity-50 cursor-not-allowed"
24091
24089
  ),
24092
24090
  onClick: () => handleSelect(option),
@@ -24243,7 +24241,7 @@ var init_SidePanel = __esm({
24243
24241
  showOverlay && /* @__PURE__ */ jsxRuntime.jsx(exports.Presence, { show: isOpen, animation: "overlay", children: /* @__PURE__ */ jsxRuntime.jsx(
24244
24242
  exports.Box,
24245
24243
  {
24246
- className: "fixed inset-0 bg-white/80 backdrop-blur-sm z-40 lg:hidden",
24244
+ className: "fixed inset-0 bg-background/80 backdrop-blur-sm z-40 lg:hidden",
24247
24245
  onClick: handleClose
24248
24246
  }
24249
24247
  ) }),
@@ -24610,7 +24608,7 @@ var init_WizardNavigation = __esm({
24610
24608
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "chevron-left", size: "sm" }),
24611
24609
  resolvedBackLabel
24612
24610
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Box, {}),
24613
- /* @__PURE__ */ jsxRuntime.jsx(exports.HStack, { align: "center", gap: "sm", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-neutral-500", children: t("wizard.stepOf", { current: String(currentStep + 1), total: String(totalSteps) }) }) }),
24611
+ /* @__PURE__ */ jsxRuntime.jsx(exports.HStack, { align: "center", gap: "sm", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: t("wizard.stepOf", { current: String(currentStep + 1), total: String(totalSteps) }) }) }),
24614
24612
  isLastStep && showComplete ? /* @__PURE__ */ jsxRuntime.jsx(exports.Button, { variant: "primary", onClick: handleComplete, disabled: !isValid, children: resolvedCompleteLabel }) : showNext ? /* @__PURE__ */ jsxRuntime.jsxs(exports.Button, { variant: "primary", onClick: handleNext, disabled: !isValid, children: [
24615
24613
  resolvedNextLabel,
24616
24614
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "chevron-right", size: "sm" })
@@ -29329,6 +29327,7 @@ var init_Lightbox = __esm({
29329
29327
  {
29330
29328
  className: cn(
29331
29329
  "fixed inset-0 z-50 flex items-center justify-center",
29330
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: lightbox scrim behind images
29332
29331
  "bg-black bg-opacity-90",
29333
29332
  className
29334
29333
  ),
@@ -29351,7 +29350,7 @@ var init_Lightbox = __esm({
29351
29350
  "p-2 rounded-full",
29352
29351
  "text-[var(--color-foreground)] bg-[var(--color-card)]",
29353
29352
  "hover:bg-opacity-70 transition-opacity",
29354
- "focus:outline-none focus:ring-2 focus:ring-white"
29353
+ "focus:outline-none focus:ring-2 focus:ring-ring"
29355
29354
  ),
29356
29355
  "aria-label": t("aria.closeModal"),
29357
29356
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "x", className: "w-6 h-6" })
@@ -29370,7 +29369,7 @@ var init_Lightbox = __esm({
29370
29369
  "p-2 rounded-full",
29371
29370
  "text-[var(--color-foreground)] bg-[var(--color-card)]",
29372
29371
  "hover:bg-opacity-70 transition-opacity",
29373
- "focus:outline-none focus:ring-2 focus:ring-white"
29372
+ "focus:outline-none focus:ring-2 focus:ring-ring"
29374
29373
  ),
29375
29374
  "aria-label": t("aria.previousImage"),
29376
29375
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "chevron-left", className: "w-8 h-8" })
@@ -29407,7 +29406,7 @@ var init_Lightbox = __esm({
29407
29406
  "p-2 rounded-full",
29408
29407
  "text-[var(--color-foreground)] bg-[var(--color-card)]",
29409
29408
  "hover:bg-opacity-70 transition-opacity",
29410
- "focus:outline-none focus:ring-2 focus:ring-white"
29409
+ "focus:outline-none focus:ring-2 focus:ring-ring"
29411
29410
  ),
29412
29411
  "aria-label": t("aria.nextImage"),
29413
29412
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "chevron-right", className: "w-8 h-8" })
@@ -29627,7 +29626,7 @@ function TableView({
29627
29626
  col.key
29628
29627
  );
29629
29628
  }),
29630
- hasActions && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { "aria-hidden": true })
29629
+ hasActions && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { "aria-hidden": true, className: "sticky right-0 bg-[var(--color-surface-subtle)]" })
29631
29630
  ]
29632
29631
  }
29633
29632
  );
@@ -29671,41 +29670,54 @@ function TableView({
29671
29670
  }
29672
29671
  return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: formatCell(raw, col.format) }) }, col.key);
29673
29672
  }),
29674
- itemActions && itemActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", className: "justify-end flex-shrink-0 opacity-60 group-hover:opacity-100 transition-opacity", children: [
29675
- (maxInlineActions != null ? itemActions.slice(0, maxInlineActions) : itemActions).map((action, i) => /* @__PURE__ */ jsxRuntime.jsxs(
29676
- exports.Button,
29677
- {
29678
- variant: action.variant ?? "ghost",
29679
- size: "sm",
29680
- onClick: handleActionClick(action, row),
29681
- "data-testid": `action-${action.event}`,
29682
- "data-row-id": String(row.id),
29683
- className: cn(action.variant === "danger" && "text-error hover:bg-error/10"),
29684
- children: [
29685
- action.icon && renderIconInput3(action.icon, { size: "xs", className: "mr-1" }),
29686
- action.label
29687
- ]
29688
- },
29689
- i
29690
- )),
29691
- maxInlineActions != null && itemActions.length > maxInlineActions && /* @__PURE__ */ jsxRuntime.jsx(
29692
- exports.Menu,
29693
- {
29694
- position: "bottom-end",
29695
- trigger: /* @__PURE__ */ jsxRuntime.jsx(exports.Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "more-horizontal", size: "xs" }) }),
29696
- items: itemActions.slice(maxInlineActions).map((action) => ({
29697
- label: action.label,
29698
- icon: action.icon,
29699
- event: action.event,
29700
- variant: action.variant === "danger" ? "danger" : "default",
29701
- onClick: () => eventBus.emit(`UI:${action.event}`, {
29702
- id: row.id,
29703
- row
29704
- })
29705
- }))
29706
- }
29707
- )
29708
- ] })
29673
+ itemActions && itemActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
29674
+ exports.HStack,
29675
+ {
29676
+ gap: "xs",
29677
+ className: cn(
29678
+ // Pinned: the fixed column tracks routinely overflow the caller's
29679
+ // scroll container, which used to leave the actions off-screen.
29680
+ // Opaque so scrolled cells pass underneath it.
29681
+ "justify-end flex-shrink-0 sticky right-0 z-[1] transition-colors",
29682
+ lk.striped && index % 2 === 1 ? "bg-[var(--color-surface-subtle)]" : "bg-[var(--color-card)] group-hover:bg-[var(--color-surface-subtle)]"
29683
+ ),
29684
+ children: [
29685
+ (maxInlineActions != null ? itemActions.slice(0, maxInlineActions) : itemActions).map((action, i) => /* @__PURE__ */ jsxRuntime.jsxs(
29686
+ exports.Button,
29687
+ {
29688
+ variant: action.variant ?? "ghost",
29689
+ size: "sm",
29690
+ onClick: handleActionClick(action, row),
29691
+ "data-testid": `action-${action.event}`,
29692
+ "data-row-id": String(row.id),
29693
+ className: cn(action.variant === "danger" && "text-error hover:bg-error/10"),
29694
+ children: [
29695
+ action.icon && renderIconInput3(action.icon, { size: "xs", className: "mr-1" }),
29696
+ action.label
29697
+ ]
29698
+ },
29699
+ i
29700
+ )),
29701
+ maxInlineActions != null && itemActions.length > maxInlineActions && /* @__PURE__ */ jsxRuntime.jsx(
29702
+ exports.Menu,
29703
+ {
29704
+ position: "bottom-end",
29705
+ trigger: /* @__PURE__ */ jsxRuntime.jsx(exports.Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "more-horizontal", size: "xs" }) }),
29706
+ items: itemActions.slice(maxInlineActions).map((action) => ({
29707
+ label: action.label,
29708
+ icon: action.icon,
29709
+ event: action.event,
29710
+ variant: action.variant === "danger" ? "danger" : "default",
29711
+ onClick: () => eventBus.emit(`UI:${action.event}`, {
29712
+ id: row.id,
29713
+ row
29714
+ })
29715
+ }))
29716
+ }
29717
+ )
29718
+ ]
29719
+ }
29720
+ )
29709
29721
  ]
29710
29722
  }
29711
29723
  );
@@ -32480,6 +32492,7 @@ var init_QrScanner = __esm({
32480
32492
  overflow: "hidden",
32481
32493
  rounded: "sm",
32482
32494
  className: cn(
32495
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32483
32496
  "bg-black",
32484
32497
  "aspect-square w-full max-w-md",
32485
32498
  className
@@ -32544,7 +32557,9 @@ var init_QrScanner = __esm({
32544
32557
  type: "button",
32545
32558
  onClick: togglePause,
32546
32559
  className: cn(
32560
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32547
32561
  "rounded-full bg-black bg-opacity-60 p-2 text-white",
32562
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32548
32563
  "hover:bg-opacity-80 focus:outline-none focus:ring-2 focus:ring-white"
32549
32564
  ),
32550
32565
  "aria-label": isPaused ? t("qrScanner.resumeScanning") : t("qrScanner.pauseScanning"),
@@ -32557,7 +32572,9 @@ var init_QrScanner = __esm({
32557
32572
  type: "button",
32558
32573
  onClick: toggleFacing,
32559
32574
  className: cn(
32575
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32560
32576
  "rounded-full bg-black bg-opacity-60 p-2 text-white",
32577
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32561
32578
  "hover:bg-opacity-80 focus:outline-none focus:ring-2 focus:ring-white"
32562
32579
  ),
32563
32580
  "aria-label": currentFacing === "environment" ? t("qrScanner.switchToFrontCamera") : t("qrScanner.switchToRearCamera"),
@@ -32570,7 +32587,9 @@ var init_QrScanner = __esm({
32570
32587
  type: "button",
32571
32588
  onClick: handleMockScan,
32572
32589
  className: cn(
32590
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32573
32591
  "rounded-full bg-black bg-opacity-60 px-3 py-2 text-xs text-white",
32592
+ // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
32574
32593
  "hover:bg-opacity-80 focus:outline-none focus:ring-2 focus:ring-white"
32575
32594
  ),
32576
32595
  "aria-label": t("aria.mockScanDev"),
@@ -35306,10 +35325,10 @@ var init_ModuleCard = __esm({
35306
35325
  init_avl_atom_types();
35307
35326
  init_MiniStateMachine();
35308
35327
  PERSISTENCE_BORDER = {
35309
- persistent: "border-l-[3px] border-l-blue-500 border-solid",
35310
- runtime: "border-l-[3px] border-l-blue-500 border-dashed",
35311
- singleton: "border-l-[3px] border-l-blue-500 border-double",
35312
- instance: "border-l-[3px] border-l-blue-500 border-dotted"
35328
+ persistent: "border-l-[3px] border-l-primary border-solid",
35329
+ runtime: "border-l-[3px] border-l-primary border-dashed",
35330
+ singleton: "border-l-[3px] border-l-primary border-double",
35331
+ instance: "border-l-[3px] border-l-primary border-dotted"
35313
35332
  };
35314
35333
  PERSISTENCE_ICON = {
35315
35334
  persistent: "\u26C1",
@@ -35339,8 +35358,8 @@ var init_ModuleCard = __esm({
35339
35358
  className: "rounded-lg border border-[var(--color-border)] bg-[var(--color-card)] shadow-sm overflow-hidden",
35340
35359
  style: { minWidth: 280, maxWidth: 400 },
35341
35360
  children: [
35342
- /* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "target", position: react.Position.Left, className: "!w-2.5 !h-2.5 !bg-orange-400" }),
35343
- /* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "source", position: react.Position.Right, className: "!w-2.5 !h-2.5 !bg-orange-400" }),
35361
+ /* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "target", position: react.Position.Left, className: "!w-2.5 !h-2.5 !bg-warning" }),
35362
+ /* @__PURE__ */ jsxRuntime.jsx(react.Handle, { type: "source", position: react.Position.Right, className: "!w-2.5 !h-2.5 !bg-warning" }),
35344
35363
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold text-[var(--color-foreground)]", children: orbitalName }) }),
35345
35364
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `px-3 py-2 border-b border-[var(--color-border)] ${PERSISTENCE_BORDER[persistence] ?? ""}`, children: [
35346
35365
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 mb-1.5", children: [
@@ -37796,19 +37815,19 @@ var init_ReflectionBlock = __esm({
37796
37815
  "div",
37797
37816
  {
37798
37817
  className: cn(
37799
- "my-6 border-l-4 border-amber-400 bg-amber-50 dark:bg-amber-900/20 rounded-r-lg p-4",
37818
+ "my-6 border-l-4 border-warning bg-warning/10 rounded-r-lg p-4",
37800
37819
  className
37801
37820
  ),
37802
37821
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
37803
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.PauseCircle, { className: "text-amber-600 dark:text-amber-400 flex-shrink-0 mt-1", size: 20 }),
37822
+ /* @__PURE__ */ jsxRuntime.jsx(LucideIcons2.PauseCircle, { className: "text-warning flex-shrink-0 mt-1", size: 20 }),
37804
37823
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
37805
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium text-amber-900 dark:text-amber-100 mb-2", children: "Pause & Reflect" }),
37806
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-gray-700 dark:text-gray-300 text-sm mb-3", children: prompt }),
37824
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium text-warning mb-2", children: "Pause & Reflect" }),
37825
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground text-sm mb-3", children: prompt }),
37807
37826
  isExpanded ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
37808
37827
  /* @__PURE__ */ jsxRuntime.jsx(
37809
37828
  "textarea",
37810
37829
  {
37811
- className: "w-full p-2 border border-amber-300 dark:border-amber-700 rounded text-sm bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 focus:ring-2 focus:ring-amber-500 focus:border-transparent",
37830
+ className: "w-full p-2 border border-input rounded text-sm bg-card text-foreground focus:ring-2 focus:ring-ring focus:border-transparent",
37812
37831
  placeholder: "Your thoughts...",
37813
37832
  value: note,
37814
37833
  onChange: (e) => setNote(e.target.value),
@@ -37819,7 +37838,7 @@ var init_ReflectionBlock = __esm({
37819
37838
  "button",
37820
37839
  {
37821
37840
  onClick: handleSave,
37822
- className: "mt-2 text-sm px-3 py-1 bg-amber-600 text-white rounded hover:bg-amber-700 transition-colors",
37841
+ className: "mt-2 text-sm px-3 py-1 bg-warning text-warning-foreground rounded hover:opacity-90 transition-colors",
37823
37842
  children: "Save & Continue"
37824
37843
  }
37825
37844
  )
@@ -37827,7 +37846,7 @@ var init_ReflectionBlock = __esm({
37827
37846
  "button",
37828
37847
  {
37829
37848
  onClick: () => setIsExpanded(true),
37830
- className: "text-sm text-amber-600 dark:text-amber-400 hover:underline",
37849
+ className: "text-sm text-warning hover:underline",
37831
37850
  children: savedNote ? "\u2713 Answered \xB7 Edit" : "Answer this question"
37832
37851
  }
37833
37852
  )
@@ -38331,7 +38350,7 @@ function DataTable({
38331
38350
  )),
38332
38351
  rowActions && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "w-12 px-4 py-3" })
38333
38352
  ] }) }),
38334
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200 dark:divide-gray-700", children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
38353
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-border", children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
38335
38354
  "td",
38336
38355
  {
38337
38356
  colSpan: normalizedColumns.length + (selectable ? 1 : 0) + (rowActions ? 1 : 0),
@@ -38651,6 +38670,16 @@ function normalizeFieldDefs(fields) {
38651
38670
  return String(f3);
38652
38671
  });
38653
38672
  }
38673
+ function buildFieldLabelMap(fields) {
38674
+ const map = {};
38675
+ if (!fields) return map;
38676
+ for (const f3 of fields) {
38677
+ if (typeof f3 === "object" && "key" in f3 && f3.header !== void 0 && f3.header !== "") {
38678
+ map[f3.key] = f3.header;
38679
+ }
38680
+ }
38681
+ return map;
38682
+ }
38654
38683
  function buildFieldTypeMap(fields) {
38655
38684
  const map = {};
38656
38685
  if (!fields) return map;
@@ -38702,7 +38731,9 @@ var init_DetailPanel = __esm({
38702
38731
  };
38703
38732
  const effectiveFieldNames = isFieldDefArray(propFields) ? normalizeFieldDefs(propFields) : fieldNames;
38704
38733
  const fieldTypeMap = isFieldDefArray(propFields) ? buildFieldTypeMap(propFields) : {};
38705
- React74.useCallback(
38734
+ const fieldLabelMap = isFieldDefArray(propFields) ? buildFieldLabelMap(propFields) : {};
38735
+ const labelFor = (field) => fieldLabelMap[field] ?? formatFieldLabel(field);
38736
+ const handleActionClick = React74.useCallback(
38706
38737
  (action, data2) => {
38707
38738
  if (action.navigatesTo) {
38708
38739
  const url = action.navigatesTo.replace(
@@ -38737,7 +38768,7 @@ var init_DetailPanel = __esm({
38737
38768
  if (typeof field === "string") {
38738
38769
  const value = getNestedValue(normalizedData, field);
38739
38770
  return {
38740
- label: formatFieldLabel(field),
38771
+ label: labelFor(field),
38741
38772
  value: formatFieldValue(value, field),
38742
38773
  icon: getFieldIcon(field)
38743
38774
  };
@@ -38748,7 +38779,10 @@ var init_DetailPanel = __esm({
38748
38779
  }
38749
38780
  if (normalizedData && effectiveFieldNames) {
38750
38781
  const primaryField = effectiveFieldNames[0];
38751
- if (!title && primaryField && normalizedData[primaryField]) {
38782
+ const titleDerivedFromPrimary = Boolean(
38783
+ !title && primaryField && normalizedData[primaryField]
38784
+ );
38785
+ if (titleDerivedFromPrimary) {
38752
38786
  title = String(normalizedData[primaryField]);
38753
38787
  }
38754
38788
  const statusFields = effectiveFieldNames.filter(
@@ -38767,16 +38801,16 @@ var init_DetailPanel = __esm({
38767
38801
  (f3) => f3.toLowerCase().includes("description") || f3.toLowerCase().includes("note")
38768
38802
  );
38769
38803
  const otherFields = effectiveFieldNames.filter(
38770
- (f3) => f3 !== primaryField && !statusFields.includes(f3) && !progressFields.includes(f3) && !metricFields.includes(f3) && !dateFields.includes(f3) && !descriptionFields.includes(f3)
38804
+ (f3) => (!titleDerivedFromPrimary || f3 !== primaryField) && !statusFields.includes(f3) && !progressFields.includes(f3) && !metricFields.includes(f3) && !dateFields.includes(f3) && !descriptionFields.includes(f3)
38771
38805
  );
38772
38806
  sections = [];
38773
38807
  if (statusFields.length > 0 || otherFields.length > 0) {
38774
38808
  const overviewFields = [];
38775
- [...statusFields, ...otherFields.slice(0, 3)].forEach((field) => {
38809
+ [...statusFields, ...otherFields].forEach((field) => {
38776
38810
  const value = getNestedValue(normalizedData, field);
38777
38811
  if (value !== void 0 && value !== null) {
38778
38812
  overviewFields.push({
38779
- label: formatFieldLabel(field),
38813
+ label: labelFor(field),
38780
38814
  value: renderRichFieldValue(value, field, fieldTypeMap[field]),
38781
38815
  icon: getFieldIcon(field)
38782
38816
  });
@@ -38792,7 +38826,7 @@ var init_DetailPanel = __esm({
38792
38826
  const value = getNestedValue(normalizedData, field);
38793
38827
  if (value !== void 0 && value !== null) {
38794
38828
  metricsFields.push({
38795
- label: formatFieldLabel(field),
38829
+ label: labelFor(field),
38796
38830
  value: renderRichFieldValue(value, field, fieldTypeMap[field]),
38797
38831
  icon: getFieldIcon(field)
38798
38832
  });
@@ -38808,7 +38842,7 @@ var init_DetailPanel = __esm({
38808
38842
  const value = getNestedValue(normalizedData, field);
38809
38843
  if (value !== void 0 && value !== null) {
38810
38844
  timelineFields.push({
38811
- label: formatFieldLabel(field),
38845
+ label: labelFor(field),
38812
38846
  value: renderRichFieldValue(value, field, fieldTypeMap[field]),
38813
38847
  icon: getFieldIcon(field)
38814
38848
  });
@@ -38824,7 +38858,7 @@ var init_DetailPanel = __esm({
38824
38858
  const value = getNestedValue(normalizedData, field);
38825
38859
  if (value !== void 0 && value !== null) {
38826
38860
  descFields.push({
38827
- label: formatFieldLabel(field),
38861
+ label: labelFor(field),
38828
38862
  value: renderRichFieldValue(value, field, fieldTypeMap[field]),
38829
38863
  icon: getFieldIcon(field)
38830
38864
  });
@@ -38872,7 +38906,7 @@ var init_DetailPanel = __esm({
38872
38906
  if (typeof field === "string") {
38873
38907
  const value = normalizedData ? getNestedValue(normalizedData, field) : void 0;
38874
38908
  allFields.push({
38875
- label: formatFieldLabel(field),
38909
+ label: labelFor(field),
38876
38910
  value: renderRichFieldValue(value, field, fieldTypeMap[field]),
38877
38911
  icon: getFieldIcon(field)
38878
38912
  });
@@ -38894,8 +38928,9 @@ var init_DetailPanel = __esm({
38894
38928
  {
38895
38929
  variant: action.variant || "secondary",
38896
38930
  size: "sm",
38897
- action: action.event,
38931
+ action: action.navigatesTo ? void 0 : action.event,
38898
38932
  actionPayload: { row: normalizedData },
38933
+ onClick: action.navigatesTo ? () => handleActionClick(action, normalizedData) : void 0,
38899
38934
  icon: action.icon,
38900
38935
  "data-testid": action.event ? `action-${action.event}` : void 0,
38901
38936
  "data-row-id": normalizedData?.id !== void 0 ? String(normalizedData.id) : void 0,
@@ -40938,8 +40973,9 @@ var init_MediaGallery = __esm({
40938
40973
  )
40939
40974
  }
40940
40975
  ),
40941
- item.caption && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute bottom-0 left-0 right-0 p-2 bg-gradient-to-t from-black/60 to-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-white truncate", children: item.caption }) }),
40942
- selectable && isSelected && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute top-2 right-2 w-5 h-5 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-white text-xs", children: "\u2713" }) })
40976
+ item.caption && // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: caption scrim over image
40977
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute bottom-0 left-0 right-0 p-2 bg-gradient-to-t from-black/60 to-transparent", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-white truncate", children: item.caption }) }),
40978
+ selectable && isSelected && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute top-2 right-2 w-5 h-5 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-primary-foreground text-xs", children: "\u2713" }) })
40943
40979
  ]
40944
40980
  },
40945
40981
  item.id
@@ -40968,7 +41004,7 @@ var init_MediaGallery = __esm({
40968
41004
  size: "sm",
40969
41005
  icon: LucideIcons2.X,
40970
41006
  action: "LIGHTBOX_CLOSE",
40971
- className: "text-white hover:bg-white/20"
41007
+ className: "text-foreground hover:bg-muted/50"
40972
41008
  }
40973
41009
  ) }),
40974
41010
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -40979,7 +41015,7 @@ var init_MediaGallery = __esm({
40979
41015
  className: "max-w-full max-h-[80vh] object-contain rounded-md"
40980
41016
  }
40981
41017
  ),
40982
- lightboxItem.caption && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-white mt-3 text-center", children: lightboxItem.caption })
41018
+ lightboxItem.caption && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-foreground mt-3 text-center", children: lightboxItem.caption })
40983
41019
  ]
40984
41020
  }
40985
41021
  )
@@ -41421,7 +41457,7 @@ function WalkMinimap() {
41421
41457
  {
41422
41458
  variant,
41423
41459
  size: "sm",
41424
- className: `flex-shrink-0 text-[9px] ${isActive ? "ring-1 ring-cyan-400" : ""}`,
41460
+ className: `flex-shrink-0 text-[9px] ${isActive ? "ring-1 ring-info" : ""}`,
41425
41461
  children: [
41426
41462
  isDone ? "\u2713" : isActive ? "\u25CF" : "\u25CB",
41427
41463
  " ",
@@ -41562,13 +41598,13 @@ function WalkMinimap() {
41562
41598
  })
41563
41599
  ] }) }),
41564
41600
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "px-2 py-1 border-t border-border", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", className: "items-center justify-between", children: [
41565
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-xs font-mono text-green-500", children: [
41601
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-xs font-mono text-success", children: [
41566
41602
  "Engine: ",
41567
41603
  engineCount,
41568
41604
  "/",
41569
41605
  totalTransitions
41570
41606
  ] }),
41571
- domCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-xs font-mono text-cyan-500", children: [
41607
+ domCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-xs font-mono text-info", children: [
41572
41608
  "DOM: ",
41573
41609
  domCount
41574
41610
  ] }),
@@ -41601,13 +41637,13 @@ function TraitsTab({ traits: traits2 }) {
41601
41637
  const accordionItems = traits2.map((trait) => ({
41602
41638
  id: trait.id,
41603
41639
  header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 w-full", children: [
41604
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-purple-600 dark:text-purple-400", children: trait.name }),
41640
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-primary", children: trait.name }),
41605
41641
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "success", size: "sm", children: trait.currentState }),
41606
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500 ml-auto", children: t("debug.transitionsCount", { count: trait.transitionCount }) })
41642
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground ml-auto", children: t("debug.transitionsCount", { count: trait.transitionCount }) })
41607
41643
  ] }),
41608
41644
  content: /* @__PURE__ */ jsxRuntime.jsxs(exports.Stack, { gap: "sm", children: [
41609
41645
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41610
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: t("debug.states") }),
41646
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: t("debug.states") }),
41611
41647
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: trait.states.map((state) => /* @__PURE__ */ jsxRuntime.jsx(
41612
41648
  exports.Badge,
41613
41649
  {
@@ -41619,18 +41655,18 @@ function TraitsTab({ traits: traits2 }) {
41619
41655
  )) })
41620
41656
  ] }),
41621
41657
  trait.transitions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41622
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: t("debug.transitions") }),
41658
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: t("debug.transitions") }),
41623
41659
  /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "xs", children: trait.transitions.map((t2, i) => /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "font-mono", children: [
41624
41660
  t2.from,
41625
41661
  " \u2192 ",
41626
41662
  t2.to,
41627
41663
  " ",
41628
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-500", children: [
41664
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
41629
41665
  "(",
41630
41666
  t2.event,
41631
41667
  ")"
41632
41668
  ] }),
41633
- t2.guard && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-amber-500", children: [
41669
+ t2.guard && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-warning", children: [
41634
41670
  " [",
41635
41671
  t2.guard,
41636
41672
  "]"
@@ -41638,7 +41674,7 @@ function TraitsTab({ traits: traits2 }) {
41638
41674
  ] }, i)) })
41639
41675
  ] }),
41640
41676
  trait.guards.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41641
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: t("debug.guards") }),
41677
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: t("debug.guards") }),
41642
41678
  /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "xs", children: trait.guards.map((g, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
41643
41679
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", children: g.name }),
41644
41680
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: g.lastResult === true ? "success" : g.lastResult === false ? "danger" : "default", size: "sm", children: g.lastResult === void 0 ? "?" : g.lastResult ? "\u2713" : "\u2717" })
@@ -41681,11 +41717,11 @@ function TicksTab({ ticks: ticks2 }) {
41681
41717
  };
41682
41718
  const TickCard = ({ tick, active }) => /* @__PURE__ */ jsxRuntime.jsxs(exports.Card, { className: `p-3 ${!active ? "opacity-50" : ""}`, children: [
41683
41719
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mb-2", children: [
41684
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `w-2 h-2 rounded-full ${active ? "bg-green-500" : "bg-gray-400"}` }),
41685
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-amber-600 dark:text-amber-400", children: tick.name }),
41686
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500", children: tick.traitName })
41720
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `w-2 h-2 rounded-full ${active ? "bg-success" : "bg-muted-foreground"}` }),
41721
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-warning", children: tick.name }),
41722
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: tick.traitName })
41687
41723
  ] }),
41688
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 text-xs text-gray-500", children: [
41724
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 text-xs text-muted-foreground", children: [
41689
41725
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
41690
41726
  tick.interval,
41691
41727
  "ms"
@@ -41708,7 +41744,7 @@ function TicksTab({ ticks: ticks2 }) {
41708
41744
  ] });
41709
41745
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "debug-tab debug-tab--ticks", children: [
41710
41746
  activeTicks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
41711
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: [
41747
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: [
41712
41748
  "Active (",
41713
41749
  activeTicks.length,
41714
41750
  ")"
@@ -41716,7 +41752,7 @@ function TicksTab({ ticks: ticks2 }) {
41716
41752
  /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "sm", children: activeTicks.map((tick) => /* @__PURE__ */ jsxRuntime.jsx(TickCard, { tick, active: true }, tick.id)) })
41717
41753
  ] }),
41718
41754
  inactiveTicks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41719
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-400 mb-2", children: [
41755
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: [
41720
41756
  "Inactive (",
41721
41757
  inactiveTicks.length,
41722
41758
  ")"
@@ -41764,33 +41800,33 @@ function EntitiesTab({ snapshot }) {
41764
41800
  id: `singleton-${name}`,
41765
41801
  header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
41766
41802
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "primary", size: "sm", children: t("debug.singleton") }),
41767
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-sky-600 dark:text-sky-400", children: name })
41803
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-info", children: name })
41768
41804
  ] }),
41769
- content: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs text-gray-600 dark:text-gray-400 bg-gray-50 dark:bg-gray-800 p-2 rounded overflow-auto max-h-40", children: JSON.stringify(data, null, 2) })
41805
+ content: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs text-muted-foreground bg-muted p-2 rounded overflow-auto max-h-40", children: JSON.stringify(data, null, 2) })
41770
41806
  }));
41771
41807
  const runtimeItems = runtimeEntities.slice(0, 20).map((entity) => ({
41772
41808
  id: entity.id,
41773
41809
  header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
41774
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-sky-600 dark:text-sky-400", children: entity.type }),
41775
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-gray-500", children: [
41810
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-info", children: entity.type }),
41811
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-muted-foreground", children: [
41776
41812
  "#",
41777
41813
  entity.id.slice(0, 8)
41778
41814
  ] })
41779
41815
  ] }),
41780
- content: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs text-gray-600 dark:text-gray-400 bg-gray-50 dark:bg-gray-800 p-2 rounded overflow-auto max-h-40", children: JSON.stringify(entity.data, null, 2) })
41816
+ content: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs text-muted-foreground bg-muted p-2 rounded overflow-auto max-h-40", children: JSON.stringify(entity.data, null, 2) })
41781
41817
  }));
41782
41818
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "debug-tab debug-tab--entities", children: [
41783
41819
  singletonItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
41784
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: t("debug.singletonsCount", { count: singletonItems.length }) }),
41820
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: t("debug.singletonsCount", { count: singletonItems.length }) }),
41785
41821
  /* @__PURE__ */ jsxRuntime.jsx(exports.Accordion, { items: singletonItems, multiple: true })
41786
41822
  ] }),
41787
41823
  runtimeItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
41788
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: t("debug.runtimeCount", { count: runtimeEntities.length }) }),
41824
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: t("debug.runtimeCount", { count: runtimeEntities.length }) }),
41789
41825
  /* @__PURE__ */ jsxRuntime.jsx(exports.Accordion, { items: runtimeItems, multiple: true }),
41790
- runtimeEntities.length > 20 && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400 text-center mt-2", children: t("debug.moreEntities", { count: runtimeEntities.length - 20 }) })
41826
+ runtimeEntities.length > 20 && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground text-center mt-2", children: t("debug.moreEntities", { count: runtimeEntities.length - 20 }) })
41791
41827
  ] }),
41792
41828
  persistentEntries.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41793
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-2", children: t("debug.persistent") }),
41829
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-2", children: t("debug.persistent") }),
41794
41830
  /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "xs", children: persistentEntries.map(([type, info]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between py-1", children: [
41795
41831
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", children: type }),
41796
41832
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: info.loaded ? "success" : "default", size: "sm", children: info.loaded ? t("debug.loadedCount", { count: info.count }) : t("debug.notLoaded") })
@@ -41875,7 +41911,7 @@ function EventFlowTab({ events: events2 }) {
41875
41911
  );
41876
41912
  })
41877
41913
  ] }),
41878
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-xs text-gray-500 ml-auto cursor-pointer", children: [
41914
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-xs text-muted-foreground ml-auto cursor-pointer", children: [
41879
41915
  /* @__PURE__ */ jsxRuntime.jsx(
41880
41916
  exports.Checkbox,
41881
41917
  {
@@ -41890,18 +41926,18 @@ function EventFlowTab({ events: events2 }) {
41890
41926
  "div",
41891
41927
  {
41892
41928
  ref: containerRef,
41893
- className: "max-h-64 overflow-y-auto space-y-1 bg-gray-50 dark:bg-gray-800 rounded p-2",
41929
+ className: "max-h-64 overflow-y-auto space-y-1 bg-muted rounded p-2",
41894
41930
  children: filteredEvents.slice(-100).map((event) => {
41895
41931
  const { variant, icon } = TYPE_BADGES[event.type] || { variant: "default", icon: "\u2022" };
41896
41932
  return /* @__PURE__ */ jsxRuntime.jsxs(
41897
41933
  "div",
41898
41934
  {
41899
- className: "flex items-start gap-2 text-xs py-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded px-1",
41935
+ className: "flex items-start gap-2 text-xs py-1 hover:bg-muted/50 rounded px-1",
41900
41936
  children: [
41901
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400 font-mono min-w-[65px]", children: formatTime2(event.timestamp) }),
41937
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground font-mono min-w-[65px]", children: formatTime2(event.timestamp) }),
41902
41938
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: icon }),
41903
41939
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant, size: "sm", className: "min-w-[60px] justify-center", children: event.source }),
41904
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-600 dark:text-gray-400", children: event.message })
41940
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: event.message })
41905
41941
  ]
41906
41942
  },
41907
41943
  event.id
@@ -41965,21 +42001,21 @@ function GuardsPanel({ guards }) {
41965
42001
  id: guard.id,
41966
42002
  header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 w-full", children: [
41967
42003
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: guard.result ? "success" : "danger", size: "sm", children: guard.result ? "\u2713" : "\u2717" }),
41968
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-amber-600 dark:text-amber-400", children: guard.guardName }),
41969
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500", children: guard.context.type === "transition" ? `${guard.context.transitionFrom} \u2192 ${guard.context.transitionTo}` : guard.context.tickName }),
41970
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400 ml-auto", children: formatTime2(guard.timestamp) })
42004
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "semibold", className: "text-warning", children: guard.guardName }),
42005
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: guard.context.type === "transition" ? `${guard.context.transitionFrom} \u2192 ${guard.context.transitionTo}` : guard.context.tickName }),
42006
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground ml-auto", children: formatTime2(guard.timestamp) })
41971
42007
  ] }),
41972
42008
  content: /* @__PURE__ */ jsxRuntime.jsxs(exports.Stack, { gap: "sm", children: [
41973
42009
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41974
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500", children: t("debug.expression") }),
41975
- /* @__PURE__ */ jsxRuntime.jsx("code", { className: "block mt-1 text-xs text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 px-2 py-1 rounded", children: guard.expression })
42010
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground", children: t("debug.expression") }),
42011
+ /* @__PURE__ */ jsxRuntime.jsx("code", { className: "block mt-1 text-xs text-warning bg-warning/10 px-2 py-1 rounded", children: guard.expression })
41976
42012
  ] }),
41977
42013
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41978
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500", children: t("debug.inputs") }),
41979
- /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 text-xs text-gray-600 dark:text-gray-400 bg-gray-50 dark:bg-gray-800 p-2 rounded overflow-auto max-h-24", children: JSON.stringify(guard.inputs, null, 2) })
42014
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground", children: t("debug.inputs") }),
42015
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-1 text-xs text-muted-foreground bg-muted p-2 rounded overflow-auto max-h-24", children: JSON.stringify(guard.inputs, null, 2) })
41980
42016
  ] }),
41981
42017
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
41982
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500", children: t("debug.trait") }),
42018
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground", children: t("debug.trait") }),
41983
42019
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", children: guard.context.traitName })
41984
42020
  ] })
41985
42021
  ] })
@@ -42035,7 +42071,7 @@ function VerificationTab({ checks, summary }) {
42035
42071
  (a, b) => (sortOrder[a.status] ?? 4) - (sortOrder[b.status] ?? 4)
42036
42072
  );
42037
42073
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "debug-tab debug-tab--verification", children: [
42038
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 mb-3 p-2 bg-gray-50 dark:bg-gray-800 rounded", children: [
42074
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 mb-3 p-2 bg-muted rounded", children: [
42039
42075
  /* @__PURE__ */ jsxRuntime.jsxs(exports.Badge, { variant: "success", size: "sm", children: [
42040
42076
  summary.passed,
42041
42077
  " passed"
@@ -42052,7 +42088,7 @@ function VerificationTab({ checks, summary }) {
42052
42088
  summary.pending,
42053
42089
  " pending"
42054
42090
  ] }),
42055
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-gray-500 ml-auto", children: [
42091
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-muted-foreground ml-auto", children: [
42056
42092
  summary.totalChecks,
42057
42093
  " total checks"
42058
42094
  ] })
@@ -42062,12 +42098,12 @@ function VerificationTab({ checks, summary }) {
42062
42098
  return /* @__PURE__ */ jsxRuntime.jsxs(
42063
42099
  "div",
42064
42100
  {
42065
- className: "flex items-start gap-2 p-2 rounded hover:bg-gray-50 dark:hover:bg-gray-800",
42101
+ className: "flex items-start gap-2 p-2 rounded hover:bg-muted/50",
42066
42102
  children: [
42067
42103
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: config.variant, size: "sm", className: "min-w-[20px] justify-center mt-0.5", children: config.icon }),
42068
42104
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
42069
42105
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "break-words", children: check.label }),
42070
- check.details && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500 break-words", children: check.details })
42106
+ check.details && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground break-words", children: check.details })
42071
42107
  ] }),
42072
42108
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground font-mono text-xs shrink-0", children: new Date(check.updatedAt).toLocaleTimeString("en-US", {
42073
42109
  hour12: false,
@@ -42102,10 +42138,10 @@ var init_VerificationTab = __esm({
42102
42138
  function EffectBadge({ effect }) {
42103
42139
  const variant = EFFECT_STATUS_VARIANT[effect.status] || "default";
42104
42140
  const icon = effect.status === "executed" ? "\u2713" : effect.status === "failed" ? "\u2717" : "-";
42105
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 text-xs font-mono bg-gray-100 dark:bg-gray-700 rounded px-1.5 py-0.5", children: [
42141
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 text-xs font-mono bg-muted rounded px-1.5 py-0.5", children: [
42106
42142
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant, size: "sm", className: "!text-[9px] !px-1 !py-0", children: icon }),
42107
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600 dark:text-gray-400", children: effect.type }),
42108
- effect.error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500 truncate max-w-[120px]", title: effect.error, children: effect.error })
42143
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: effect.type }),
42144
+ effect.error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-error truncate max-w-[120px]", title: effect.error, children: effect.error })
42109
42145
  ] });
42110
42146
  }
42111
42147
  function TransitionTimeline({ transitions }) {
@@ -42140,8 +42176,8 @@ function TransitionTimeline({ transitions }) {
42140
42176
  const sorted = [...transitions].reverse();
42141
42177
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "debug-tab debug-tab--timeline", children: [
42142
42178
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
42143
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500", children: t("debug.transitionsRecorded", { count: transitions.length }) }),
42144
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-xs text-gray-500 cursor-pointer", children: [
42179
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: t("debug.transitionsRecorded", { count: transitions.length }) }),
42180
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-xs text-muted-foreground cursor-pointer", children: [
42145
42181
  /* @__PURE__ */ jsxRuntime.jsx(
42146
42182
  exports.Checkbox,
42147
42183
  {
@@ -42166,22 +42202,22 @@ function TransitionTimeline({ transitions }) {
42166
42202
  {
42167
42203
  className: `
42168
42204
  relative pl-6 pb-3 border-l-2 cursor-pointer
42169
- hover:bg-gray-50 dark:hover:bg-gray-800 rounded-r
42170
- ${hasFailedEffects ? "border-red-300 dark:border-red-700" : "border-gray-200 dark:border-gray-700"}
42205
+ hover:bg-muted/50 rounded-r
42206
+ ${hasFailedEffects ? "border-error" : "border-border"}
42171
42207
  `,
42172
42208
  onClick: () => setExpandedId(isExpanded ? null : trace.id),
42173
42209
  children: [
42174
42210
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `
42175
42211
  absolute left-[-5px] top-1 w-2 h-2 rounded-full
42176
- ${hasFailedEffects ? "bg-red-500" : allPassed ? "bg-green-500" : "bg-gray-400"}
42212
+ ${hasFailedEffects ? "bg-error" : allPassed ? "bg-success" : "bg-muted-foreground"}
42177
42213
  ` }),
42178
42214
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-xs py-1 px-2", children: [
42179
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400 font-mono min-w-[65px]", children: formatTime2(trace.timestamp) }),
42215
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground font-mono min-w-[65px]", children: formatTime2(trace.timestamp) }),
42180
42216
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "primary", size: "sm", className: "min-w-[60px] justify-center", children: trace.traitName }),
42181
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "font-mono text-gray-600 dark:text-gray-400", children: [
42217
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "font-mono text-muted-foreground", children: [
42182
42218
  trace.from,
42183
42219
  " ",
42184
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "\u2192" }),
42220
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground/50", children: "\u2192" }),
42185
42221
  " ",
42186
42222
  trace.to
42187
42223
  ] }),
@@ -42198,9 +42234,9 @@ function TransitionTimeline({ transitions }) {
42198
42234
  ]
42199
42235
  }
42200
42236
  ),
42201
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400 ml-auto", children: t("debug.effectsCount", { count: trace.effects.length }) })
42237
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground ml-auto", children: t("debug.effectsCount", { count: trace.effects.length }) })
42202
42238
  ] }),
42203
- isExpanded && trace.effects.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-2 mt-1 mb-2 pl-2 border-l border-gray-200 dark:border-gray-700 space-y-1", children: trace.effects.map((effect, eIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
42239
+ isExpanded && trace.effects.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-2 mt-1 mb-2 pl-2 border-l border-border space-y-1", children: trace.effects.map((effect, eIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
42204
42240
  /* @__PURE__ */ jsxRuntime.jsx(EffectBadge, { effect }),
42205
42241
  effect.args.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground font-mono text-xs truncate max-w-[200px]", children: JSON.stringify(effect.args) }),
42206
42242
  effect.durationMs !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "text-muted-foreground text-xs", children: [
@@ -42234,8 +42270,8 @@ var init_TransitionTimeline = __esm({
42234
42270
  }
42235
42271
  });
42236
42272
  function StatRow({ label, value, variant }) {
42237
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between py-1.5 border-b border-gray-100 dark:border-gray-800 last:border-b-0", children: [
42238
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500", children: label }),
42273
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between py-1.5 border-b border-border last:border-b-0", children: [
42274
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: label }),
42239
42275
  variant ? /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant, size: "sm", children: String(value) }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "semibold", className: "font-mono", children: String(value) })
42240
42276
  ] });
42241
42277
  }
@@ -42264,7 +42300,7 @@ function ServerBridgeTab({ bridge }) {
42264
42300
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "debug-tab debug-tab--bridge", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.Stack, { gap: "sm", children: [
42265
42301
  /* @__PURE__ */ jsxRuntime.jsxs(exports.Card, { className: "p-3", children: [
42266
42302
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 mb-3", children: [
42267
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `w-3 h-3 rounded-full ${bridge.connected ? "bg-green-500 animate-pulse" : "bg-red-500"}` }),
42303
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `w-3 h-3 rounded-full ${bridge.connected ? "bg-success animate-pulse" : "bg-error"}` }),
42268
42304
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h6", children: bridge.connected ? t("debug.connected") : t("debug.disconnected") })
42269
42305
  ] }),
42270
42306
  /* @__PURE__ */ jsxRuntime.jsxs(exports.Stack, { gap: "xs", children: [
@@ -42299,11 +42335,11 @@ function ServerBridgeTab({ bridge }) {
42299
42335
  )
42300
42336
  ] })
42301
42337
  ] }),
42302
- bridge.lastError && /* @__PURE__ */ jsxRuntime.jsxs(exports.Card, { className: "p-3 border-red-200 dark:border-red-800 bg-red-50 dark:bg-red-950", children: [
42303
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "semibold", className: "text-red-600 dark:text-red-400 mb-1", children: t("debug.lastError") }),
42304
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-red-500 font-mono break-all", children: bridge.lastError })
42338
+ bridge.lastError && /* @__PURE__ */ jsxRuntime.jsxs(exports.Card, { className: "p-3 border-error/30 bg-error/10", children: [
42339
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "semibold", className: "text-error mb-1", children: t("debug.lastError") }),
42340
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-error font-mono break-all", children: bridge.lastError })
42305
42341
  ] }),
42306
- bridge.connected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400", children: t("debug.totalEventsProcessed", { count: bridge.eventsForwarded + bridge.eventsReceived }) }) })
42342
+ bridge.connected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center py-2", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: t("debug.totalEventsProcessed", { count: bridge.eventsForwarded + bridge.eventsReceived }) }) })
42307
42343
  ] }) });
42308
42344
  }
42309
42345
  var init_ServerBridgeTab = __esm({
@@ -42429,7 +42465,7 @@ function EventDispatcherTab({ traits: traits2, schema }) {
42429
42465
  };
42430
42466
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "debug-tab debug-tab--dispatch", children: [
42431
42467
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3", children: [
42432
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.activeStates") }),
42468
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-1", children: t("debug.activeStates") }),
42433
42469
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: traits2.map((trait) => /* @__PURE__ */ jsxRuntime.jsxs(exports.Badge, { variant: "success", size: "sm", children: [
42434
42470
  trait.name,
42435
42471
  ": ",
@@ -42437,8 +42473,8 @@ function EventDispatcherTab({ traits: traits2, schema }) {
42437
42473
  ] }, trait.id)) })
42438
42474
  ] }),
42439
42475
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3", children: [
42440
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.availableEvents") }),
42441
- availableEvents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-400 italic", children: t("debug.noTransitionsFromState") }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "xs", children: availableEvents.map(({ event, transitions }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
42476
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-1", children: t("debug.availableEvents") }),
42477
+ availableEvents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground italic", children: t("debug.noTransitionsFromState") }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "xs", children: availableEvents.map(({ event, transitions }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
42442
42478
  /* @__PURE__ */ jsxRuntime.jsx(
42443
42479
  exports.Button,
42444
42480
  {
@@ -42449,22 +42485,22 @@ function EventDispatcherTab({ traits: traits2, schema }) {
42449
42485
  children: event
42450
42486
  }
42451
42487
  ),
42452
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-gray-500", children: transitions.map((t2) => `${t2.from} -> ${t2.to}`).join(", ") }),
42488
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", className: "text-muted-foreground", children: transitions.map((t2) => `${t2.from} -> ${t2.to}`).join(", ") }),
42453
42489
  transitions.some((tr) => tr.guard) && /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "warning", size: "sm", children: t("debug.guarded") })
42454
42490
  ] }, event)) })
42455
42491
  ] }),
42456
42492
  unavailableEvents.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3", children: [
42457
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.otherEvents") }),
42493
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-1", children: t("debug.otherEvents") }),
42458
42494
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1", children: unavailableEvents.map((event) => /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "default", size: "sm", className: "opacity-50", children: event }, event)) })
42459
42495
  ] }),
42460
42496
  log19.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
42461
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-gray-500 mb-1", children: t("debug.recentTransitions") }),
42497
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", weight: "medium", className: "text-muted-foreground mb-1", children: t("debug.recentTransitions") }),
42462
42498
  /* @__PURE__ */ jsxRuntime.jsx(exports.Stack, { gap: "xs", children: log19.map((entry, i) => /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "small", className: "font-mono text-xs", children: [
42463
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-400", children: entry.traitName }),
42499
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: entry.traitName }),
42464
42500
  " ",
42465
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-500", children: entry.from }),
42501
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: entry.from }),
42466
42502
  " -> ",
42467
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-green-400", children: entry.to })
42503
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-success", children: entry.to })
42468
42504
  ] }, i)) })
42469
42505
  ] })
42470
42506
  ] });
@@ -42490,21 +42526,21 @@ var init_RuntimeDebugger = __esm({
42490
42526
  function ServerResponseRow({ sr }) {
42491
42527
  const { t } = hooks.useTranslate();
42492
42528
  const entityEntries = Object.entries(sr.dataEntities);
42493
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-xs font-mono", children: [
42529
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-4 pl-2 border-l border-primary py-0.5 text-xs font-mono", children: [
42494
42530
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
42495
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: sr.success ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400", children: [
42531
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: sr.success ? "text-success" : "text-error", children: [
42496
42532
  sr.success ? "\u2713" : "\u2717",
42497
42533
  " ",
42498
42534
  t("debug.server")
42499
42535
  ] }),
42500
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-600 dark:text-purple-300", children: sr.orbitalName }),
42501
- sr.clientEffects > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-1 rounded bg-purple-500/15 text-purple-600 dark:text-purple-300", children: t("debug.clientEffectsCount", { count: sr.clientEffects }) }),
42502
- sr.emittedEvents.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "px-1 rounded bg-blue-500/15 text-blue-300", children: [
42536
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: sr.orbitalName }),
42537
+ sr.clientEffects > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-1 rounded bg-primary/10 text-primary", children: t("debug.clientEffectsCount", { count: sr.clientEffects }) }),
42538
+ sr.emittedEvents.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "px-1 rounded bg-primary/10 text-primary", children: [
42503
42539
  t("debug.emitLabel"),
42504
42540
  " ",
42505
42541
  sr.emittedEvents.join(", ")
42506
42542
  ] }),
42507
- sr.error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-1 rounded bg-red-500/15 text-red-600 dark:text-red-400 truncate max-w-[300px]", children: sr.error })
42543
+ sr.error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-1 rounded bg-error/10 text-error truncate max-w-[300px]", children: sr.error })
42508
42544
  ] }),
42509
42545
  entityEntries.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1 mt-0.5", children: entityEntries.map(([name, count]) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "px-1 rounded bg-[var(--color-card)] text-foreground", children: [
42510
42546
  name,
@@ -42520,9 +42556,9 @@ function TransitionRow({ trace }) {
42520
42556
  if (isServerEntry && trace.serverResponse) {
42521
42557
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-0.5 border-b border-border last:border-0", children: [
42522
42558
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 text-xs font-mono", children: [
42523
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-1.5 w-1.5 h-1.5 rounded-full flex-shrink-0 bg-purple-500" }),
42559
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-1.5 w-1.5 h-1.5 rounded-full flex-shrink-0 bg-primary" }),
42524
42560
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "warning", size: "sm", className: "flex-shrink-0", children: trace.event }),
42525
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-600 dark:text-purple-400 flex-shrink-0", children: t("debug.serverResponse") })
42561
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary flex-shrink-0", children: t("debug.serverResponse") })
42526
42562
  ] }),
42527
42563
  /* @__PURE__ */ jsxRuntime.jsx(ServerResponseRow, { sr: trace.serverResponse })
42528
42564
  ] });
@@ -42531,7 +42567,7 @@ function TransitionRow({ trace }) {
42531
42567
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 text-xs font-mono", children: [
42532
42568
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
42533
42569
  "mt-1.5 w-1.5 h-1.5 rounded-full flex-shrink-0",
42534
- hasFailedEffects ? "bg-red-500" : "bg-green-500"
42570
+ hasFailedEffects ? "bg-error" : "bg-success"
42535
42571
  ) }),
42536
42572
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "info", size: "sm", className: "flex-shrink-0", children: trace.event }),
42537
42573
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground flex-shrink-0", children: trace.traitName }),
@@ -42545,7 +42581,7 @@ function TransitionRow({ trace }) {
42545
42581
  ] }),
42546
42582
  trace.effects.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1 ml-6 mt-0.5", children: trace.effects.map((eff, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn(
42547
42583
  "px-1 rounded text-xs",
42548
- eff.status === "executed" ? "bg-green-500/15 text-green-600 dark:text-green-400" : eff.status === "failed" ? "bg-red-500/15 text-red-600 dark:text-red-400" : "bg-yellow-500/15 text-yellow-600 dark:text-yellow-400"
42584
+ eff.status === "executed" ? "bg-success/10 text-success" : eff.status === "failed" ? "bg-error/10 text-error" : "bg-warning/10 text-warning"
42549
42585
  ), children: [
42550
42586
  eff.status === "executed" ? "\u2713" : eff.status === "failed" ? "\u2717" : "-",
42551
42587
  " ",
@@ -42579,7 +42615,7 @@ function VerifyModePanel({
42579
42615
  {
42580
42616
  className: cn(
42581
42617
  "runtime-debugger runtime-debugger--verify",
42582
- "flex flex-col bg-[var(--color-card)] text-[var(--color-foreground)] border-t-2 border-cyan-500",
42618
+ "flex flex-col bg-[var(--color-card)] text-[var(--color-foreground)] border-t-2 border-accent",
42583
42619
  hudBottom ? "" : "fixed bottom-0 left-0 right-0",
42584
42620
  className
42585
42621
  ),
@@ -42600,8 +42636,8 @@ function VerifyModePanel({
42600
42636
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground/50 w-3", "aria-hidden": true, children: expanded ? "\u25BE" : "\u25B8" }),
42601
42637
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: failedChecks > 0 ? "danger" : "success", size: "sm", children: failedChecks > 0 ? t("debug.failCount", { count: failedChecks }) : t("debug.ok") }),
42602
42638
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground/70", children: t("debug.localCount", { count: localCount }) }),
42603
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-purple-600 dark:text-purple-400", children: t("debug.serverCount", { count: serverCount }) }),
42604
- traitStates && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-cyan-600 dark:text-cyan-400 truncate max-w-[400px]", children: traitStates }),
42639
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: t("debug.serverCount", { count: serverCount }) }),
42640
+ traitStates && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-accent truncate max-w-[400px]", children: traitStates }),
42605
42641
  !expanded && transitions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto text-foreground/50", children: t("debug.transitionsCount", { count: transitions.length }) })
42606
42642
  ]
42607
42643
  }
@@ -42796,7 +42832,7 @@ function RuntimeDebugger({
42796
42832
  title: t("debug.openDebugger"),
42797
42833
  children: failedChecks > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative", children: [
42798
42834
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "V" }),
42799
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-2 w-2 h-2 bg-red-500 rounded-full" })
42835
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-2 w-2 h-2 bg-error rounded-full" })
42800
42836
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: "V" })
42801
42837
  }
42802
42838
  ) : /* @__PURE__ */ jsxRuntime.jsxs(exports.Card, { className: "runtime-debugger__panel", children: [
@@ -42884,7 +42920,7 @@ var init_SegmentRenderer = __esm({
42884
42920
  "div",
42885
42921
  {
42886
42922
  className: cn(
42887
- "border border-gray-200 dark:border-gray-700 rounded-lg p-2 md:p-4 overflow-x-auto space-y-6",
42923
+ "border border-border rounded-lg p-2 md:p-4 overflow-x-auto space-y-6",
42888
42924
  containerClassName,
42889
42925
  className
42890
42926
  ),