@almadar/ui 5.9.6 → 5.9.8

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.
@@ -9264,7 +9264,7 @@ function ActionButton({
9264
9264
  disabled: isDisabled,
9265
9265
  onClick,
9266
9266
  className: cn(
9267
- "relative inline-flex items-center gap-1.5 rounded-md border font-medium overflow-hidden transition-colors duration-150",
9267
+ "relative inline-flex items-center gap-1.5 rounded-interactive border font-medium overflow-hidden transition-colors duration-150",
9268
9268
  sizes.button,
9269
9269
  variantStyles7[variant],
9270
9270
  isDisabled && "opacity-60 cursor-not-allowed",
@@ -9307,9 +9307,9 @@ var init_ActionButton = __esm({
9307
9307
  init_cn();
9308
9308
  init_Icon();
9309
9309
  sizeMap = {
9310
- sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
9311
- md: { button: "px-4 py-2 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
9312
- lg: { button: "px-5 py-2.5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
9310
+ sm: { button: "h-button-sm px-3 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
9311
+ md: { button: "h-button-md px-4 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
9312
+ lg: { button: "h-button-lg px-5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
9313
9313
  };
9314
9314
  variantStyles7 = {
9315
9315
  primary: "bg-primary text-primary-foreground hover:bg-primary-hover border-primary",
@@ -9412,8 +9412,8 @@ var init_ControlButton = __esm({
9412
9412
  };
9413
9413
  shapeMap = {
9414
9414
  circle: "rounded-full",
9415
- rounded: "rounded-xl",
9416
- square: "rounded-md"
9415
+ rounded: "rounded-interactive",
9416
+ square: "rounded-interactive"
9417
9417
  };
9418
9418
  variantMap = {
9419
9419
  primary: "bg-primary text-primary-foreground border-primary hover:bg-primary-hover",
@@ -9574,7 +9574,7 @@ function ActionTile({
9574
9574
  {
9575
9575
  display: "flex",
9576
9576
  className: cn(
9577
- "flex-col items-center gap-1 rounded-lg border-2 transition-all select-none",
9577
+ "flex-col items-center gap-1 rounded-container border-2 transition-all select-none",
9578
9578
  config.px,
9579
9579
  disabled ? "opacity-40 cursor-not-allowed border-border bg-muted" : "cursor-grab active:cursor-grabbing hover:scale-105 hover:shadow-md border-border bg-card",
9580
9580
  className
@@ -10785,12 +10785,12 @@ function IsometricCanvas({
10785
10785
  return /* @__PURE__ */ jsxRuntime.jsx(
10786
10786
  exports.Box,
10787
10787
  {
10788
- className: cn("relative w-full overflow-hidden rounded-lg", className),
10788
+ className: cn("relative w-full overflow-hidden rounded-container", className),
10789
10789
  style: { height: viewportSize.height },
10790
10790
  "data-testid": "game-canvas-empty",
10791
- children: /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.Stack, { direction: "vertical", gap: "md", align: "center", children: [
10791
+ children: /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-container", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.Stack, { direction: "vertical", gap: "md", align: "center", children: [
10792
10792
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "map", size: "xl" }),
10793
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-slate-400", children: t("canvas.emptyMessage") || "No map data loaded" })
10793
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-muted-foreground", children: t("canvas.emptyMessage") || "No map data loaded" })
10794
10794
  ] }) })
10795
10795
  }
10796
10796
  );
@@ -11188,19 +11188,19 @@ function BattleBoard({
11188
11188
  }
11189
11189
  )
11190
11190
  ] }),
11191
- gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm rounded-xl", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: "text-center p-8", gap: "lg", children: [
11191
+ gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-background/70 backdrop-blur-sm rounded-container", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: "text-center p-8", gap: "lg", children: [
11192
11192
  /* @__PURE__ */ jsxRuntime.jsx(
11193
11193
  exports.Typography,
11194
11194
  {
11195
11195
  variant: "h2",
11196
11196
  className: cn(
11197
11197
  "text-4xl font-black tracking-widest uppercase",
11198
- gameResult === "victory" ? "text-yellow-400" : "text-red-500"
11198
+ gameResult === "victory" ? "text-warning" : "text-error"
11199
11199
  ),
11200
11200
  children: gameResult === "victory" ? t("battle.victory") : t("battle.defeat")
11201
11201
  }
11202
11202
  ),
11203
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "body1", className: "text-gray-300", children: [
11203
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "body1", className: "text-muted-foreground", children: [
11204
11204
  t("battle.turnsPlayed"),
11205
11205
  ": ",
11206
11206
  currentTurn
@@ -16077,7 +16077,7 @@ function BuilderBoard({
16077
16077
  backgroundPosition: "center"
16078
16078
  },
16079
16079
  children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "lg", className: "p-4", children: [
16080
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
16080
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
16081
16081
  /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
16082
16082
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", weight: "bold", children: entity.title }),
16083
16083
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.description })
@@ -16115,7 +16115,7 @@ function BuilderBoard({
16115
16115
  {
16116
16116
  gap: "sm",
16117
16117
  align: "center",
16118
- className: `p-3 border-2 rounded ${result ? result.correct ? "border-green-500" : "border-red-500" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
16118
+ className: `p-3 border-2 rounded ${result ? result.correct ? "border-success" : "border-error" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
16119
16119
  onClick: () => handlePlaceComponent(slot.id),
16120
16120
  children: [
16121
16121
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "none", className: "flex-1", children: [
@@ -16130,7 +16130,7 @@ function BuilderBoard({
16130
16130
  ] }) : null,
16131
16131
  placedComp.label
16132
16132
  ] }),
16133
- result && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: result.correct ? "text-green-600" : "text-red-600" })
16133
+ result && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: result.correct ? "text-success" : "text-error" })
16134
16134
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: t("builder.empty") })
16135
16135
  ]
16136
16136
  },
@@ -16139,10 +16139,10 @@ function BuilderBoard({
16139
16139
  }) })
16140
16140
  ] }) }),
16141
16141
  submitted && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", align: "center", children: [
16142
- /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
16142
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
16143
16143
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("builder.success") : entity.failMessage ?? t("builder.incorrect") })
16144
16144
  ] }) }),
16145
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
16145
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
16146
16146
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", justify: "center", children: [
16147
16147
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(exports.Button, { variant: "primary", onClick: handleSubmit, disabled: !allPlaced, children: [
16148
16148
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Wrench, size: "sm" }),
@@ -17764,7 +17764,7 @@ function CanvasEffectEngine({
17764
17764
  flash && /* @__PURE__ */ jsxRuntime.jsx(
17765
17765
  exports.Box,
17766
17766
  {
17767
- className: "absolute inset-0 z-20 pointer-events-none rounded-lg",
17767
+ className: "absolute inset-0 z-20 pointer-events-none rounded-container",
17768
17768
  style: { backgroundColor: flash.color, opacity: flash.alpha }
17769
17769
  }
17770
17770
  ),
@@ -17832,7 +17832,7 @@ function EmojiEffect({
17832
17832
  /* @__PURE__ */ jsxRuntime.jsx(
17833
17833
  exports.Box,
17834
17834
  {
17835
- className: "absolute rounded-full animate-ping",
17835
+ className: "absolute rounded-pill animate-ping",
17836
17836
  style: {
17837
17837
  width: 48 * intensity,
17838
17838
  height: 48 * intensity,
@@ -19599,7 +19599,7 @@ function ChoiceButton({
19599
19599
  disabled,
19600
19600
  onClick,
19601
19601
  className: cn(
19602
- "w-full text-left px-4 py-2.5 rounded-md border transition-all duration-150",
19602
+ "w-full text-left px-4 py-2.5 rounded-interactive border transition-all duration-150",
19603
19603
  "flex items-center gap-2",
19604
19604
  selected ? "bg-accent/15 border-accent text-foreground" : "bg-muted/40 border-border text-foreground hover:bg-muted hover:border-border",
19605
19605
  disabled && "opacity-40 cursor-not-allowed hover:bg-muted/40 hover:border-border",
@@ -19695,7 +19695,7 @@ function ClassifierBoard({
19695
19695
  backgroundPosition: "center"
19696
19696
  },
19697
19697
  children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "lg", className: "p-4", children: [
19698
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
19698
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
19699
19699
  /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
19700
19700
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", weight: "bold", children: entity.title }),
19701
19701
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.description })
@@ -19710,7 +19710,7 @@ function ClassifierBoard({
19710
19710
  /* @__PURE__ */ jsxRuntime.jsx(exports.VStack, { gap: "md", children: categories.map((cat) => {
19711
19711
  const catItems = items.filter((item) => assignments[item.id] === cat.id);
19712
19712
  return /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
19713
- cat.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-16 overflow-hidden rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
19713
+ cat.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-16 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
19714
19714
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { justify: "between", align: "center", children: [
19715
19715
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "bold", children: cat.label }),
19716
19716
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { size: "sm", children: catItems.length })
@@ -19721,12 +19721,12 @@ function ClassifierBoard({
19721
19721
  exports.Badge,
19722
19722
  {
19723
19723
  size: "sm",
19724
- className: `cursor-pointer ${result ? result.correct ? "border-green-500 bg-green-50 dark:bg-green-950" : "border-red-500 bg-red-50 dark:bg-red-950" : ""}`,
19724
+ className: `cursor-pointer ${result ? result.correct ? "border-success bg-success/10" : "border-error bg-error/10" : ""}`,
19725
19725
  onClick: () => handleUnassign(item.id),
19726
19726
  children: [
19727
19727
  item.iconUrl && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.iconUrl, alt: "", className: "w-3 h-3 object-contain inline-block" }),
19728
19728
  item.label,
19729
- result && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "xs", className: result.correct ? "text-green-600" : "text-red-600" })
19729
+ result && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "xs", className: result.correct ? "text-success" : "text-error" })
19730
19730
  ]
19731
19731
  },
19732
19732
  item.id
@@ -19749,11 +19749,11 @@ function ClassifierBoard({
19749
19749
  ] }) }, cat.id);
19750
19750
  }) }),
19751
19751
  submitted && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", align: "center", children: [
19752
- /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
19752
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
19753
19753
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("classifier.allCorrect") : `${correctCount}/${items.length} ${t("classifier.correct")}` }),
19754
19754
  !allCorrect && entity.failMessage && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "text-muted-foreground", children: entity.failMessage })
19755
19755
  ] }) }),
19756
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
19756
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
19757
19757
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", justify: "center", children: [
19758
19758
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(exports.Button, { variant: "primary", onClick: handleSubmit, disabled: !allAssigned, children: [
19759
19759
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Send, size: "sm" }),
@@ -20403,10 +20403,10 @@ var init_CombatLog = __esm({
20403
20403
  }
20404
20404
  });
20405
20405
  function getComboIntensity(combo) {
20406
- if (combo >= 10) return "text-red-400 animate-pulse";
20407
- if (combo >= 7) return "text-orange-400";
20408
- if (combo >= 4) return "text-yellow-400";
20409
- return "text-[var(--color-foreground)]";
20406
+ if (combo >= 10) return "text-error animate-pulse";
20407
+ if (combo >= 7) return "text-warning";
20408
+ if (combo >= 4) return "text-warning";
20409
+ return "text-foreground";
20410
20410
  }
20411
20411
  function getComboScale(combo) {
20412
20412
  if (combo >= 10) return "scale-110";
@@ -20427,19 +20427,19 @@ function ComboCounter({
20427
20427
  {
20428
20428
  className: cn(
20429
20429
  "inline-flex flex-col items-center justify-center",
20430
- "rounded-xl bg-[var(--color-card)]/80 border border-gray-600 px-3 py-1.5",
20430
+ "rounded-container bg-card/80 border border-muted px-3 py-1.5",
20431
20431
  "transition-transform duration-200",
20432
20432
  getComboScale(combo),
20433
20433
  className
20434
20434
  ),
20435
20435
  children: [
20436
20436
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-black tabular-nums leading-none", sizes.combo, getComboIntensity(combo)), children: combo }),
20437
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-bold uppercase tracking-wider text-gray-400", sizes.label), children: "combo" }),
20438
- multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("font-bold text-amber-400 tabular-nums", sizes.multiplier), children: [
20437
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-bold uppercase tracking-wider text-muted-foreground", sizes.label), children: "combo" }),
20438
+ multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("font-bold text-warning tabular-nums", sizes.multiplier), children: [
20439
20439
  "x",
20440
20440
  multiplier.toFixed(1)
20441
20441
  ] }),
20442
- streak != null && streak > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-gray-500 tabular-nums", sizes.label), children: [
20442
+ streak != null && streak > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.label), children: [
20443
20443
  streak,
20444
20444
  " streak"
20445
20445
  ] })
@@ -20854,18 +20854,18 @@ function ItemSlot({
20854
20854
  disabled: !isClickable,
20855
20855
  title: label,
20856
20856
  className: cn(
20857
- "relative flex items-center justify-center rounded-lg border-2",
20858
- "bg-[var(--color-card)]/80 transition-all duration-150",
20857
+ "relative flex items-center justify-center rounded-interactive border-2",
20858
+ "bg-card/80 transition-all duration-150",
20859
20859
  sizeMap5[size],
20860
- empty ? "border-gray-700 bg-[var(--color-card)]/50" : rarityBorderMap[rarity],
20860
+ empty ? "border-border bg-card/50" : rarityBorderMap[rarity],
20861
20861
  !empty && rarityGlowMap[rarity],
20862
- selected && "ring-2 ring-white ring-offset-1 ring-offset-gray-900",
20862
+ selected && "ring-2 ring-foreground ring-offset-1 ring-offset-background",
20863
20863
  isClickable && !empty && "hover:brightness-125 cursor-pointer",
20864
- isClickable && empty && "hover:border-gray-500 cursor-pointer",
20864
+ isClickable && empty && "hover:border-muted cursor-pointer",
20865
20865
  !isClickable && "cursor-default",
20866
20866
  className
20867
20867
  ),
20868
- children: empty ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600 text-base", children: "+" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20868
+ children: empty ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20869
20869
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: icon }),
20870
20870
  quantity != null && quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx(
20871
20871
  "span",
@@ -20873,7 +20873,7 @@ function ItemSlot({
20873
20873
  className: cn(
20874
20874
  "absolute -bottom-1 -right-1 flex items-center justify-center",
20875
20875
  "min-w-[18px] h-[18px] rounded-full px-1",
20876
- "bg-[var(--color-surface,#374151)] border border-gray-500 text-xs font-bold text-[var(--color-foreground)]"
20876
+ "bg-surface border border-muted text-xs font-bold text-foreground"
20877
20877
  ),
20878
20878
  children: quantity
20879
20879
  }
@@ -20893,18 +20893,18 @@ var init_ItemSlot = __esm({
20893
20893
  lg: "w-18 h-18 text-3xl"
20894
20894
  };
20895
20895
  rarityBorderMap = {
20896
- common: "border-gray-500",
20897
- uncommon: "border-green-500",
20898
- rare: "border-blue-500",
20899
- epic: "border-purple-500",
20900
- legendary: "border-amber-400"
20896
+ common: "border-muted",
20897
+ uncommon: "border-success",
20898
+ rare: "border-info",
20899
+ epic: "border-accent",
20900
+ legendary: "border-warning"
20901
20901
  };
20902
20902
  rarityGlowMap = {
20903
20903
  common: "",
20904
20904
  uncommon: "",
20905
- rare: "shadow-[0_0_6px_rgba(59,130,246,0.3)]",
20906
- epic: "shadow-[0_0_8px_rgba(168,85,247,0.4)]",
20907
- legendary: "shadow-[0_0_10px_rgba(251,191,36,0.5)]"
20905
+ rare: "shadow-sm",
20906
+ epic: "shadow-lg",
20907
+ legendary: "shadow-lg"
20908
20908
  };
20909
20909
  ItemSlot.displayName = "ItemSlot";
20910
20910
  }
@@ -20933,7 +20933,7 @@ function CraftingRecipe({
20933
20933
  exports.Box,
20934
20934
  {
20935
20935
  className: cn(
20936
- "flex flex-wrap items-center gap-3 rounded-lg bg-gray-800/50 border border-gray-700/50 p-3",
20936
+ "flex flex-wrap items-center gap-3 rounded-container bg-muted/50 border border-border/50 p-3",
20937
20937
  className
20938
20938
  ),
20939
20939
  children: [
@@ -20950,10 +20950,10 @@ function CraftingRecipe({
20950
20950
  className: cn(!hasSufficient && "opacity-50")
20951
20951
  }
20952
20952
  ) }),
20953
- index < inputs.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "plus", size: "sm", className: "text-gray-500" })
20953
+ index < inputs.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "plus", size: "sm", className: "text-muted-foreground" })
20954
20954
  ] }, index);
20955
20955
  }) }),
20956
- /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "arrow-right", size: "md", className: "text-gray-400" }),
20956
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "arrow-right", size: "md", className: "text-muted-foreground" }),
20957
20957
  /* @__PURE__ */ jsxRuntime.jsx(
20958
20958
  ItemSlot,
20959
20959
  {
@@ -21041,7 +21041,7 @@ function DPad({
21041
21041
  createButton("up"),
21042
21042
  /* @__PURE__ */ jsxRuntime.jsx("div", {}),
21043
21043
  createButton("left"),
21044
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-full bg-gray-700 border-2 border-gray-600" }) }),
21044
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-interactive bg-muted border-2 border-muted-foreground" }) }),
21045
21045
  createButton("right"),
21046
21046
  /* @__PURE__ */ jsxRuntime.jsx("div", {}),
21047
21047
  createButton("down"),
@@ -21103,10 +21103,10 @@ var init_DamageNumber = __esm({
21103
21103
  lg: "text-2xl"
21104
21104
  };
21105
21105
  typeStyles = {
21106
- damage: "text-red-500 font-bold",
21107
- heal: "text-green-500 font-bold",
21108
- crit: "text-orange-400 font-extrabold",
21109
- miss: "text-gray-400 italic"
21106
+ damage: "text-error font-bold",
21107
+ heal: "text-success font-bold",
21108
+ crit: "text-warning font-extrabold",
21109
+ miss: "text-muted-foreground italic"
21110
21110
  };
21111
21111
  floatKeyframes = `
21112
21112
  @keyframes damageFloat {
@@ -25294,7 +25294,7 @@ function HealthBar({
25294
25294
  "div",
25295
25295
  {
25296
25296
  className: cn(
25297
- "relative overflow-hidden rounded-full bg-gray-700",
25297
+ "relative overflow-hidden rounded-full bg-muted",
25298
25298
  sizes.bar,
25299
25299
  "w-24",
25300
25300
  className
@@ -25304,7 +25304,7 @@ function HealthBar({
25304
25304
  {
25305
25305
  className: cn(
25306
25306
  "absolute inset-y-0 left-0 rounded-full",
25307
- percentage > 66 ? "bg-green-500" : percentage > 33 ? "bg-yellow-500" : "bg-red-500",
25307
+ percentage > 66 ? "bg-success" : percentage > 33 ? "bg-warning" : "bg-error",
25308
25308
  animated && "transition-all duration-300"
25309
25309
  ),
25310
25310
  style: { width: `${percentage}%` }
@@ -25326,7 +25326,7 @@ var init_HealthBar = __esm({
25326
25326
  heartIcon = (filled, size) => /* @__PURE__ */ jsxRuntime.jsx(
25327
25327
  "svg",
25328
25328
  {
25329
- className: cn("transition-all duration-200", size, filled ? "text-red-500" : "text-gray-400"),
25329
+ className: cn("transition-all duration-200", size, filled ? "text-error" : "text-muted-foreground"),
25330
25330
  viewBox: "0 0 24 24",
25331
25331
  fill: filled ? "currentColor" : "none",
25332
25332
  stroke: "currentColor",
@@ -25390,7 +25390,7 @@ function ScoreDisplay({
25390
25390
  ),
25391
25391
  children: [
25392
25392
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: icon }),
25393
- label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: label }),
25393
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: label }),
25394
25394
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tabular-nums", children: formattedValue })
25395
25395
  ]
25396
25396
  }
@@ -25428,7 +25428,7 @@ function StatBadge({
25428
25428
  "div",
25429
25429
  {
25430
25430
  className: cn(
25431
- "inline-flex items-center gap-2 rounded-lg border backdrop-blur-sm",
25431
+ "inline-flex items-center gap-2 rounded-container border backdrop-blur-sm",
25432
25432
  sizeMap11[size] ?? sizeMap11.md,
25433
25433
  variantMap2[variant] ?? variantMap2.default,
25434
25434
  className
@@ -25577,7 +25577,7 @@ function WaypointMarker({
25577
25577
  "div",
25578
25578
  {
25579
25579
  className: cn(
25580
- "absolute rounded-full border-2 border-blue-400 animate-ping opacity-50",
25580
+ "absolute rounded-full border-2 border-info animate-ping opacity-50",
25581
25581
  sizes.ring
25582
25582
  )
25583
25583
  }
@@ -25586,7 +25586,7 @@ function WaypointMarker({
25586
25586
  "div",
25587
25587
  {
25588
25588
  className: cn(
25589
- "absolute rounded-full border-2 border-blue-400",
25589
+ "absolute rounded-full border-2 border-info",
25590
25590
  sizes.ring
25591
25591
  )
25592
25592
  }
@@ -25597,9 +25597,9 @@ function WaypointMarker({
25597
25597
  className: cn(
25598
25598
  "relative flex items-center justify-center rounded-full transition-all duration-200",
25599
25599
  sizes.dot,
25600
- completed && "bg-green-500 text-white",
25601
- active && !completed && "bg-blue-500 text-white",
25602
- !active && !completed && "bg-gray-500"
25600
+ completed && "bg-success text-foreground",
25601
+ active && !completed && "bg-info text-foreground",
25602
+ !active && !completed && "bg-muted"
25603
25603
  ),
25604
25604
  children: completed ? checkIcon : icon
25605
25605
  }
@@ -25611,7 +25611,7 @@ function WaypointMarker({
25611
25611
  className: cn(
25612
25612
  "text-center whitespace-nowrap",
25613
25613
  sizes.label,
25614
- completed ? "text-green-400" : active ? "text-blue-400" : "text-gray-400"
25614
+ completed ? "text-success" : active ? "text-info" : "text-muted-foreground"
25615
25615
  ),
25616
25616
  children: label
25617
25617
  }
@@ -25643,10 +25643,10 @@ function QuestTracker({
25643
25643
  exports.Box,
25644
25644
  {
25645
25645
  className: cn(
25646
- "flex items-start gap-3 rounded-lg px-3 py-2 transition-colors",
25647
- isActive && !isCompleted && "bg-blue-900/20 border border-blue-800/50",
25648
- isCompleted && "bg-green-900/10 border border-green-800/30 opacity-70",
25649
- !isActive && !isCompleted && "bg-gray-800/30 border border-gray-700/30"
25646
+ "flex items-start gap-3 rounded-container px-3 py-2 transition-colors",
25647
+ isActive && !isCompleted && "bg-info/20 border border-info/50",
25648
+ isCompleted && "bg-success/10 border border-success/30 opacity-70",
25649
+ !isActive && !isCompleted && "bg-muted/30 border border-border/30"
25650
25650
  ),
25651
25651
  children: [
25652
25652
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex-shrink-0 pt-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -25664,9 +25664,9 @@ function QuestTracker({
25664
25664
  variant: "body2",
25665
25665
  className: cn(
25666
25666
  "font-medium truncate",
25667
- isCompleted && "line-through text-gray-500",
25668
- isActive && !isCompleted && "text-blue-300",
25669
- !isActive && !isCompleted && "text-gray-300"
25667
+ isCompleted && "line-through text-muted-foreground",
25668
+ isActive && !isCompleted && "text-info",
25669
+ !isActive && !isCompleted && "text-muted-foreground"
25670
25670
  ),
25671
25671
  children: quest.title
25672
25672
  }
@@ -25684,7 +25684,7 @@ function QuestTracker({
25684
25684
  exports.Typography,
25685
25685
  {
25686
25686
  variant: "caption",
25687
- className: "text-gray-500 mt-1",
25687
+ className: "text-muted-foreground mt-1",
25688
25688
  children: [
25689
25689
  quest.progress,
25690
25690
  " / ",
@@ -25741,14 +25741,14 @@ function PowerupSlots({
25741
25741
  {
25742
25742
  className: cn(
25743
25743
  "absolute -bottom-1 left-1/2 -translate-x-1/2",
25744
- "rounded px-1 py-px",
25745
- "bg-black/80 border border-gray-600"
25744
+ "rounded-interactive px-1 py-px",
25745
+ "bg-background/80 border border-border"
25746
25746
  ),
25747
25747
  children: /* @__PURE__ */ jsxRuntime.jsx(
25748
25748
  exports.Typography,
25749
25749
  {
25750
25750
  variant: "caption",
25751
- className: "text-[9px] font-mono font-bold text-yellow-300 whitespace-nowrap",
25751
+ className: "text-[9px] font-mono font-bold text-warning whitespace-nowrap",
25752
25752
  children: formatTime(powerup.remainingTime)
25753
25753
  }
25754
25754
  )
@@ -25870,7 +25870,7 @@ function HealthPanel({
25870
25870
  exports.Box,
25871
25871
  {
25872
25872
  className: cn(
25873
- "rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm",
25873
+ "rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm",
25874
25874
  sizes.padding,
25875
25875
  className
25876
25876
  ),
@@ -25881,7 +25881,7 @@ function HealthPanel({
25881
25881
  {
25882
25882
  variant: "caption",
25883
25883
  weight: "bold",
25884
- className: "text-gray-300 uppercase tracking-wider",
25884
+ className: "text-muted-foreground uppercase tracking-wider",
25885
25885
  children: label
25886
25886
  }
25887
25887
  ),
@@ -25902,7 +25902,7 @@ function HealthPanel({
25902
25902
  as: "span",
25903
25903
  variant: "caption",
25904
25904
  weight: "bold",
25905
- className: "text-blue-400 ml-1",
25905
+ className: "text-info ml-1",
25906
25906
  children: [
25907
25907
  "+",
25908
25908
  shield
@@ -25927,14 +25927,14 @@ function HealthPanel({
25927
25927
  exports.Box,
25928
25928
  {
25929
25929
  className: cn(
25930
- "relative overflow-hidden rounded-full bg-gray-700",
25930
+ "relative overflow-hidden rounded-container bg-muted",
25931
25931
  size === "sm" ? "h-1" : size === "md" ? "h-1.5" : "h-2",
25932
25932
  "w-full"
25933
25933
  ),
25934
25934
  children: /* @__PURE__ */ jsxRuntime.jsx(
25935
25935
  exports.Box,
25936
25936
  {
25937
- className: "absolute inset-y-0 left-0 rounded-full bg-blue-500 transition-all duration-300",
25937
+ className: "absolute inset-y-0 left-0 rounded-container bg-info transition-all duration-300",
25938
25938
  style: { width: `${Math.min(100, shield / max * 100)}%` }
25939
25939
  }
25940
25940
  )
@@ -25993,7 +25993,7 @@ function ScoreBoard({
25993
25993
  exports.Card,
25994
25994
  {
25995
25995
  className: cn(
25996
- "bg-[var(--color-card)]/90 border-gray-700 backdrop-blur-sm",
25996
+ "bg-[var(--color-card)]/90 border-border backdrop-blur-sm",
25997
25997
  className
25998
25998
  ),
25999
25999
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.CardContent, { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.Box, { className: "flex items-center gap-3 flex-wrap", children: [
@@ -26102,8 +26102,8 @@ function TurnIndicator({
26102
26102
  "div",
26103
26103
  {
26104
26104
  className: cn(
26105
- "inline-flex items-center rounded-lg",
26106
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
26105
+ "inline-flex items-center rounded-container",
26106
+ "bg-card/80 border border-muted font-medium text-foreground",
26107
26107
  sizes.wrapper,
26108
26108
  className
26109
26109
  ),
@@ -26111,19 +26111,19 @@ function TurnIndicator({
26111
26111
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold tabular-nums", children: [
26112
26112
  "Turn ",
26113
26113
  currentTurn,
26114
- maxTurns != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-400", children: [
26114
+ maxTurns != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
26115
26115
  "/",
26116
26116
  maxTurns
26117
26117
  ] })
26118
26118
  ] }),
26119
26119
  phase && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
26120
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600", children: "|" }),
26121
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-300", children: phase })
26120
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "|" }),
26121
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: phase })
26122
26122
  ] }),
26123
26123
  activeTeam && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
26124
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600", children: "|" }),
26125
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("rounded-full bg-green-500/20", sizes.dot) }),
26126
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-green-400", children: activeTeam })
26124
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "|" }),
26125
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("rounded-full bg-success/20", sizes.dot) }),
26126
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-success", children: activeTeam })
26127
26127
  ] })
26128
26128
  ]
26129
26129
  }
@@ -26162,7 +26162,7 @@ function TurnPanel({
26162
26162
  exports.Box,
26163
26163
  {
26164
26164
  className: cn(
26165
- "flex items-center gap-3 rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm px-3 py-2",
26165
+ "flex items-center gap-3 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-2",
26166
26166
  className
26167
26167
  ),
26168
26168
  children: [
@@ -26214,7 +26214,7 @@ function EnemyPlate({
26214
26214
  exports.Box,
26215
26215
  {
26216
26216
  className: cn(
26217
- "inline-flex flex-col gap-1 rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm px-3 py-1.5",
26217
+ "inline-flex flex-col gap-1 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-1.5",
26218
26218
  "min-w-[120px]",
26219
26219
  className
26220
26220
  ),
@@ -26308,7 +26308,7 @@ function UnitCommandBar({
26308
26308
  exports.Box,
26309
26309
  {
26310
26310
  className: cn(
26311
- "flex items-center gap-1.5 rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm px-2 py-1.5",
26311
+ "flex items-center gap-1.5 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-2 py-1.5",
26312
26312
  className
26313
26313
  ),
26314
26314
  children: commands.map((command, i) => /* @__PURE__ */ jsxRuntime.jsxs(exports.Box, { className: "flex flex-col items-center gap-0.5", children: [
@@ -26393,8 +26393,8 @@ function GameHud({
26393
26393
  className: cn(
26394
26394
  "relative z-10",
26395
26395
  positionMap[position],
26396
- transparent && "bg-gradient-to-b from-black/50 to-transparent",
26397
- position === "bottom" && "bg-gradient-to-t from-black/50 to-transparent",
26396
+ transparent && "bg-gradient-to-b from-background/50 to-transparent",
26397
+ position === "bottom" && "bg-gradient-to-t from-background/50 to-transparent",
26398
26398
  className
26399
26399
  ),
26400
26400
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4", children: stats.map((stat, i) => /* @__PURE__ */ jsxRuntime.jsx(StatBadge, { ...stat, size }, i)) })
@@ -26552,8 +26552,8 @@ function DialogueBox({
26552
26552
  tabIndex: 0,
26553
26553
  role: "dialog",
26554
26554
  "aria-label": "Dialogue",
26555
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-gray-600 rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex", children: [
26556
- dialogue.portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 p-4 border-r border-gray-700", children: /* @__PURE__ */ jsxRuntime.jsx(
26555
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-border rounded-container overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex", children: [
26556
+ dialogue.portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 p-4 border-r border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
26557
26557
  "img",
26558
26558
  {
26559
26559
  src: dialogue.portrait,
@@ -26563,7 +26563,7 @@ function DialogueBox({
26563
26563
  }
26564
26564
  ) }),
26565
26565
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 p-4", children: [
26566
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-yellow-400 font-bold mb-2", children: dialogue.speaker }),
26566
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-warning font-bold mb-2", children: dialogue.speaker }),
26567
26567
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[var(--color-foreground)] text-lg leading-relaxed min-h-[60px]", children: [
26568
26568
  displayedText,
26569
26569
  isTyping && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "animate-pulse", children: "\u258C" })
@@ -26573,9 +26573,9 @@ function DialogueBox({
26573
26573
  {
26574
26574
  type: "button",
26575
26575
  className: cn(
26576
- "block w-full text-left px-4 py-2 rounded transition-colors",
26577
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-yellow-400",
26578
- selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-yellow-400" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
26576
+ "block w-full text-left px-4 py-2 rounded-interactive transition-colors",
26577
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-warning",
26578
+ selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-warning" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
26579
26579
  ),
26580
26580
  onClick: (e) => {
26581
26581
  e.stopPropagation();
@@ -26583,7 +26583,7 @@ function DialogueBox({
26583
26583
  onChoice?.(choice);
26584
26584
  },
26585
26585
  children: [
26586
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-500 mr-2", children: [
26586
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground mr-2", children: [
26587
26587
  index + 1,
26588
26588
  "."
26589
26589
  ] }),
@@ -26592,7 +26592,7 @@ function DialogueBox({
26592
26592
  },
26593
26593
  index
26594
26594
  )) }),
26595
- !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 text-gray-500 text-sm animate-pulse", children: "Press SPACE or click to continue..." })
26595
+ !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 text-muted-foreground text-sm animate-pulse", children: "Press SPACE or click to continue..." })
26596
26596
  ] })
26597
26597
  ] }) })
26598
26598
  }
@@ -26695,7 +26695,7 @@ function InventoryPanel({
26695
26695
  /* @__PURE__ */ jsxRuntime.jsx(
26696
26696
  "div",
26697
26697
  {
26698
- className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-lg border border-gray-700",
26698
+ className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-container border border-border",
26699
26699
  style: {
26700
26700
  gridTemplateColumns: `repeat(${safeColumns}, ${slotSize}px)`,
26701
26701
  gridTemplateRows: `repeat(${rows}, ${slotSize}px)`
@@ -26707,8 +26707,8 @@ function InventoryPanel({
26707
26707
  className: cn(
26708
26708
  "relative flex items-center justify-center",
26709
26709
  "bg-[var(--color-card)] border rounded transition-colors",
26710
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-blue-500",
26711
- selectedSlot === index ? "border-yellow-400 bg-[var(--color-surface,#374151)]" : "border-gray-600"
26710
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-info",
26711
+ selectedSlot === index ? "border-warning bg-[var(--color-surface,#374151)]" : "border-muted"
26712
26712
  ),
26713
26713
  style: { width: slotSize, height: slotSize },
26714
26714
  onClick: () => handleSlotClick(index),
@@ -26727,8 +26727,8 @@ function InventoryPanel({
26727
26727
  className: "w-8 h-8 object-contain",
26728
26728
  style: { imageRendering: "pixelated" }
26729
26729
  }
26730
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-8 bg-gray-600 rounded flex items-center justify-center text-xs text-gray-300", children: (item.type ?? item.name ?? "I").charAt(0).toUpperCase() }),
26731
- item.quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute bottom-0 right-0 bg-black bg-opacity-70 text-white text-xs px-1 rounded-tl", children: item.quantity })
26730
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-8 bg-muted rounded-interactive flex items-center justify-center text-xs text-muted-foreground", children: (item.type ?? item.name ?? "I").charAt(0).toUpperCase() }),
26731
+ item.quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute bottom-0 right-0 bg-background/70 text-foreground text-xs px-1 rounded-tl", children: item.quantity })
26732
26732
  ] })
26733
26733
  },
26734
26734
  index
@@ -26738,7 +26738,7 @@ function InventoryPanel({
26738
26738
  showTooltips && hoveredItem && /* @__PURE__ */ jsxRuntime.jsxs(
26739
26739
  "div",
26740
26740
  {
26741
- className: "fixed z-50 bg-[var(--color-card)] border border-gray-600 rounded-lg p-2 shadow-lg pointer-events-none",
26741
+ className: "fixed z-50 bg-[var(--color-card)] border border-border rounded-container p-2 shadow-elevation-card pointer-events-none",
26742
26742
  style: {
26743
26743
  left: tooltipPosition.x,
26744
26744
  top: tooltipPosition.y,
@@ -26746,8 +26746,8 @@ function InventoryPanel({
26746
26746
  },
26747
26747
  children: [
26748
26748
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-[var(--color-foreground)]", children: hoveredItem.name || hoveredItem.type }),
26749
- hoveredItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-gray-400 mt-1", children: hoveredItem.description }),
26750
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-gray-500 mt-1", children: [
26749
+ hoveredItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground mt-1", children: hoveredItem.description }),
26750
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground mt-1", children: [
26751
26751
  "Quantity: ",
26752
26752
  hoveredItem.quantity
26753
26753
  ] })
@@ -26825,7 +26825,7 @@ function GameMenu({
26825
26825
  children: title
26826
26826
  }
26827
26827
  ),
26828
- subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-lg text-gray-400 tracking-widest uppercase", children: subtitle })
26828
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-lg text-muted-foreground tracking-widest uppercase", children: subtitle })
26829
26829
  ] }),
26830
26830
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 w-full max-w-md", children: resolvedOptions.map((option, index) => /* @__PURE__ */ jsxRuntime.jsx(
26831
26831
  "button",
@@ -26833,10 +26833,10 @@ function GameMenu({
26833
26833
  onClick: () => handleOptionClick(option),
26834
26834
  disabled: option.disabled,
26835
26835
  className: cn(
26836
- "w-full py-4 px-8 rounded-xl border-2 font-bold text-lg",
26836
+ "w-full py-4 px-8 rounded-container border-2 font-bold text-lg",
26837
26837
  "transition-all duration-200 transform",
26838
26838
  "hover:scale-105 active:scale-95",
26839
- "focus:outline-none focus:ring-4 focus:ring-white/25",
26839
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
26840
26840
  variantMap3[option.variant ?? "secondary"] ?? variantMap3.secondary,
26841
26841
  option.disabled && "opacity-50 cursor-not-allowed hover:scale-100"
26842
26842
  ),
@@ -26848,8 +26848,8 @@ function GameMenu({
26848
26848
  index
26849
26849
  )) }),
26850
26850
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none overflow-hidden", children: [
26851
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-blue-500/10 rounded-full blur-3xl" }),
26852
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-purple-500/10 rounded-full blur-3xl" })
26851
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-info/10 rounded-container blur-3xl" }),
26852
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-accent/10 rounded-container blur-3xl" })
26853
26853
  ] })
26854
26854
  ]
26855
26855
  }
@@ -26862,9 +26862,9 @@ var init_GameMenu = __esm({
26862
26862
  init_cn();
26863
26863
  init_useEventBus();
26864
26864
  variantMap3 = {
26865
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400 shadow-lg shadow-blue-500/25",
26866
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
26867
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
26865
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info shadow-lg shadow-info/25",
26866
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
26867
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
26868
26868
  };
26869
26869
  GameMenu.displayName = "GameMenu";
26870
26870
  }
@@ -26932,13 +26932,13 @@ function GameOverScreen({
26932
26932
  children: title
26933
26933
  }
26934
26934
  ),
26935
- message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl text-gray-300 mb-8 text-center max-w-md", children: message }),
26936
- isNewHighScore && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 px-6 py-2 bg-yellow-500/20 border-2 border-yellow-500 rounded-full animate-pulse", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-yellow-400 font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
26935
+ message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl text-muted-foreground mb-8 text-center max-w-md", children: message }),
26936
+ isNewHighScore && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 px-6 py-2 bg-warning/20 border-2 border-warning rounded-container animate-pulse", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-warning font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
26937
26937
  stats.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
26938
26938
  "div",
26939
26939
  {
26940
26940
  className: cn(
26941
- "mb-8 p-6 rounded-xl border-2 bg-black/30",
26941
+ "mb-8 p-6 rounded-container border-2 bg-background/30",
26942
26942
  colors.accent
26943
26943
  ),
26944
26944
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: stats.map((stat, index) => {
@@ -26947,7 +26947,7 @@ function GameOverScreen({
26947
26947
  displayValue = formatTime2(displayValue);
26948
26948
  }
26949
26949
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
26950
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-gray-400 text-sm mb-1", children: stat.label }),
26950
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-sm mb-1", children: stat.label }),
26951
26951
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[var(--color-foreground)] text-2xl font-bold flex items-center justify-center gap-2", children: [
26952
26952
  stat.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { children: stat.icon }),
26953
26953
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tabular-nums", children: displayValue })
@@ -26961,10 +26961,10 @@ function GameOverScreen({
26961
26961
  {
26962
26962
  onClick: () => handleActionClick(action),
26963
26963
  className: cn(
26964
- "px-8 py-4 rounded-xl border-2 font-bold text-lg",
26964
+ "px-8 py-4 rounded-container border-2 font-bold text-lg",
26965
26965
  "transition-all duration-200",
26966
26966
  "hover:scale-105 active:scale-95",
26967
- "focus:outline-none focus:ring-4 focus:ring-white/25",
26967
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
26968
26968
  buttonVariants[action.variant ?? "secondary"]
26969
26969
  ),
26970
26970
  children: action.label
@@ -26983,25 +26983,25 @@ var init_GameOverScreen = __esm({
26983
26983
  init_useEventBus();
26984
26984
  variantColors = {
26985
26985
  victory: {
26986
- bg: "from-green-900/90 to-emerald-950/90",
26987
- title: "text-green-400",
26988
- accent: "border-green-500"
26986
+ bg: "from-success/90 to-success/90",
26987
+ title: "text-success",
26988
+ accent: "border-success"
26989
26989
  },
26990
26990
  defeat: {
26991
- bg: "from-red-900/90 to-gray-950/90",
26992
- title: "text-red-400",
26993
- accent: "border-red-500"
26991
+ bg: "from-error/90 to-background/90",
26992
+ title: "text-error",
26993
+ accent: "border-error"
26994
26994
  },
26995
26995
  neutral: {
26996
- bg: "from-gray-900/90 to-gray-950/90",
26997
- title: "text-white",
26998
- accent: "border-gray-500"
26996
+ bg: "from-muted/90 to-background/90",
26997
+ title: "text-foreground",
26998
+ accent: "border-muted"
26999
26999
  }
27000
27000
  };
27001
27001
  buttonVariants = {
27002
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400",
27003
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
27004
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
27002
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info",
27003
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
27004
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
27005
27005
  };
27006
27006
  GameOverScreen.displayName = "GameOverScreen";
27007
27007
  }
@@ -27235,7 +27235,7 @@ function PlatformerCanvas({
27235
27235
  {
27236
27236
  ref: canvasRef,
27237
27237
  style: { width: canvasWidth, height: canvasHeight },
27238
- className: cn("block rounded-lg border border-white/10", className),
27238
+ className: cn("block rounded-container border border-border/10", className),
27239
27239
  "data-testid": "platformer-canvas",
27240
27240
  tabIndex: 0
27241
27241
  }
@@ -34902,7 +34902,7 @@ function DebuggerBoard({
34902
34902
  backgroundPosition: "center"
34903
34903
  },
34904
34904
  children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "lg", className: "p-4", children: [
34905
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
34905
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
34906
34906
  /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
34907
34907
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", align: "center", children: [
34908
34908
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Bug, size: "sm" }),
@@ -34915,11 +34915,11 @@ function DebuggerBoard({
34915
34915
  const isFlagged = flaggedLines.has(line.id);
34916
34916
  let lineStyle = "";
34917
34917
  if (submitted) {
34918
- if (line.isBug && isFlagged) lineStyle = "bg-green-50 dark:bg-green-950";
34919
- else if (line.isBug && !isFlagged) lineStyle = "bg-yellow-50 dark:bg-yellow-950";
34920
- else if (!line.isBug && isFlagged) lineStyle = "bg-red-50 dark:bg-red-950";
34918
+ if (line.isBug && isFlagged) lineStyle = "bg-success/10";
34919
+ else if (line.isBug && !isFlagged) lineStyle = "bg-warning/10";
34920
+ else if (!line.isBug && isFlagged) lineStyle = "bg-error/10";
34921
34921
  } else if (isFlagged) {
34922
- lineStyle = "bg-red-50 dark:bg-red-950";
34922
+ lineStyle = "bg-error/10";
34923
34923
  }
34924
34924
  return /* @__PURE__ */ jsxRuntime.jsxs(
34925
34925
  exports.HStack,
@@ -34932,8 +34932,8 @@ function DebuggerBoard({
34932
34932
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-10 flex-shrink-0 flex items-center justify-center border-r border-border text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", children: i + 1 }) }),
34933
34933
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex-1 px-3 py-1.5 font-mono text-sm whitespace-pre", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: "font-mono text-sm", children: line.content }) }),
34934
34934
  /* @__PURE__ */ jsxRuntime.jsxs(exports.Box, { className: "w-8 flex-shrink-0 flex items-center justify-center", children: [
34935
- isFlagged && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-red-600" }),
34936
- submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-yellow-600" })
34935
+ isFlagged && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-error" }),
34936
+ submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-warning" })
34937
34937
  ] })
34938
34938
  ]
34939
34939
  },
@@ -34948,7 +34948,7 @@ function DebuggerBoard({
34948
34948
  {
34949
34949
  icon: flaggedLines.has(line.id) ? LucideIcons2.CheckCircle : LucideIcons2.XCircle,
34950
34950
  size: "xs",
34951
- className: flaggedLines.has(line.id) ? "text-green-600 mt-0.5" : "text-yellow-600 mt-0.5"
34951
+ className: flaggedLines.has(line.id) ? "text-success mt-0.5" : "text-warning mt-0.5"
34952
34952
  }
34953
34953
  ),
34954
34954
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "none", children: [
@@ -34957,7 +34957,7 @@ function DebuggerBoard({
34957
34957
  ] })
34958
34958
  ] }, line.id))
34959
34959
  ] }) }),
34960
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
34960
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
34961
34961
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", justify: "center", children: [
34962
34962
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(exports.Button, { variant: "primary", onClick: handleSubmit, disabled: flaggedLines.size === 0, children: [
34963
34963
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Send, size: "sm" }),
@@ -35441,12 +35441,12 @@ function DialogueBubble({
35441
35441
  "div",
35442
35442
  {
35443
35443
  className: cn(
35444
- "flex items-start gap-3 rounded-lg bg-black/80 backdrop-blur-sm px-4 py-3 border border-white/10",
35444
+ "flex items-start gap-3 rounded-container bg-background/80 backdrop-blur-sm px-4 py-3 border border-border/10",
35445
35445
  position === "top" ? "rounded-bl-none" : "rounded-tl-none",
35446
35446
  className
35447
35447
  ),
35448
35448
  children: [
35449
- portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-yellow-400/60", children: /* @__PURE__ */ jsxRuntime.jsx(
35449
+ portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-warning/60", children: /* @__PURE__ */ jsxRuntime.jsx(
35450
35450
  "img",
35451
35451
  {
35452
35452
  src: portrait,
@@ -35455,8 +35455,8 @@ function DialogueBubble({
35455
35455
  }
35456
35456
  ) }),
35457
35457
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 min-w-0", children: [
35458
- speaker && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-yellow-400", children: speaker }),
35459
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--color-foreground)] leading-relaxed", children: text })
35458
+ speaker && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-warning", children: speaker }),
35459
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-foreground leading-relaxed", children: text })
35460
35460
  ] })
35461
35461
  ]
35462
35462
  }
@@ -35775,7 +35775,7 @@ function LinearView({
35775
35775
  className
35776
35776
  }) {
35777
35777
  const currentIdx = trait.states.indexOf(trait.currentState);
35778
- return /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
35778
+ return /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
35779
35779
  trait.description && /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: trait.description }),
35780
35780
  /* @__PURE__ */ jsxRuntime.jsx(exports.HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
35781
35781
  const isDone = i < currentIdx;
@@ -35797,10 +35797,10 @@ function LinearView({
35797
35797
  {
35798
35798
  display: "inline-flex",
35799
35799
  className: cn(
35800
- "items-center justify-center rounded-full px-3 py-1 border-2 transition-all",
35800
+ "items-center justify-center rounded-pill px-3 py-1 border-2 transition-all",
35801
35801
  SIZE_CONFIG2[size || "md"].fontSize,
35802
35802
  isDone && "bg-success/20 border-success text-success",
35803
- isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-md shadow-primary/20",
35803
+ isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-elevation-card shadow-primary/20",
35804
35804
  !isDone && !isCurrent && "bg-muted border-border text-muted-foreground"
35805
35805
  ),
35806
35806
  children: [
@@ -35822,7 +35822,7 @@ function CompactView({
35822
35822
  const { t } = useTranslate();
35823
35823
  const config = SIZE_CONFIG2[size || "md"];
35824
35824
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
35825
- return /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
35825
+ return /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
35826
35826
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-center justify-between", children: [
35827
35827
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
35828
35828
  /* @__PURE__ */ jsxRuntime.jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -35858,7 +35858,7 @@ function FullView({
35858
35858
  const { t } = useTranslate();
35859
35859
  const config = SIZE_CONFIG2[size || "md"];
35860
35860
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
35861
- return /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
35861
+ return /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
35862
35862
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-center justify-between", children: [
35863
35863
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
35864
35864
  /* @__PURE__ */ jsxRuntime.jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -35872,9 +35872,9 @@ function FullView({
35872
35872
  {
35873
35873
  display: "flex",
35874
35874
  className: cn(
35875
- "items-center justify-center rounded-md border-2 transition-all px-2",
35875
+ "items-center justify-center rounded-container border-2 transition-all px-2",
35876
35876
  config.nodeSize,
35877
- isCurrent && "bg-primary/20 border-primary shadow-md shadow-primary/20",
35877
+ isCurrent && "bg-primary/20 border-primary shadow-elevation-card shadow-primary/20",
35878
35878
  !isCurrent && hasOutgoing && "bg-muted border-border hover:border-muted-foreground",
35879
35879
  !isCurrent && !hasOutgoing && "bg-background border-border opacity-60",
35880
35880
  onStateClick && "cursor-pointer"
@@ -36304,7 +36304,7 @@ function EventHandlerBoard({
36304
36304
  backgroundPosition: "center"
36305
36305
  },
36306
36306
  children: [
36307
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
36307
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
36308
36308
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", children: [
36309
36309
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
36310
36310
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -36319,7 +36319,7 @@ function EventHandlerBoard({
36319
36319
  exports.Box,
36320
36320
  {
36321
36321
  className: cn(
36322
- "p-3 rounded-lg border-2 cursor-pointer transition-all hover:scale-105",
36322
+ "p-3 rounded-container border-2 cursor-pointer transition-all hover:scale-105",
36323
36323
  selectedObjectId === obj.id ? "border-primary bg-primary/10" : "border-border bg-card hover:border-muted-foreground"
36324
36324
  ),
36325
36325
  onClick: () => setSelectedObjectId(obj.id),
@@ -36341,10 +36341,10 @@ function EventHandlerBoard({
36341
36341
  }
36342
36342
  ),
36343
36343
  eventLog.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(EventLog, { entries: eventLog }),
36344
- playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
36344
+ playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
36345
36345
  playState === "fail" && /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
36346
- /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
36347
- showHint && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-start", gap: "xs", children: [
36346
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
36347
+ showHint && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-start", gap: "xs", children: [
36348
36348
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
36349
36349
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
36350
36350
  ] }) })
@@ -39390,7 +39390,7 @@ function MiniMap({
39390
39390
  "div",
39391
39391
  {
39392
39392
  className: cn(
39393
- "relative inline-block border border-white/20 rounded",
39393
+ "relative inline-block border border-border/20 rounded-container",
39394
39394
  className
39395
39395
  ),
39396
39396
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -39610,7 +39610,7 @@ function NegotiatorBoard({
39610
39610
  backgroundPosition: "center"
39611
39611
  },
39612
39612
  children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "lg", className: "p-4", children: [
39613
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
39613
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
39614
39614
  /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
39615
39615
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", weight: "bold", children: entity.title }),
39616
39616
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.description }),
@@ -39656,7 +39656,7 @@ function NegotiatorBoard({
39656
39656
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: "vs" }),
39657
39657
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", children: getActionLabel(round.opponentAction) }),
39658
39658
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.ArrowRight, size: "xs" }),
39659
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", weight: "bold", className: "text-green-600", children: [
39659
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", weight: "bold", className: "text-success", children: [
39660
39660
  "+",
39661
39661
  round.playerPayoff
39662
39662
  ] }),
@@ -39667,7 +39667,7 @@ function NegotiatorBoard({
39667
39667
  ] }, round.round))
39668
39668
  ] }) }),
39669
39669
  isComplete && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", align: "center", children: [
39670
- /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.CheckCircle, size: "lg", className: won ? "text-green-600" : "text-red-600" }),
39670
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.CheckCircle, size: "lg", className: won ? "text-success" : "text-error" }),
39671
39671
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", weight: "bold", children: won ? entity.successMessage ?? t("negotiator.success") : entity.failMessage ?? t("negotiator.failed") }),
39672
39672
  /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: [
39673
39673
  t("negotiator.finalScore"),
@@ -39677,7 +39677,7 @@ function NegotiatorBoard({
39677
39677
  entity.targetScore
39678
39678
  ] })
39679
39679
  ] }) }),
39680
- showHint && entity.hint && !won && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
39680
+ showHint && entity.hint && !won && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
39681
39681
  isComplete && !won && /* @__PURE__ */ jsxRuntime.jsx(exports.HStack, { justify: "center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Button, { variant: "primary", onClick: handleReset, children: t("negotiator.playAgain") }) })
39682
39682
  ] })
39683
39683
  }
@@ -40350,17 +40350,17 @@ function ResourceCounter({
40350
40350
  "div",
40351
40351
  {
40352
40352
  className: cn(
40353
- "inline-flex items-center rounded-md",
40354
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
40353
+ "inline-flex items-center rounded-container",
40354
+ "bg-card/80 border border-muted font-medium text-foreground",
40355
40355
  sizes.wrapper,
40356
40356
  className
40357
40357
  ),
40358
40358
  children: [
40359
40359
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("flex-shrink-0", sizes.icon), children: icon }),
40360
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: label }),
40360
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: label }),
40361
40361
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("font-bold tabular-nums", color), children: [
40362
40362
  value,
40363
- max != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-500", children: [
40363
+ max != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
40364
40364
  "/",
40365
40365
  max
40366
40366
  ] })
@@ -42307,7 +42307,7 @@ function TraitSlot({
42307
42307
  display: "flex",
42308
42308
  position: "relative",
42309
42309
  className: cn(
42310
- "items-center justify-center rounded-lg transition-all duration-200",
42310
+ "items-center justify-center rounded-container transition-all duration-200 bg-card/50",
42311
42311
  !locked && "cursor-pointer",
42312
42312
  locked && "cursor-not-allowed opacity-50",
42313
42313
  isEmpty && !locked && "border-2 border-dashed border-border hover:border-muted-foreground",
@@ -42323,7 +42323,7 @@ function TraitSlot({
42323
42323
  style: {
42324
42324
  width: config.box,
42325
42325
  height: config.box,
42326
- backgroundColor: catColor?.bg || "rgba(30,41,59,0.5)",
42326
+ backgroundColor: catColor?.bg || void 0,
42327
42327
  borderColor: isDragOver ? void 0 : feedback === "correct" ? "var(--color-success)" : feedback === "wrong" ? "var(--color-error)" : catColor?.border || void 0
42328
42328
  },
42329
42329
  onClick: handleClick,
@@ -42352,7 +42352,7 @@ function TraitSlot({
42352
42352
  exports.Box,
42353
42353
  {
42354
42354
  position: "absolute",
42355
- className: "-top-1.5 -right-1.5 w-4 h-4 bg-error rounded-full flex items-center justify-center cursor-pointer hover:bg-error/80 transition-colors",
42355
+ className: "-top-1.5 -right-1.5 w-4 h-4 bg-error rounded-pill flex items-center justify-center cursor-pointer hover:bg-error/80 transition-colors",
42356
42356
  onClick: handleRemove,
42357
42357
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-foreground text-xs leading-none", children: "\xD7" })
42358
42358
  }
@@ -42362,14 +42362,14 @@ function TraitSlot({
42362
42362
  exports.Box,
42363
42363
  {
42364
42364
  position: "absolute",
42365
- className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-full flex items-center justify-center border border-border",
42365
+ className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-pill flex items-center justify-center border border-border",
42366
42366
  children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-muted-foreground text-xs", children: slotNumber })
42367
42367
  }
42368
42368
  ),
42369
42369
  showTooltip && isHovered && itemMachine && !isEmpty && equippedItem && /* @__PURE__ */ jsxRuntime.jsxs(
42370
42370
  exports.Box,
42371
42371
  {
42372
- className: "p-3 bg-background border border-border rounded-lg shadow-xl",
42372
+ className: "p-3 bg-background border border-border rounded-container shadow-xl",
42373
42373
  style: {
42374
42374
  ...getTooltipStyle(),
42375
42375
  minWidth: 200,
@@ -42619,12 +42619,12 @@ function SequencerBoard({
42619
42619
  backgroundPosition: "center"
42620
42620
  },
42621
42621
  children: [
42622
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
42622
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
42623
42623
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", children: [
42624
42624
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
42625
42625
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description })
42626
42626
  ] }),
42627
- showHint && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-start", gap: "xs", children: [
42627
+ showHint && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-start", gap: "xs", children: [
42628
42628
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
42629
42629
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
42630
42630
  ] }) }),
@@ -42662,8 +42662,8 @@ function SequencerBoard({
42662
42662
  label: t("sequencer.dragActions")
42663
42663
  }
42664
42664
  ),
42665
- hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
42666
- playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
42665
+ hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
42666
+ playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
42667
42667
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", children: [
42668
42668
  /* @__PURE__ */ jsxRuntime.jsx(
42669
42669
  exports.Button,
@@ -43339,7 +43339,7 @@ function SimulationCanvas({
43339
43339
  ref: canvasRef,
43340
43340
  width,
43341
43341
  height,
43342
- className: "rounded-md block max-w-full h-auto"
43342
+ className: "rounded-container block max-w-full h-auto"
43343
43343
  }
43344
43344
  ) });
43345
43345
  }
@@ -43547,7 +43547,7 @@ function SimulatorBoard({
43547
43547
  backgroundPosition: "center"
43548
43548
  },
43549
43549
  children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "lg", className: "p-4", children: [
43550
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
43550
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
43551
43551
  /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
43552
43552
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", weight: "bold", children: entity.title }),
43553
43553
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.description })
@@ -43598,8 +43598,8 @@ function SimulatorBoard({
43598
43598
  entity.outputUnit
43599
43599
  ] }),
43600
43600
  submitted && /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", align: "center", children: [
43601
- /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: isCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: isCorrect ? "text-green-600" : "text-red-600" }),
43602
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: isCorrect ? "text-green-600" : "text-red-600", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
43601
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: isCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: isCorrect ? "text-success" : "text-error" }),
43602
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", className: isCorrect ? "text-success" : "text-error", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
43603
43603
  ] }),
43604
43604
  /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: [
43605
43605
  t("simulator.target"),
@@ -43612,7 +43612,7 @@ function SimulatorBoard({
43612
43612
  ")"
43613
43613
  ] })
43614
43614
  ] }) }),
43615
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
43615
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", children: entity.hint }) }),
43616
43616
  /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", justify: "center", children: [
43617
43617
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(exports.Button, { variant: "primary", onClick: handleSubmit, children: [
43618
43618
  /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon: LucideIcons2.Play, size: "sm" }),
@@ -44124,7 +44124,7 @@ function StateNode2({
44124
44124
  position: "absolute",
44125
44125
  display: "flex",
44126
44126
  className: cn(
44127
- "items-center justify-center rounded-full border-3 transition-all cursor-pointer select-none",
44127
+ "items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
44128
44128
  "min-w-[80px] h-[80px] px-3",
44129
44129
  isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
44130
44130
  isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
@@ -44437,7 +44437,7 @@ function StateArchitectBoard({
44437
44437
  backgroundPosition: "center"
44438
44438
  },
44439
44439
  children: [
44440
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44440
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44441
44441
  /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", children: [
44442
44442
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
44443
44443
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -44456,7 +44456,7 @@ function StateArchitectBoard({
44456
44456
  exports.Box,
44457
44457
  {
44458
44458
  position: "relative",
44459
- className: "rounded-lg border border-border bg-background overflow-hidden",
44459
+ className: "rounded-container border border-border bg-background overflow-hidden",
44460
44460
  style: { width: GRAPH_W, height: GRAPH_H },
44461
44461
  children: [
44462
44462
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -44515,7 +44515,7 @@ function StateArchitectBoard({
44515
44515
  children: selectedState ? t("stateArchitect.addTransition", { state: selectedState }) : t("stateArchitect.addTransitionPrompt")
44516
44516
  }
44517
44517
  ) }),
44518
- transitions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", className: "p-3 rounded-lg bg-muted/50 border border-border", children: [
44518
+ transitions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "xs", className: "p-3 rounded-container bg-muted/50 border border-border", children: [
44519
44519
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-muted-foreground font-medium", children: t("stateArchitect.transitions", { count: transitions.length }) + ":" }),
44520
44520
  transitions.map((t2) => /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-center text-xs", gap: "xs", children: [
44521
44521
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "text-foreground", children: t2.from }),
@@ -44549,7 +44549,7 @@ function StateArchitectBoard({
44549
44549
  variables
44550
44550
  }
44551
44551
  ),
44552
- testResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: "p-3 rounded-lg bg-card border border-border", gap: "xs", children: [
44552
+ testResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { className: "p-3 rounded-container bg-card border border-border", gap: "xs", children: [
44553
44553
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.testResults") + ":" }),
44554
44554
  testResults.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-center text-xs", gap: "xs", children: [
44555
44555
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: r.passed ? "text-success" : "text-error", children: r.passed ? "\u2714" : "\u2717" }),
@@ -44560,10 +44560,10 @@ function StateArchitectBoard({
44560
44560
  entity.showCodeView !== false && /* @__PURE__ */ jsxRuntime.jsx(CodeView, { data: codeData, label: "View Code" })
44561
44561
  ] })
44562
44562
  ] }),
44563
- playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
44563
+ playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
44564
44564
  playState === "fail" && /* @__PURE__ */ jsxRuntime.jsxs(exports.VStack, { gap: "sm", children: [
44565
- /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
44566
- attempts >= 3 && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-start", gap: "xs", children: [
44565
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
44566
+ attempts >= 3 && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { className: "items-start", gap: "xs", children: [
44567
44567
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
44568
44568
  /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
44569
44569
  ] }) })
@@ -44669,7 +44669,7 @@ function StatusEffect({
44669
44669
  "div",
44670
44670
  {
44671
44671
  className: cn(
44672
- "relative flex items-center justify-center rounded border-2",
44672
+ "relative flex items-center justify-center rounded-interactive border-2",
44673
44673
  sizes.container,
44674
44674
  variantStyles9[variant]
44675
44675
  ),
@@ -44680,7 +44680,7 @@ function StatusEffect({
44680
44680
  "span",
44681
44681
  {
44682
44682
  className: cn(
44683
- "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-white bg-black/60 leading-tight",
44683
+ "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-foreground bg-background/60 leading-tight",
44684
44684
  sizes.timer
44685
44685
  ),
44686
44686
  children: formatDuration(duration)
@@ -44693,7 +44693,7 @@ function StatusEffect({
44693
44693
  "span",
44694
44694
  {
44695
44695
  className: cn(
44696
- "absolute flex items-center justify-center rounded-full bg-[var(--color-card)] text-[var(--color-foreground)] font-bold leading-none",
44696
+ "absolute flex items-center justify-center rounded-full bg-card text-foreground font-bold leading-none",
44697
44697
  sizes.badge
44698
44698
  ),
44699
44699
  children: stacks
@@ -44712,9 +44712,9 @@ var init_StatusEffect = __esm({
44712
44712
  lg: { container: "w-12 h-12", icon: "text-lg", badge: "text-sm -top-1.5 -right-1.5 w-6 h-6", timer: "text-xs" }
44713
44713
  };
44714
44714
  variantStyles9 = {
44715
- buff: "border-green-500 bg-green-500/20",
44716
- debuff: "border-red-500 bg-red-500/20",
44717
- neutral: "border-gray-500 bg-gray-500/20"
44715
+ buff: "border-success bg-success/20",
44716
+ debuff: "border-error bg-error/20",
44717
+ neutral: "border-muted bg-muted/20"
44718
44718
  };
44719
44719
  StatusEffect.displayName = "StatusEffect";
44720
44720
  }
@@ -45327,12 +45327,12 @@ function TimerDisplay({
45327
45327
  "div",
45328
45328
  {
45329
45329
  className: cn(
45330
- "inline-flex items-center justify-center rounded-lg",
45331
- "bg-[var(--color-card)]/80 border border-gray-600 font-mono font-bold tabular-nums",
45330
+ "inline-flex items-center justify-center rounded-container",
45331
+ "bg-card/80 border border-muted font-mono font-bold tabular-nums",
45332
45332
  sizeMap17[size],
45333
- running && "border-green-500/50",
45334
- isLow && "text-red-400 border-red-500/50 animate-pulse",
45335
- !isLow && "text-[var(--color-foreground)]",
45333
+ running && "border-success/50",
45334
+ isLow && "text-error border-error/50 animate-pulse",
45335
+ !isLow && "text-foreground",
45336
45336
  className
45337
45337
  ),
45338
45338
  children: formatTime3(seconds, format)
@@ -46056,8 +46056,8 @@ function XPBar({
46056
46056
  "span",
46057
46057
  {
46058
46058
  className: cn(
46059
- "flex-shrink-0 rounded-md font-bold",
46060
- "bg-indigo-600 text-white border border-indigo-400",
46059
+ "flex-shrink-0 rounded-interactive font-bold",
46060
+ "bg-accent text-foreground border border-accent",
46061
46061
  sizes.badge
46062
46062
  ),
46063
46063
  children: [
@@ -46071,7 +46071,7 @@ function XPBar({
46071
46071
  "div",
46072
46072
  {
46073
46073
  className: cn(
46074
- "relative w-full overflow-hidden rounded-full bg-gray-700 border border-gray-600",
46074
+ "relative w-full overflow-hidden rounded-full bg-muted border border-muted",
46075
46075
  sizes.bar
46076
46076
  ),
46077
46077
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -46079,7 +46079,7 @@ function XPBar({
46079
46079
  {
46080
46080
  className: cn(
46081
46081
  "absolute inset-y-0 left-0 rounded-full",
46082
- "bg-gradient-to-r from-indigo-600 to-purple-500",
46082
+ "bg-gradient-to-r from-accent to-info",
46083
46083
  animated && "transition-all duration-500 ease-out"
46084
46084
  ),
46085
46085
  style: { width: `${percentage}%` }
@@ -46087,7 +46087,7 @@ function XPBar({
46087
46087
  )
46088
46088
  }
46089
46089
  ),
46090
- showLabel && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-gray-400 tabular-nums", sizes.text), children: [
46090
+ showLabel && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.text), children: [
46091
46091
  current,
46092
46092
  " / ",
46093
46093
  max,
@@ -48384,7 +48384,7 @@ function CollapsibleSection({ title, expanded, onToggle, children, className })
48384
48384
  CollapsibleSection.displayName = "CollapsibleSection";
48385
48385
  function EditorSlider({ label, value, min, max, step = 0.1, onChange, className }) {
48386
48386
  return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "center", className, children: [
48387
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48387
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48388
48388
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
48389
48389
  "input",
48390
48390
  {
@@ -48394,22 +48394,22 @@ function EditorSlider({ label, value, min, max, step = 0.1, onChange, className
48394
48394
  step,
48395
48395
  value,
48396
48396
  onChange: (e) => onChange(parseFloat(e.target.value)),
48397
- className: "w-full h-1.5 bg-gray-600 rounded-lg appearance-none cursor-pointer accent-blue-500"
48397
+ className: "w-full h-1.5 bg-muted rounded-interactive appearance-none cursor-pointer accent-primary"
48398
48398
  }
48399
48399
  ) }),
48400
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[40px] text-right text-gray-400", children: typeof step === "number" && step < 1 ? value.toFixed(1) : value })
48400
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[40px] text-right text-muted-foreground", children: typeof step === "number" && step < 1 ? value.toFixed(1) : value })
48401
48401
  ] });
48402
48402
  }
48403
48403
  EditorSlider.displayName = "EditorSlider";
48404
48404
  function EditorSelect({ label, value, options, onChange, className }) {
48405
48405
  return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "center", className, children: [
48406
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48406
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48407
48407
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
48408
48408
  "select",
48409
48409
  {
48410
48410
  value,
48411
48411
  onChange: (e) => onChange(e.target.value),
48412
- className: "w-full px-2 py-1 text-xs bg-gray-700 text-gray-200 border border-gray-600 rounded cursor-pointer",
48412
+ className: "w-full px-2 py-1 text-xs bg-muted text-foreground border border-muted rounded cursor-pointer",
48413
48413
  children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, children: opt.label }, opt.value))
48414
48414
  }
48415
48415
  ) })
@@ -48418,14 +48418,14 @@ function EditorSelect({ label, value, options, onChange, className }) {
48418
48418
  EditorSelect.displayName = "EditorSelect";
48419
48419
  function EditorCheckbox({ label, checked, onChange, className }) {
48420
48420
  return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "center", className, children: [
48421
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48421
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48422
48422
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { children: /* @__PURE__ */ jsxRuntime.jsx(
48423
48423
  "input",
48424
48424
  {
48425
48425
  type: "checkbox",
48426
48426
  checked,
48427
48427
  onChange: (e) => onChange(e.target.checked),
48428
- className: "w-4 h-4 accent-blue-500 cursor-pointer"
48428
+ className: "w-4 h-4 accent-primary cursor-pointer"
48429
48429
  }
48430
48430
  ) })
48431
48431
  ] });
@@ -48433,7 +48433,7 @@ function EditorCheckbox({ label, checked, onChange, className }) {
48433
48433
  EditorCheckbox.displayName = "EditorCheckbox";
48434
48434
  function EditorTextInput({ label, value, onChange, placeholder, className }) {
48435
48435
  return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "center", className, children: [
48436
- /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48436
+ /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48437
48437
  /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
48438
48438
  "input",
48439
48439
  {
@@ -48441,30 +48441,30 @@ function EditorTextInput({ label, value, onChange, placeholder, className }) {
48441
48441
  value,
48442
48442
  onChange: (e) => onChange(e.target.value),
48443
48443
  placeholder,
48444
- className: "w-full px-2 py-1 text-xs bg-gray-700 text-gray-200 border border-gray-600 rounded"
48444
+ className: "w-full px-2 py-1 text-xs bg-muted text-foreground border border-muted rounded"
48445
48445
  }
48446
48446
  ) })
48447
48447
  ] });
48448
48448
  }
48449
48449
  EditorTextInput.displayName = "EditorTextInput";
48450
48450
  function StatusBar({ hoveredTile, mode, gridSize, unitCount, featureCount, className }) {
48451
- return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "center", className: `px-3 py-1.5 bg-gray-800 border-t border-gray-700 ${className ?? ""}`, children: [
48451
+ return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "sm", align: "center", className: `px-3 py-1.5 bg-background border-t border-border ${className ?? ""}`, children: [
48452
48452
  /* @__PURE__ */ jsxRuntime.jsx(exports.Badge, { variant: "info", size: "sm", children: mode }),
48453
- /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-gray-400", children: [
48453
+ /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: [
48454
48454
  "Tile: ",
48455
48455
  hoveredTile ? `(${hoveredTile.x}, ${hoveredTile.y})` : "\u2014"
48456
48456
  ] }),
48457
- gridSize && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-gray-500", children: [
48457
+ gridSize && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: [
48458
48458
  "Grid: ",
48459
48459
  gridSize.width,
48460
48460
  "x",
48461
48461
  gridSize.height
48462
48462
  ] }),
48463
- unitCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-gray-500", children: [
48463
+ unitCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: [
48464
48464
  "Units: ",
48465
48465
  unitCount
48466
48466
  ] }),
48467
- featureCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-gray-500", children: [
48467
+ featureCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(exports.Typography, { variant: "caption", className: "text-muted-foreground", children: [
48468
48468
  "Features: ",
48469
48469
  featureCount
48470
48470
  ] })
@@ -48476,8 +48476,8 @@ function TerrainPalette({ terrains, selectedTerrain, onSelect, className }) {
48476
48476
  exports.Box,
48477
48477
  {
48478
48478
  onClick: () => onSelect(terrain),
48479
- className: `w-8 h-8 rounded cursor-pointer border-2 transition-all ${selectedTerrain === terrain ? "border-white scale-110 shadow-lg" : "border-gray-600 hover:border-gray-400"}`,
48480
- style: { backgroundColor: TERRAIN_COLORS[terrain] || "#555" },
48479
+ className: `w-8 h-8 rounded cursor-pointer border-2 transition-all ${selectedTerrain === terrain ? "border-foreground scale-110 shadow-lg" : "border-muted hover:border-muted-foreground"}`,
48480
+ style: { backgroundColor: TERRAIN_COLORS[terrain] || "var(--color-muted)" },
48481
48481
  title: terrain
48482
48482
  },
48483
48483
  terrain