@almadar/ui 5.9.6 → 5.9.7

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.
@@ -9215,7 +9215,7 @@ function ActionButton({
9215
9215
  disabled: isDisabled,
9216
9216
  onClick,
9217
9217
  className: cn(
9218
- "relative inline-flex items-center gap-1.5 rounded-md border font-medium overflow-hidden transition-colors duration-150",
9218
+ "relative inline-flex items-center gap-1.5 rounded-interactive border font-medium overflow-hidden transition-colors duration-150",
9219
9219
  sizes.button,
9220
9220
  variantStyles7[variant],
9221
9221
  isDisabled && "opacity-60 cursor-not-allowed",
@@ -9258,9 +9258,9 @@ var init_ActionButton = __esm({
9258
9258
  init_cn();
9259
9259
  init_Icon();
9260
9260
  sizeMap = {
9261
- sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
9262
- md: { button: "px-4 py-2 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
9263
- lg: { button: "px-5 py-2.5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
9261
+ sm: { button: "h-button-sm px-3 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
9262
+ md: { button: "h-button-md px-4 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
9263
+ lg: { button: "h-button-lg px-5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
9264
9264
  };
9265
9265
  variantStyles7 = {
9266
9266
  primary: "bg-primary text-primary-foreground hover:bg-primary-hover border-primary",
@@ -9363,8 +9363,8 @@ var init_ControlButton = __esm({
9363
9363
  };
9364
9364
  shapeMap = {
9365
9365
  circle: "rounded-full",
9366
- rounded: "rounded-xl",
9367
- square: "rounded-md"
9366
+ rounded: "rounded-interactive",
9367
+ square: "rounded-interactive"
9368
9368
  };
9369
9369
  variantMap = {
9370
9370
  primary: "bg-primary text-primary-foreground border-primary hover:bg-primary-hover",
@@ -9525,7 +9525,7 @@ function ActionTile({
9525
9525
  {
9526
9526
  display: "flex",
9527
9527
  className: cn(
9528
- "flex-col items-center gap-1 rounded-lg border-2 transition-all select-none",
9528
+ "flex-col items-center gap-1 rounded-container border-2 transition-all select-none",
9529
9529
  config.px,
9530
9530
  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",
9531
9531
  className
@@ -10736,12 +10736,12 @@ function IsometricCanvas({
10736
10736
  return /* @__PURE__ */ jsx(
10737
10737
  Box,
10738
10738
  {
10739
- className: cn("relative w-full overflow-hidden rounded-lg", className),
10739
+ className: cn("relative w-full overflow-hidden rounded-container", className),
10740
10740
  style: { height: viewportSize.height },
10741
10741
  "data-testid": "game-canvas-empty",
10742
- children: /* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-lg", children: /* @__PURE__ */ jsxs(Stack, { direction: "vertical", gap: "md", align: "center", children: [
10742
+ children: /* @__PURE__ */ jsx(Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-container", children: /* @__PURE__ */ jsxs(Stack, { direction: "vertical", gap: "md", align: "center", children: [
10743
10743
  /* @__PURE__ */ jsx(Icon, { name: "map", size: "xl" }),
10744
- /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-slate-400", children: t("canvas.emptyMessage") || "No map data loaded" })
10744
+ /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-muted-foreground", children: t("canvas.emptyMessage") || "No map data loaded" })
10745
10745
  ] }) })
10746
10746
  }
10747
10747
  );
@@ -11139,19 +11139,19 @@ function BattleBoard({
11139
11139
  }
11140
11140
  )
11141
11141
  ] }),
11142
- gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm rounded-xl", children: /* @__PURE__ */ jsxs(VStack, { className: "text-center p-8", gap: "lg", children: [
11142
+ gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-background/70 backdrop-blur-sm rounded-container", children: /* @__PURE__ */ jsxs(VStack, { className: "text-center p-8", gap: "lg", children: [
11143
11143
  /* @__PURE__ */ jsx(
11144
11144
  Typography,
11145
11145
  {
11146
11146
  variant: "h2",
11147
11147
  className: cn(
11148
11148
  "text-4xl font-black tracking-widest uppercase",
11149
- gameResult === "victory" ? "text-yellow-400" : "text-red-500"
11149
+ gameResult === "victory" ? "text-warning" : "text-error"
11150
11150
  ),
11151
11151
  children: gameResult === "victory" ? t("battle.victory") : t("battle.defeat")
11152
11152
  }
11153
11153
  ),
11154
- /* @__PURE__ */ jsxs(Typography, { variant: "body1", className: "text-gray-300", children: [
11154
+ /* @__PURE__ */ jsxs(Typography, { variant: "body1", className: "text-muted-foreground", children: [
11155
11155
  t("battle.turnsPlayed"),
11156
11156
  ": ",
11157
11157
  currentTurn
@@ -16028,7 +16028,7 @@ function BuilderBoard({
16028
16028
  backgroundPosition: "center"
16029
16029
  },
16030
16030
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
16031
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
16031
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
16032
16032
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
16033
16033
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
16034
16034
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
@@ -16066,7 +16066,7 @@ function BuilderBoard({
16066
16066
  {
16067
16067
  gap: "sm",
16068
16068
  align: "center",
16069
- className: `p-3 border-2 rounded ${result ? result.correct ? "border-green-500" : "border-red-500" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
16069
+ className: `p-3 border-2 rounded ${result ? result.correct ? "border-success" : "border-error" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
16070
16070
  onClick: () => handlePlaceComponent(slot.id),
16071
16071
  children: [
16072
16072
  /* @__PURE__ */ jsxs(VStack, { gap: "none", className: "flex-1", children: [
@@ -16081,7 +16081,7 @@ function BuilderBoard({
16081
16081
  ] }) : null,
16082
16082
  placedComp.label
16083
16083
  ] }),
16084
- result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "sm", className: result.correct ? "text-green-600" : "text-red-600" })
16084
+ result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "sm", className: result.correct ? "text-success" : "text-error" })
16085
16085
  ] }) : /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: t("builder.empty") })
16086
16086
  ]
16087
16087
  },
@@ -16090,10 +16090,10 @@ function BuilderBoard({
16090
16090
  }) })
16091
16091
  ] }) }),
16092
16092
  submitted && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
16093
- /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
16093
+ /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
16094
16094
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("builder.success") : entity.failMessage ?? t("builder.incorrect") })
16095
16095
  ] }) }),
16096
- showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
16096
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
16097
16097
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
16098
16098
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allPlaced, children: [
16099
16099
  /* @__PURE__ */ jsx(Icon, { icon: Wrench, size: "sm" }),
@@ -17715,7 +17715,7 @@ function CanvasEffectEngine({
17715
17715
  flash && /* @__PURE__ */ jsx(
17716
17716
  Box,
17717
17717
  {
17718
- className: "absolute inset-0 z-20 pointer-events-none rounded-lg",
17718
+ className: "absolute inset-0 z-20 pointer-events-none rounded-container",
17719
17719
  style: { backgroundColor: flash.color, opacity: flash.alpha }
17720
17720
  }
17721
17721
  ),
@@ -17783,7 +17783,7 @@ function EmojiEffect({
17783
17783
  /* @__PURE__ */ jsx(
17784
17784
  Box,
17785
17785
  {
17786
- className: "absolute rounded-full animate-ping",
17786
+ className: "absolute rounded-pill animate-ping",
17787
17787
  style: {
17788
17788
  width: 48 * intensity,
17789
17789
  height: 48 * intensity,
@@ -19550,7 +19550,7 @@ function ChoiceButton({
19550
19550
  disabled,
19551
19551
  onClick,
19552
19552
  className: cn(
19553
- "w-full text-left px-4 py-2.5 rounded-md border transition-all duration-150",
19553
+ "w-full text-left px-4 py-2.5 rounded-interactive border transition-all duration-150",
19554
19554
  "flex items-center gap-2",
19555
19555
  selected ? "bg-accent/15 border-accent text-foreground" : "bg-muted/40 border-border text-foreground hover:bg-muted hover:border-border",
19556
19556
  disabled && "opacity-40 cursor-not-allowed hover:bg-muted/40 hover:border-border",
@@ -19646,7 +19646,7 @@ function ClassifierBoard({
19646
19646
  backgroundPosition: "center"
19647
19647
  },
19648
19648
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
19649
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
19649
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
19650
19650
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
19651
19651
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
19652
19652
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
@@ -19661,7 +19661,7 @@ function ClassifierBoard({
19661
19661
  /* @__PURE__ */ jsx(VStack, { gap: "md", children: categories.map((cat) => {
19662
19662
  const catItems = items.filter((item) => assignments[item.id] === cat.id);
19663
19663
  return /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
19664
- cat.imageUrl && /* @__PURE__ */ jsx(Box, { className: "w-full h-16 overflow-hidden rounded-md", children: /* @__PURE__ */ jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
19664
+ cat.imageUrl && /* @__PURE__ */ jsx(Box, { className: "w-full h-16 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
19665
19665
  /* @__PURE__ */ jsxs(HStack, { justify: "between", align: "center", children: [
19666
19666
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: cat.label }),
19667
19667
  /* @__PURE__ */ jsx(Badge, { size: "sm", children: catItems.length })
@@ -19672,12 +19672,12 @@ function ClassifierBoard({
19672
19672
  Badge,
19673
19673
  {
19674
19674
  size: "sm",
19675
- 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" : ""}`,
19675
+ className: `cursor-pointer ${result ? result.correct ? "border-success bg-success/10" : "border-error bg-error/10" : ""}`,
19676
19676
  onClick: () => handleUnassign(item.id),
19677
19677
  children: [
19678
19678
  item.iconUrl && /* @__PURE__ */ jsx("img", { src: item.iconUrl, alt: "", className: "w-3 h-3 object-contain inline-block" }),
19679
19679
  item.label,
19680
- result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "xs", className: result.correct ? "text-green-600" : "text-red-600" })
19680
+ result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "xs", className: result.correct ? "text-success" : "text-error" })
19681
19681
  ]
19682
19682
  },
19683
19683
  item.id
@@ -19700,11 +19700,11 @@ function ClassifierBoard({
19700
19700
  ] }) }, cat.id);
19701
19701
  }) }),
19702
19702
  submitted && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
19703
- /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
19703
+ /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
19704
19704
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("classifier.allCorrect") : `${correctCount}/${items.length} ${t("classifier.correct")}` }),
19705
19705
  !allCorrect && entity.failMessage && /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-muted-foreground", children: entity.failMessage })
19706
19706
  ] }) }),
19707
- showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
19707
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
19708
19708
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
19709
19709
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allAssigned, children: [
19710
19710
  /* @__PURE__ */ jsx(Icon, { icon: Send, size: "sm" }),
@@ -20354,10 +20354,10 @@ var init_CombatLog = __esm({
20354
20354
  }
20355
20355
  });
20356
20356
  function getComboIntensity(combo) {
20357
- if (combo >= 10) return "text-red-400 animate-pulse";
20358
- if (combo >= 7) return "text-orange-400";
20359
- if (combo >= 4) return "text-yellow-400";
20360
- return "text-[var(--color-foreground)]";
20357
+ if (combo >= 10) return "text-error animate-pulse";
20358
+ if (combo >= 7) return "text-warning";
20359
+ if (combo >= 4) return "text-warning";
20360
+ return "text-foreground";
20361
20361
  }
20362
20362
  function getComboScale(combo) {
20363
20363
  if (combo >= 10) return "scale-110";
@@ -20378,19 +20378,19 @@ function ComboCounter({
20378
20378
  {
20379
20379
  className: cn(
20380
20380
  "inline-flex flex-col items-center justify-center",
20381
- "rounded-xl bg-[var(--color-card)]/80 border border-gray-600 px-3 py-1.5",
20381
+ "rounded-container bg-card/80 border border-muted px-3 py-1.5",
20382
20382
  "transition-transform duration-200",
20383
20383
  getComboScale(combo),
20384
20384
  className
20385
20385
  ),
20386
20386
  children: [
20387
20387
  /* @__PURE__ */ jsx("span", { className: cn("font-black tabular-nums leading-none", sizes.combo, getComboIntensity(combo)), children: combo }),
20388
- /* @__PURE__ */ jsx("span", { className: cn("font-bold uppercase tracking-wider text-gray-400", sizes.label), children: "combo" }),
20389
- multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxs("span", { className: cn("font-bold text-amber-400 tabular-nums", sizes.multiplier), children: [
20388
+ /* @__PURE__ */ jsx("span", { className: cn("font-bold uppercase tracking-wider text-muted-foreground", sizes.label), children: "combo" }),
20389
+ multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxs("span", { className: cn("font-bold text-warning tabular-nums", sizes.multiplier), children: [
20390
20390
  "x",
20391
20391
  multiplier.toFixed(1)
20392
20392
  ] }),
20393
- streak != null && streak > 0 && /* @__PURE__ */ jsxs("span", { className: cn("text-gray-500 tabular-nums", sizes.label), children: [
20393
+ streak != null && streak > 0 && /* @__PURE__ */ jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.label), children: [
20394
20394
  streak,
20395
20395
  " streak"
20396
20396
  ] })
@@ -20805,18 +20805,18 @@ function ItemSlot({
20805
20805
  disabled: !isClickable,
20806
20806
  title: label,
20807
20807
  className: cn(
20808
- "relative flex items-center justify-center rounded-lg border-2",
20809
- "bg-[var(--color-card)]/80 transition-all duration-150",
20808
+ "relative flex items-center justify-center rounded-interactive border-2",
20809
+ "bg-card/80 transition-all duration-150",
20810
20810
  sizeMap5[size],
20811
- empty ? "border-gray-700 bg-[var(--color-card)]/50" : rarityBorderMap[rarity],
20811
+ empty ? "border-border bg-card/50" : rarityBorderMap[rarity],
20812
20812
  !empty && rarityGlowMap[rarity],
20813
- selected && "ring-2 ring-white ring-offset-1 ring-offset-gray-900",
20813
+ selected && "ring-2 ring-foreground ring-offset-1 ring-offset-background",
20814
20814
  isClickable && !empty && "hover:brightness-125 cursor-pointer",
20815
- isClickable && empty && "hover:border-gray-500 cursor-pointer",
20815
+ isClickable && empty && "hover:border-muted cursor-pointer",
20816
20816
  !isClickable && "cursor-default",
20817
20817
  className
20818
20818
  ),
20819
- children: empty ? /* @__PURE__ */ jsx("span", { className: "text-gray-600 text-base", children: "+" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
20819
+ children: empty ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
20820
20820
  icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: icon }),
20821
20821
  quantity != null && quantity > 1 && /* @__PURE__ */ jsx(
20822
20822
  "span",
@@ -20824,7 +20824,7 @@ function ItemSlot({
20824
20824
  className: cn(
20825
20825
  "absolute -bottom-1 -right-1 flex items-center justify-center",
20826
20826
  "min-w-[18px] h-[18px] rounded-full px-1",
20827
- "bg-[var(--color-surface,#374151)] border border-gray-500 text-xs font-bold text-[var(--color-foreground)]"
20827
+ "bg-surface border border-muted text-xs font-bold text-foreground"
20828
20828
  ),
20829
20829
  children: quantity
20830
20830
  }
@@ -20844,18 +20844,18 @@ var init_ItemSlot = __esm({
20844
20844
  lg: "w-18 h-18 text-3xl"
20845
20845
  };
20846
20846
  rarityBorderMap = {
20847
- common: "border-gray-500",
20848
- uncommon: "border-green-500",
20849
- rare: "border-blue-500",
20850
- epic: "border-purple-500",
20851
- legendary: "border-amber-400"
20847
+ common: "border-muted",
20848
+ uncommon: "border-success",
20849
+ rare: "border-info",
20850
+ epic: "border-accent",
20851
+ legendary: "border-warning"
20852
20852
  };
20853
20853
  rarityGlowMap = {
20854
20854
  common: "",
20855
20855
  uncommon: "",
20856
- rare: "shadow-[0_0_6px_rgba(59,130,246,0.3)]",
20857
- epic: "shadow-[0_0_8px_rgba(168,85,247,0.4)]",
20858
- legendary: "shadow-[0_0_10px_rgba(251,191,36,0.5)]"
20856
+ rare: "shadow-sm",
20857
+ epic: "shadow-lg",
20858
+ legendary: "shadow-lg"
20859
20859
  };
20860
20860
  ItemSlot.displayName = "ItemSlot";
20861
20861
  }
@@ -20884,7 +20884,7 @@ function CraftingRecipe({
20884
20884
  Box,
20885
20885
  {
20886
20886
  className: cn(
20887
- "flex flex-wrap items-center gap-3 rounded-lg bg-gray-800/50 border border-gray-700/50 p-3",
20887
+ "flex flex-wrap items-center gap-3 rounded-container bg-muted/50 border border-border/50 p-3",
20888
20888
  className
20889
20889
  ),
20890
20890
  children: [
@@ -20901,10 +20901,10 @@ function CraftingRecipe({
20901
20901
  className: cn(!hasSufficient && "opacity-50")
20902
20902
  }
20903
20903
  ) }),
20904
- index < inputs.length - 1 && /* @__PURE__ */ jsx(Icon, { name: "plus", size: "sm", className: "text-gray-500" })
20904
+ index < inputs.length - 1 && /* @__PURE__ */ jsx(Icon, { name: "plus", size: "sm", className: "text-muted-foreground" })
20905
20905
  ] }, index);
20906
20906
  }) }),
20907
- /* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: "md", className: "text-gray-400" }),
20907
+ /* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: "md", className: "text-muted-foreground" }),
20908
20908
  /* @__PURE__ */ jsx(
20909
20909
  ItemSlot,
20910
20910
  {
@@ -20992,7 +20992,7 @@ function DPad({
20992
20992
  createButton("up"),
20993
20993
  /* @__PURE__ */ jsx("div", {}),
20994
20994
  createButton("left"),
20995
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "w-6 h-6 rounded-full bg-gray-700 border-2 border-gray-600" }) }),
20995
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "w-6 h-6 rounded-interactive bg-muted border-2 border-muted-foreground" }) }),
20996
20996
  createButton("right"),
20997
20997
  /* @__PURE__ */ jsx("div", {}),
20998
20998
  createButton("down"),
@@ -21054,10 +21054,10 @@ var init_DamageNumber = __esm({
21054
21054
  lg: "text-2xl"
21055
21055
  };
21056
21056
  typeStyles = {
21057
- damage: "text-red-500 font-bold",
21058
- heal: "text-green-500 font-bold",
21059
- crit: "text-orange-400 font-extrabold",
21060
- miss: "text-gray-400 italic"
21057
+ damage: "text-error font-bold",
21058
+ heal: "text-success font-bold",
21059
+ crit: "text-warning font-extrabold",
21060
+ miss: "text-muted-foreground italic"
21061
21061
  };
21062
21062
  floatKeyframes = `
21063
21063
  @keyframes damageFloat {
@@ -25245,7 +25245,7 @@ function HealthBar({
25245
25245
  "div",
25246
25246
  {
25247
25247
  className: cn(
25248
- "relative overflow-hidden rounded-full bg-gray-700",
25248
+ "relative overflow-hidden rounded-full bg-muted",
25249
25249
  sizes.bar,
25250
25250
  "w-24",
25251
25251
  className
@@ -25255,7 +25255,7 @@ function HealthBar({
25255
25255
  {
25256
25256
  className: cn(
25257
25257
  "absolute inset-y-0 left-0 rounded-full",
25258
- percentage > 66 ? "bg-green-500" : percentage > 33 ? "bg-yellow-500" : "bg-red-500",
25258
+ percentage > 66 ? "bg-success" : percentage > 33 ? "bg-warning" : "bg-error",
25259
25259
  animated && "transition-all duration-300"
25260
25260
  ),
25261
25261
  style: { width: `${percentage}%` }
@@ -25277,7 +25277,7 @@ var init_HealthBar = __esm({
25277
25277
  heartIcon = (filled, size) => /* @__PURE__ */ jsx(
25278
25278
  "svg",
25279
25279
  {
25280
- className: cn("transition-all duration-200", size, filled ? "text-red-500" : "text-gray-400"),
25280
+ className: cn("transition-all duration-200", size, filled ? "text-error" : "text-muted-foreground"),
25281
25281
  viewBox: "0 0 24 24",
25282
25282
  fill: filled ? "currentColor" : "none",
25283
25283
  stroke: "currentColor",
@@ -25341,7 +25341,7 @@ function ScoreDisplay({
25341
25341
  ),
25342
25342
  children: [
25343
25343
  icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: icon }),
25344
- label && /* @__PURE__ */ jsx("span", { className: "text-gray-400", children: label }),
25344
+ label && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
25345
25345
  /* @__PURE__ */ jsx("span", { className: "tabular-nums", children: formattedValue })
25346
25346
  ]
25347
25347
  }
@@ -25379,7 +25379,7 @@ function StatBadge({
25379
25379
  "div",
25380
25380
  {
25381
25381
  className: cn(
25382
- "inline-flex items-center gap-2 rounded-lg border backdrop-blur-sm",
25382
+ "inline-flex items-center gap-2 rounded-container border backdrop-blur-sm",
25383
25383
  sizeMap11[size] ?? sizeMap11.md,
25384
25384
  variantMap2[variant] ?? variantMap2.default,
25385
25385
  className
@@ -25528,7 +25528,7 @@ function WaypointMarker({
25528
25528
  "div",
25529
25529
  {
25530
25530
  className: cn(
25531
- "absolute rounded-full border-2 border-blue-400 animate-ping opacity-50",
25531
+ "absolute rounded-full border-2 border-info animate-ping opacity-50",
25532
25532
  sizes.ring
25533
25533
  )
25534
25534
  }
@@ -25537,7 +25537,7 @@ function WaypointMarker({
25537
25537
  "div",
25538
25538
  {
25539
25539
  className: cn(
25540
- "absolute rounded-full border-2 border-blue-400",
25540
+ "absolute rounded-full border-2 border-info",
25541
25541
  sizes.ring
25542
25542
  )
25543
25543
  }
@@ -25548,9 +25548,9 @@ function WaypointMarker({
25548
25548
  className: cn(
25549
25549
  "relative flex items-center justify-center rounded-full transition-all duration-200",
25550
25550
  sizes.dot,
25551
- completed && "bg-green-500 text-white",
25552
- active && !completed && "bg-blue-500 text-white",
25553
- !active && !completed && "bg-gray-500"
25551
+ completed && "bg-success text-foreground",
25552
+ active && !completed && "bg-info text-foreground",
25553
+ !active && !completed && "bg-muted"
25554
25554
  ),
25555
25555
  children: completed ? checkIcon : icon
25556
25556
  }
@@ -25562,7 +25562,7 @@ function WaypointMarker({
25562
25562
  className: cn(
25563
25563
  "text-center whitespace-nowrap",
25564
25564
  sizes.label,
25565
- completed ? "text-green-400" : active ? "text-blue-400" : "text-gray-400"
25565
+ completed ? "text-success" : active ? "text-info" : "text-muted-foreground"
25566
25566
  ),
25567
25567
  children: label
25568
25568
  }
@@ -25594,10 +25594,10 @@ function QuestTracker({
25594
25594
  Box,
25595
25595
  {
25596
25596
  className: cn(
25597
- "flex items-start gap-3 rounded-lg px-3 py-2 transition-colors",
25598
- isActive && !isCompleted && "bg-blue-900/20 border border-blue-800/50",
25599
- isCompleted && "bg-green-900/10 border border-green-800/30 opacity-70",
25600
- !isActive && !isCompleted && "bg-gray-800/30 border border-gray-700/30"
25597
+ "flex items-start gap-3 rounded-container px-3 py-2 transition-colors",
25598
+ isActive && !isCompleted && "bg-info/20 border border-info/50",
25599
+ isCompleted && "bg-success/10 border border-success/30 opacity-70",
25600
+ !isActive && !isCompleted && "bg-muted/30 border border-border/30"
25601
25601
  ),
25602
25602
  children: [
25603
25603
  /* @__PURE__ */ jsx(Box, { className: "flex-shrink-0 pt-0.5", children: /* @__PURE__ */ jsx(
@@ -25615,9 +25615,9 @@ function QuestTracker({
25615
25615
  variant: "body2",
25616
25616
  className: cn(
25617
25617
  "font-medium truncate",
25618
- isCompleted && "line-through text-gray-500",
25619
- isActive && !isCompleted && "text-blue-300",
25620
- !isActive && !isCompleted && "text-gray-300"
25618
+ isCompleted && "line-through text-muted-foreground",
25619
+ isActive && !isCompleted && "text-info",
25620
+ !isActive && !isCompleted && "text-muted-foreground"
25621
25621
  ),
25622
25622
  children: quest.title
25623
25623
  }
@@ -25635,7 +25635,7 @@ function QuestTracker({
25635
25635
  Typography,
25636
25636
  {
25637
25637
  variant: "caption",
25638
- className: "text-gray-500 mt-1",
25638
+ className: "text-muted-foreground mt-1",
25639
25639
  children: [
25640
25640
  quest.progress,
25641
25641
  " / ",
@@ -25692,14 +25692,14 @@ function PowerupSlots({
25692
25692
  {
25693
25693
  className: cn(
25694
25694
  "absolute -bottom-1 left-1/2 -translate-x-1/2",
25695
- "rounded px-1 py-px",
25696
- "bg-black/80 border border-gray-600"
25695
+ "rounded-interactive px-1 py-px",
25696
+ "bg-background/80 border border-border"
25697
25697
  ),
25698
25698
  children: /* @__PURE__ */ jsx(
25699
25699
  Typography,
25700
25700
  {
25701
25701
  variant: "caption",
25702
- className: "text-[9px] font-mono font-bold text-yellow-300 whitespace-nowrap",
25702
+ className: "text-[9px] font-mono font-bold text-warning whitespace-nowrap",
25703
25703
  children: formatTime(powerup.remainingTime)
25704
25704
  }
25705
25705
  )
@@ -25821,7 +25821,7 @@ function HealthPanel({
25821
25821
  Box,
25822
25822
  {
25823
25823
  className: cn(
25824
- "rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm",
25824
+ "rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm",
25825
25825
  sizes.padding,
25826
25826
  className
25827
25827
  ),
@@ -25832,7 +25832,7 @@ function HealthPanel({
25832
25832
  {
25833
25833
  variant: "caption",
25834
25834
  weight: "bold",
25835
- className: "text-gray-300 uppercase tracking-wider",
25835
+ className: "text-muted-foreground uppercase tracking-wider",
25836
25836
  children: label
25837
25837
  }
25838
25838
  ),
@@ -25853,7 +25853,7 @@ function HealthPanel({
25853
25853
  as: "span",
25854
25854
  variant: "caption",
25855
25855
  weight: "bold",
25856
- className: "text-blue-400 ml-1",
25856
+ className: "text-info ml-1",
25857
25857
  children: [
25858
25858
  "+",
25859
25859
  shield
@@ -25878,14 +25878,14 @@ function HealthPanel({
25878
25878
  Box,
25879
25879
  {
25880
25880
  className: cn(
25881
- "relative overflow-hidden rounded-full bg-gray-700",
25881
+ "relative overflow-hidden rounded-container bg-muted",
25882
25882
  size === "sm" ? "h-1" : size === "md" ? "h-1.5" : "h-2",
25883
25883
  "w-full"
25884
25884
  ),
25885
25885
  children: /* @__PURE__ */ jsx(
25886
25886
  Box,
25887
25887
  {
25888
- className: "absolute inset-y-0 left-0 rounded-full bg-blue-500 transition-all duration-300",
25888
+ className: "absolute inset-y-0 left-0 rounded-container bg-info transition-all duration-300",
25889
25889
  style: { width: `${Math.min(100, shield / max * 100)}%` }
25890
25890
  }
25891
25891
  )
@@ -25944,7 +25944,7 @@ function ScoreBoard({
25944
25944
  Card,
25945
25945
  {
25946
25946
  className: cn(
25947
- "bg-[var(--color-card)]/90 border-gray-700 backdrop-blur-sm",
25947
+ "bg-[var(--color-card)]/90 border-border backdrop-blur-sm",
25948
25948
  className
25949
25949
  ),
25950
25950
  children: /* @__PURE__ */ jsx(CardContent, { className: "p-3", children: /* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-3 flex-wrap", children: [
@@ -26053,8 +26053,8 @@ function TurnIndicator({
26053
26053
  "div",
26054
26054
  {
26055
26055
  className: cn(
26056
- "inline-flex items-center rounded-lg",
26057
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
26056
+ "inline-flex items-center rounded-container",
26057
+ "bg-card/80 border border-muted font-medium text-foreground",
26058
26058
  sizes.wrapper,
26059
26059
  className
26060
26060
  ),
@@ -26062,19 +26062,19 @@ function TurnIndicator({
26062
26062
  /* @__PURE__ */ jsxs("span", { className: "font-bold tabular-nums", children: [
26063
26063
  "Turn ",
26064
26064
  currentTurn,
26065
- maxTurns != null && /* @__PURE__ */ jsxs("span", { className: "text-gray-400", children: [
26065
+ maxTurns != null && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
26066
26066
  "/",
26067
26067
  maxTurns
26068
26068
  ] })
26069
26069
  ] }),
26070
26070
  phase && /* @__PURE__ */ jsxs(Fragment, { children: [
26071
- /* @__PURE__ */ jsx("span", { className: "text-gray-600", children: "|" }),
26072
- /* @__PURE__ */ jsx("span", { className: "text-gray-300", children: phase })
26071
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "|" }),
26072
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: phase })
26073
26073
  ] }),
26074
26074
  activeTeam && /* @__PURE__ */ jsxs(Fragment, { children: [
26075
- /* @__PURE__ */ jsx("span", { className: "text-gray-600", children: "|" }),
26076
- /* @__PURE__ */ jsx("span", { className: cn("rounded-full bg-green-500/20", sizes.dot) }),
26077
- /* @__PURE__ */ jsx("span", { className: "text-green-400", children: activeTeam })
26075
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "|" }),
26076
+ /* @__PURE__ */ jsx("span", { className: cn("rounded-full bg-success/20", sizes.dot) }),
26077
+ /* @__PURE__ */ jsx("span", { className: "text-success", children: activeTeam })
26078
26078
  ] })
26079
26079
  ]
26080
26080
  }
@@ -26113,7 +26113,7 @@ function TurnPanel({
26113
26113
  Box,
26114
26114
  {
26115
26115
  className: cn(
26116
- "flex items-center gap-3 rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm px-3 py-2",
26116
+ "flex items-center gap-3 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-2",
26117
26117
  className
26118
26118
  ),
26119
26119
  children: [
@@ -26165,7 +26165,7 @@ function EnemyPlate({
26165
26165
  Box,
26166
26166
  {
26167
26167
  className: cn(
26168
- "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",
26168
+ "inline-flex flex-col gap-1 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-1.5",
26169
26169
  "min-w-[120px]",
26170
26170
  className
26171
26171
  ),
@@ -26259,7 +26259,7 @@ function UnitCommandBar({
26259
26259
  Box,
26260
26260
  {
26261
26261
  className: cn(
26262
- "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",
26262
+ "flex items-center gap-1.5 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-2 py-1.5",
26263
26263
  className
26264
26264
  ),
26265
26265
  children: commands.map((command, i) => /* @__PURE__ */ jsxs(Box, { className: "flex flex-col items-center gap-0.5", children: [
@@ -26344,8 +26344,8 @@ function GameHud({
26344
26344
  className: cn(
26345
26345
  "relative z-10",
26346
26346
  positionMap[position],
26347
- transparent && "bg-gradient-to-b from-black/50 to-transparent",
26348
- position === "bottom" && "bg-gradient-to-t from-black/50 to-transparent",
26347
+ transparent && "bg-gradient-to-b from-background/50 to-transparent",
26348
+ position === "bottom" && "bg-gradient-to-t from-background/50 to-transparent",
26349
26349
  className
26350
26350
  ),
26351
26351
  children: /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: stats.map((stat, i) => /* @__PURE__ */ jsx(StatBadge, { ...stat, size }, i)) })
@@ -26503,8 +26503,8 @@ function DialogueBox({
26503
26503
  tabIndex: 0,
26504
26504
  role: "dialog",
26505
26505
  "aria-label": "Dialogue",
26506
- children: /* @__PURE__ */ 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__ */ jsxs("div", { className: "flex", children: [
26507
- dialogue.portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 p-4 border-r border-gray-700", children: /* @__PURE__ */ jsx(
26506
+ children: /* @__PURE__ */ jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-border rounded-container overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
26507
+ dialogue.portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 p-4 border-r border-border", children: /* @__PURE__ */ jsx(
26508
26508
  "img",
26509
26509
  {
26510
26510
  src: dialogue.portrait,
@@ -26514,7 +26514,7 @@ function DialogueBox({
26514
26514
  }
26515
26515
  ) }),
26516
26516
  /* @__PURE__ */ jsxs("div", { className: "flex-1 p-4", children: [
26517
- /* @__PURE__ */ jsx("div", { className: "text-yellow-400 font-bold mb-2", children: dialogue.speaker }),
26517
+ /* @__PURE__ */ jsx("div", { className: "text-warning font-bold mb-2", children: dialogue.speaker }),
26518
26518
  /* @__PURE__ */ jsxs("div", { className: "text-[var(--color-foreground)] text-lg leading-relaxed min-h-[60px]", children: [
26519
26519
  displayedText,
26520
26520
  isTyping && /* @__PURE__ */ jsx("span", { className: "animate-pulse", children: "\u258C" })
@@ -26524,9 +26524,9 @@ function DialogueBox({
26524
26524
  {
26525
26525
  type: "button",
26526
26526
  className: cn(
26527
- "block w-full text-left px-4 py-2 rounded transition-colors",
26528
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-yellow-400",
26529
- selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-yellow-400" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
26527
+ "block w-full text-left px-4 py-2 rounded-interactive transition-colors",
26528
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-warning",
26529
+ selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-warning" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
26530
26530
  ),
26531
26531
  onClick: (e) => {
26532
26532
  e.stopPropagation();
@@ -26534,7 +26534,7 @@ function DialogueBox({
26534
26534
  onChoice?.(choice);
26535
26535
  },
26536
26536
  children: [
26537
- /* @__PURE__ */ jsxs("span", { className: "text-gray-500 mr-2", children: [
26537
+ /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground mr-2", children: [
26538
26538
  index + 1,
26539
26539
  "."
26540
26540
  ] }),
@@ -26543,7 +26543,7 @@ function DialogueBox({
26543
26543
  },
26544
26544
  index
26545
26545
  )) }),
26546
- !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsx("div", { className: "mt-4 text-gray-500 text-sm animate-pulse", children: "Press SPACE or click to continue..." })
26546
+ !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsx("div", { className: "mt-4 text-muted-foreground text-sm animate-pulse", children: "Press SPACE or click to continue..." })
26547
26547
  ] })
26548
26548
  ] }) })
26549
26549
  }
@@ -26646,7 +26646,7 @@ function InventoryPanel({
26646
26646
  /* @__PURE__ */ jsx(
26647
26647
  "div",
26648
26648
  {
26649
- className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-lg border border-gray-700",
26649
+ className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-container border border-border",
26650
26650
  style: {
26651
26651
  gridTemplateColumns: `repeat(${safeColumns}, ${slotSize}px)`,
26652
26652
  gridTemplateRows: `repeat(${rows}, ${slotSize}px)`
@@ -26658,8 +26658,8 @@ function InventoryPanel({
26658
26658
  className: cn(
26659
26659
  "relative flex items-center justify-center",
26660
26660
  "bg-[var(--color-card)] border rounded transition-colors",
26661
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-blue-500",
26662
- selectedSlot === index ? "border-yellow-400 bg-[var(--color-surface,#374151)]" : "border-gray-600"
26661
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-info",
26662
+ selectedSlot === index ? "border-warning bg-[var(--color-surface,#374151)]" : "border-muted"
26663
26663
  ),
26664
26664
  style: { width: slotSize, height: slotSize },
26665
26665
  onClick: () => handleSlotClick(index),
@@ -26678,8 +26678,8 @@ function InventoryPanel({
26678
26678
  className: "w-8 h-8 object-contain",
26679
26679
  style: { imageRendering: "pixelated" }
26680
26680
  }
26681
- ) : /* @__PURE__ */ 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() }),
26682
- item.quantity > 1 && /* @__PURE__ */ jsx("span", { className: "absolute bottom-0 right-0 bg-black bg-opacity-70 text-white text-xs px-1 rounded-tl", children: item.quantity })
26681
+ ) : /* @__PURE__ */ 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() }),
26682
+ item.quantity > 1 && /* @__PURE__ */ jsx("span", { className: "absolute bottom-0 right-0 bg-background/70 text-foreground text-xs px-1 rounded-tl", children: item.quantity })
26683
26683
  ] })
26684
26684
  },
26685
26685
  index
@@ -26689,7 +26689,7 @@ function InventoryPanel({
26689
26689
  showTooltips && hoveredItem && /* @__PURE__ */ jsxs(
26690
26690
  "div",
26691
26691
  {
26692
- className: "fixed z-50 bg-[var(--color-card)] border border-gray-600 rounded-lg p-2 shadow-lg pointer-events-none",
26692
+ className: "fixed z-50 bg-[var(--color-card)] border border-border rounded-container p-2 shadow-elevation-card pointer-events-none",
26693
26693
  style: {
26694
26694
  left: tooltipPosition.x,
26695
26695
  top: tooltipPosition.y,
@@ -26697,8 +26697,8 @@ function InventoryPanel({
26697
26697
  },
26698
26698
  children: [
26699
26699
  /* @__PURE__ */ jsx("div", { className: "font-semibold text-[var(--color-foreground)]", children: hoveredItem.name || hoveredItem.type }),
26700
- hoveredItem.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-gray-400 mt-1", children: hoveredItem.description }),
26701
- /* @__PURE__ */ jsxs("div", { className: "text-xs text-gray-500 mt-1", children: [
26700
+ hoveredItem.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground mt-1", children: hoveredItem.description }),
26701
+ /* @__PURE__ */ jsxs("div", { className: "text-xs text-muted-foreground mt-1", children: [
26702
26702
  "Quantity: ",
26703
26703
  hoveredItem.quantity
26704
26704
  ] })
@@ -26776,7 +26776,7 @@ function GameMenu({
26776
26776
  children: title
26777
26777
  }
26778
26778
  ),
26779
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-lg text-gray-400 tracking-widest uppercase", children: subtitle })
26779
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-lg text-muted-foreground tracking-widest uppercase", children: subtitle })
26780
26780
  ] }),
26781
26781
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 w-full max-w-md", children: resolvedOptions.map((option, index) => /* @__PURE__ */ jsx(
26782
26782
  "button",
@@ -26784,10 +26784,10 @@ function GameMenu({
26784
26784
  onClick: () => handleOptionClick(option),
26785
26785
  disabled: option.disabled,
26786
26786
  className: cn(
26787
- "w-full py-4 px-8 rounded-xl border-2 font-bold text-lg",
26787
+ "w-full py-4 px-8 rounded-container border-2 font-bold text-lg",
26788
26788
  "transition-all duration-200 transform",
26789
26789
  "hover:scale-105 active:scale-95",
26790
- "focus:outline-none focus:ring-4 focus:ring-white/25",
26790
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
26791
26791
  variantMap3[option.variant ?? "secondary"] ?? variantMap3.secondary,
26792
26792
  option.disabled && "opacity-50 cursor-not-allowed hover:scale-100"
26793
26793
  ),
@@ -26799,8 +26799,8 @@ function GameMenu({
26799
26799
  index
26800
26800
  )) }),
26801
26801
  /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 pointer-events-none overflow-hidden", children: [
26802
- /* @__PURE__ */ jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-blue-500/10 rounded-full blur-3xl" }),
26803
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-purple-500/10 rounded-full blur-3xl" })
26802
+ /* @__PURE__ */ jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-info/10 rounded-container blur-3xl" }),
26803
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-accent/10 rounded-container blur-3xl" })
26804
26804
  ] })
26805
26805
  ]
26806
26806
  }
@@ -26813,9 +26813,9 @@ var init_GameMenu = __esm({
26813
26813
  init_cn();
26814
26814
  init_useEventBus();
26815
26815
  variantMap3 = {
26816
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400 shadow-lg shadow-blue-500/25",
26817
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
26818
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
26816
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info shadow-lg shadow-info/25",
26817
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
26818
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
26819
26819
  };
26820
26820
  GameMenu.displayName = "GameMenu";
26821
26821
  }
@@ -26883,13 +26883,13 @@ function GameOverScreen({
26883
26883
  children: title
26884
26884
  }
26885
26885
  ),
26886
- message && /* @__PURE__ */ jsx("p", { className: "text-xl text-gray-300 mb-8 text-center max-w-md", children: message }),
26887
- isNewHighScore && /* @__PURE__ */ jsx("div", { className: "mb-6 px-6 py-2 bg-yellow-500/20 border-2 border-yellow-500 rounded-full animate-pulse", children: /* @__PURE__ */ jsx("span", { className: "text-yellow-400 font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
26886
+ message && /* @__PURE__ */ jsx("p", { className: "text-xl text-muted-foreground mb-8 text-center max-w-md", children: message }),
26887
+ isNewHighScore && /* @__PURE__ */ jsx("div", { className: "mb-6 px-6 py-2 bg-warning/20 border-2 border-warning rounded-container animate-pulse", children: /* @__PURE__ */ jsx("span", { className: "text-warning font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
26888
26888
  stats.length > 0 && /* @__PURE__ */ jsx(
26889
26889
  "div",
26890
26890
  {
26891
26891
  className: cn(
26892
- "mb-8 p-6 rounded-xl border-2 bg-black/30",
26892
+ "mb-8 p-6 rounded-container border-2 bg-background/30",
26893
26893
  colors.accent
26894
26894
  ),
26895
26895
  children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: stats.map((stat, index) => {
@@ -26898,7 +26898,7 @@ function GameOverScreen({
26898
26898
  displayValue = formatTime2(displayValue);
26899
26899
  }
26900
26900
  return /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
26901
- /* @__PURE__ */ jsx("div", { className: "text-gray-400 text-sm mb-1", children: stat.label }),
26901
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground text-sm mb-1", children: stat.label }),
26902
26902
  /* @__PURE__ */ jsxs("div", { className: "text-[var(--color-foreground)] text-2xl font-bold flex items-center justify-center gap-2", children: [
26903
26903
  stat.icon && /* @__PURE__ */ jsx("span", { children: stat.icon }),
26904
26904
  /* @__PURE__ */ jsx("span", { className: "tabular-nums", children: displayValue })
@@ -26912,10 +26912,10 @@ function GameOverScreen({
26912
26912
  {
26913
26913
  onClick: () => handleActionClick(action),
26914
26914
  className: cn(
26915
- "px-8 py-4 rounded-xl border-2 font-bold text-lg",
26915
+ "px-8 py-4 rounded-container border-2 font-bold text-lg",
26916
26916
  "transition-all duration-200",
26917
26917
  "hover:scale-105 active:scale-95",
26918
- "focus:outline-none focus:ring-4 focus:ring-white/25",
26918
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
26919
26919
  buttonVariants[action.variant ?? "secondary"]
26920
26920
  ),
26921
26921
  children: action.label
@@ -26934,25 +26934,25 @@ var init_GameOverScreen = __esm({
26934
26934
  init_useEventBus();
26935
26935
  variantColors = {
26936
26936
  victory: {
26937
- bg: "from-green-900/90 to-emerald-950/90",
26938
- title: "text-green-400",
26939
- accent: "border-green-500"
26937
+ bg: "from-success/90 to-success/90",
26938
+ title: "text-success",
26939
+ accent: "border-success"
26940
26940
  },
26941
26941
  defeat: {
26942
- bg: "from-red-900/90 to-gray-950/90",
26943
- title: "text-red-400",
26944
- accent: "border-red-500"
26942
+ bg: "from-error/90 to-background/90",
26943
+ title: "text-error",
26944
+ accent: "border-error"
26945
26945
  },
26946
26946
  neutral: {
26947
- bg: "from-gray-900/90 to-gray-950/90",
26948
- title: "text-white",
26949
- accent: "border-gray-500"
26947
+ bg: "from-muted/90 to-background/90",
26948
+ title: "text-foreground",
26949
+ accent: "border-muted"
26950
26950
  }
26951
26951
  };
26952
26952
  buttonVariants = {
26953
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400",
26954
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
26955
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
26953
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info",
26954
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
26955
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
26956
26956
  };
26957
26957
  GameOverScreen.displayName = "GameOverScreen";
26958
26958
  }
@@ -27186,7 +27186,7 @@ function PlatformerCanvas({
27186
27186
  {
27187
27187
  ref: canvasRef,
27188
27188
  style: { width: canvasWidth, height: canvasHeight },
27189
- className: cn("block rounded-lg border border-white/10", className),
27189
+ className: cn("block rounded-container border border-border/10", className),
27190
27190
  "data-testid": "platformer-canvas",
27191
27191
  tabIndex: 0
27192
27192
  }
@@ -34853,7 +34853,7 @@ function DebuggerBoard({
34853
34853
  backgroundPosition: "center"
34854
34854
  },
34855
34855
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
34856
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
34856
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
34857
34857
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
34858
34858
  /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
34859
34859
  /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "sm" }),
@@ -34866,11 +34866,11 @@ function DebuggerBoard({
34866
34866
  const isFlagged = flaggedLines.has(line.id);
34867
34867
  let lineStyle = "";
34868
34868
  if (submitted) {
34869
- if (line.isBug && isFlagged) lineStyle = "bg-green-50 dark:bg-green-950";
34870
- else if (line.isBug && !isFlagged) lineStyle = "bg-yellow-50 dark:bg-yellow-950";
34871
- else if (!line.isBug && isFlagged) lineStyle = "bg-red-50 dark:bg-red-950";
34869
+ if (line.isBug && isFlagged) lineStyle = "bg-success/10";
34870
+ else if (line.isBug && !isFlagged) lineStyle = "bg-warning/10";
34871
+ else if (!line.isBug && isFlagged) lineStyle = "bg-error/10";
34872
34872
  } else if (isFlagged) {
34873
- lineStyle = "bg-red-50 dark:bg-red-950";
34873
+ lineStyle = "bg-error/10";
34874
34874
  }
34875
34875
  return /* @__PURE__ */ jsxs(
34876
34876
  HStack,
@@ -34883,8 +34883,8 @@ function DebuggerBoard({
34883
34883
  /* @__PURE__ */ jsx(Box, { className: "w-10 flex-shrink-0 flex items-center justify-center border-r border-border text-muted-foreground", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", children: i + 1 }) }),
34884
34884
  /* @__PURE__ */ jsx(Box, { className: "flex-1 px-3 py-1.5 font-mono text-sm whitespace-pre", children: /* @__PURE__ */ jsx(Typography, { variant: "body", className: "font-mono text-sm", children: line.content }) }),
34885
34885
  /* @__PURE__ */ jsxs(Box, { className: "w-8 flex-shrink-0 flex items-center justify-center", children: [
34886
- isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-red-600" }),
34887
- submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-yellow-600" })
34886
+ isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-error" }),
34887
+ submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-warning" })
34888
34888
  ] })
34889
34889
  ]
34890
34890
  },
@@ -34899,7 +34899,7 @@ function DebuggerBoard({
34899
34899
  {
34900
34900
  icon: flaggedLines.has(line.id) ? CheckCircle : XCircle,
34901
34901
  size: "xs",
34902
- className: flaggedLines.has(line.id) ? "text-green-600 mt-0.5" : "text-yellow-600 mt-0.5"
34902
+ className: flaggedLines.has(line.id) ? "text-success mt-0.5" : "text-warning mt-0.5"
34903
34903
  }
34904
34904
  ),
34905
34905
  /* @__PURE__ */ jsxs(VStack, { gap: "none", children: [
@@ -34908,7 +34908,7 @@ function DebuggerBoard({
34908
34908
  ] })
34909
34909
  ] }, line.id))
34910
34910
  ] }) }),
34911
- showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
34911
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
34912
34912
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
34913
34913
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: flaggedLines.size === 0, children: [
34914
34914
  /* @__PURE__ */ jsx(Icon, { icon: Send, size: "sm" }),
@@ -35392,12 +35392,12 @@ function DialogueBubble({
35392
35392
  "div",
35393
35393
  {
35394
35394
  className: cn(
35395
- "flex items-start gap-3 rounded-lg bg-black/80 backdrop-blur-sm px-4 py-3 border border-white/10",
35395
+ "flex items-start gap-3 rounded-container bg-background/80 backdrop-blur-sm px-4 py-3 border border-border/10",
35396
35396
  position === "top" ? "rounded-bl-none" : "rounded-tl-none",
35397
35397
  className
35398
35398
  ),
35399
35399
  children: [
35400
- portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-yellow-400/60", children: /* @__PURE__ */ jsx(
35400
+ portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-warning/60", children: /* @__PURE__ */ jsx(
35401
35401
  "img",
35402
35402
  {
35403
35403
  src: portrait,
@@ -35406,8 +35406,8 @@ function DialogueBubble({
35406
35406
  }
35407
35407
  ) }),
35408
35408
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 min-w-0", children: [
35409
- speaker && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-yellow-400", children: speaker }),
35410
- /* @__PURE__ */ jsx("span", { className: "text-sm text-[var(--color-foreground)] leading-relaxed", children: text })
35409
+ speaker && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-warning", children: speaker }),
35410
+ /* @__PURE__ */ jsx("span", { className: "text-sm text-foreground leading-relaxed", children: text })
35411
35411
  ] })
35412
35412
  ]
35413
35413
  }
@@ -35726,7 +35726,7 @@ function LinearView({
35726
35726
  className
35727
35727
  }) {
35728
35728
  const currentIdx = trait.states.indexOf(trait.currentState);
35729
- return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
35729
+ return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
35730
35730
  trait.description && /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: trait.description }),
35731
35731
  /* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
35732
35732
  const isDone = i < currentIdx;
@@ -35748,10 +35748,10 @@ function LinearView({
35748
35748
  {
35749
35749
  display: "inline-flex",
35750
35750
  className: cn(
35751
- "items-center justify-center rounded-full px-3 py-1 border-2 transition-all",
35751
+ "items-center justify-center rounded-pill px-3 py-1 border-2 transition-all",
35752
35752
  SIZE_CONFIG2[size || "md"].fontSize,
35753
35753
  isDone && "bg-success/20 border-success text-success",
35754
- isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-md shadow-primary/20",
35754
+ isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-elevation-card shadow-primary/20",
35755
35755
  !isDone && !isCurrent && "bg-muted border-border text-muted-foreground"
35756
35756
  ),
35757
35757
  children: [
@@ -35773,7 +35773,7 @@ function CompactView({
35773
35773
  const { t } = useTranslate();
35774
35774
  const config = SIZE_CONFIG2[size || "md"];
35775
35775
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
35776
- return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
35776
+ return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
35777
35777
  /* @__PURE__ */ jsxs(HStack, { className: "items-center justify-between", children: [
35778
35778
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
35779
35779
  /* @__PURE__ */ jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -35809,7 +35809,7 @@ function FullView({
35809
35809
  const { t } = useTranslate();
35810
35810
  const config = SIZE_CONFIG2[size || "md"];
35811
35811
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
35812
- return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
35812
+ return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
35813
35813
  /* @__PURE__ */ jsxs(HStack, { className: "items-center justify-between", children: [
35814
35814
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
35815
35815
  /* @__PURE__ */ jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -35823,9 +35823,9 @@ function FullView({
35823
35823
  {
35824
35824
  display: "flex",
35825
35825
  className: cn(
35826
- "items-center justify-center rounded-md border-2 transition-all px-2",
35826
+ "items-center justify-center rounded-container border-2 transition-all px-2",
35827
35827
  config.nodeSize,
35828
- isCurrent && "bg-primary/20 border-primary shadow-md shadow-primary/20",
35828
+ isCurrent && "bg-primary/20 border-primary shadow-elevation-card shadow-primary/20",
35829
35829
  !isCurrent && hasOutgoing && "bg-muted border-border hover:border-muted-foreground",
35830
35830
  !isCurrent && !hasOutgoing && "bg-background border-border opacity-60",
35831
35831
  onStateClick && "cursor-pointer"
@@ -36255,7 +36255,7 @@ function EventHandlerBoard({
36255
36255
  backgroundPosition: "center"
36256
36256
  },
36257
36257
  children: [
36258
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
36258
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
36259
36259
  /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
36260
36260
  /* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
36261
36261
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -36270,7 +36270,7 @@ function EventHandlerBoard({
36270
36270
  Box,
36271
36271
  {
36272
36272
  className: cn(
36273
- "p-3 rounded-lg border-2 cursor-pointer transition-all hover:scale-105",
36273
+ "p-3 rounded-container border-2 cursor-pointer transition-all hover:scale-105",
36274
36274
  selectedObjectId === obj.id ? "border-primary bg-primary/10" : "border-border bg-card hover:border-muted-foreground"
36275
36275
  ),
36276
36276
  onClick: () => setSelectedObjectId(obj.id),
@@ -36292,10 +36292,10 @@ function EventHandlerBoard({
36292
36292
  }
36293
36293
  ),
36294
36294
  eventLog.length > 0 && /* @__PURE__ */ jsx(EventLog, { entries: eventLog }),
36295
- playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
36295
+ playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
36296
36296
  playState === "fail" && /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
36297
- /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
36298
- showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
36297
+ /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
36298
+ showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
36299
36299
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
36300
36300
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
36301
36301
  ] }) })
@@ -39341,7 +39341,7 @@ function MiniMap({
39341
39341
  "div",
39342
39342
  {
39343
39343
  className: cn(
39344
- "relative inline-block border border-white/20 rounded",
39344
+ "relative inline-block border border-border/20 rounded-container",
39345
39345
  className
39346
39346
  ),
39347
39347
  children: /* @__PURE__ */ jsx(
@@ -39561,7 +39561,7 @@ function NegotiatorBoard({
39561
39561
  backgroundPosition: "center"
39562
39562
  },
39563
39563
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
39564
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
39564
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
39565
39565
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
39566
39566
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
39567
39567
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description }),
@@ -39607,7 +39607,7 @@ function NegotiatorBoard({
39607
39607
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: "vs" }),
39608
39608
  /* @__PURE__ */ jsx(Typography, { variant: "caption", children: getActionLabel(round.opponentAction) }),
39609
39609
  /* @__PURE__ */ jsx(Icon, { icon: ArrowRight, size: "xs" }),
39610
- /* @__PURE__ */ jsxs(Typography, { variant: "caption", weight: "bold", className: "text-green-600", children: [
39610
+ /* @__PURE__ */ jsxs(Typography, { variant: "caption", weight: "bold", className: "text-success", children: [
39611
39611
  "+",
39612
39612
  round.playerPayoff
39613
39613
  ] }),
@@ -39618,7 +39618,7 @@ function NegotiatorBoard({
39618
39618
  ] }, round.round))
39619
39619
  ] }) }),
39620
39620
  isComplete && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
39621
- /* @__PURE__ */ jsx(Icon, { icon: CheckCircle, size: "lg", className: won ? "text-green-600" : "text-red-600" }),
39621
+ /* @__PURE__ */ jsx(Icon, { icon: CheckCircle, size: "lg", className: won ? "text-success" : "text-error" }),
39622
39622
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: won ? entity.successMessage ?? t("negotiator.success") : entity.failMessage ?? t("negotiator.failed") }),
39623
39623
  /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
39624
39624
  t("negotiator.finalScore"),
@@ -39628,7 +39628,7 @@ function NegotiatorBoard({
39628
39628
  entity.targetScore
39629
39629
  ] })
39630
39630
  ] }) }),
39631
- showHint && entity.hint && !won && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
39631
+ showHint && entity.hint && !won && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
39632
39632
  isComplete && !won && /* @__PURE__ */ jsx(HStack, { justify: "center", children: /* @__PURE__ */ jsx(Button, { variant: "primary", onClick: handleReset, children: t("negotiator.playAgain") }) })
39633
39633
  ] })
39634
39634
  }
@@ -40301,17 +40301,17 @@ function ResourceCounter({
40301
40301
  "div",
40302
40302
  {
40303
40303
  className: cn(
40304
- "inline-flex items-center rounded-md",
40305
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
40304
+ "inline-flex items-center rounded-container",
40305
+ "bg-card/80 border border-muted font-medium text-foreground",
40306
40306
  sizes.wrapper,
40307
40307
  className
40308
40308
  ),
40309
40309
  children: [
40310
40310
  icon && /* @__PURE__ */ jsx("span", { className: cn("flex-shrink-0", sizes.icon), children: icon }),
40311
- /* @__PURE__ */ jsx("span", { className: "text-gray-400", children: label }),
40311
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
40312
40312
  /* @__PURE__ */ jsxs("span", { className: cn("font-bold tabular-nums", color), children: [
40313
40313
  value,
40314
- max != null && /* @__PURE__ */ jsxs("span", { className: "text-gray-500", children: [
40314
+ max != null && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
40315
40315
  "/",
40316
40316
  max
40317
40317
  ] })
@@ -42258,7 +42258,7 @@ function TraitSlot({
42258
42258
  display: "flex",
42259
42259
  position: "relative",
42260
42260
  className: cn(
42261
- "items-center justify-center rounded-lg transition-all duration-200",
42261
+ "items-center justify-center rounded-container transition-all duration-200 bg-card/50",
42262
42262
  !locked && "cursor-pointer",
42263
42263
  locked && "cursor-not-allowed opacity-50",
42264
42264
  isEmpty && !locked && "border-2 border-dashed border-border hover:border-muted-foreground",
@@ -42274,7 +42274,7 @@ function TraitSlot({
42274
42274
  style: {
42275
42275
  width: config.box,
42276
42276
  height: config.box,
42277
- backgroundColor: catColor?.bg || "rgba(30,41,59,0.5)",
42277
+ backgroundColor: catColor?.bg || void 0,
42278
42278
  borderColor: isDragOver ? void 0 : feedback === "correct" ? "var(--color-success)" : feedback === "wrong" ? "var(--color-error)" : catColor?.border || void 0
42279
42279
  },
42280
42280
  onClick: handleClick,
@@ -42303,7 +42303,7 @@ function TraitSlot({
42303
42303
  Box,
42304
42304
  {
42305
42305
  position: "absolute",
42306
- 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",
42306
+ 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",
42307
42307
  onClick: handleRemove,
42308
42308
  children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-foreground text-xs leading-none", children: "\xD7" })
42309
42309
  }
@@ -42313,14 +42313,14 @@ function TraitSlot({
42313
42313
  Box,
42314
42314
  {
42315
42315
  position: "absolute",
42316
- className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-full flex items-center justify-center border border-border",
42316
+ className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-pill flex items-center justify-center border border-border",
42317
42317
  children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground text-xs", children: slotNumber })
42318
42318
  }
42319
42319
  ),
42320
42320
  showTooltip && isHovered && itemMachine && !isEmpty && equippedItem && /* @__PURE__ */ jsxs(
42321
42321
  Box,
42322
42322
  {
42323
- className: "p-3 bg-background border border-border rounded-lg shadow-xl",
42323
+ className: "p-3 bg-background border border-border rounded-container shadow-xl",
42324
42324
  style: {
42325
42325
  ...getTooltipStyle(),
42326
42326
  minWidth: 200,
@@ -42570,12 +42570,12 @@ function SequencerBoard({
42570
42570
  backgroundPosition: "center"
42571
42571
  },
42572
42572
  children: [
42573
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
42573
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
42574
42574
  /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
42575
42575
  /* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
42576
42576
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description })
42577
42577
  ] }),
42578
- showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
42578
+ showHint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
42579
42579
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
42580
42580
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
42581
42581
  ] }) }),
@@ -42613,8 +42613,8 @@ function SequencerBoard({
42613
42613
  label: t("sequencer.dragActions")
42614
42614
  }
42615
42615
  ),
42616
- hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
42617
- playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
42616
+ hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
42617
+ playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
42618
42618
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", children: [
42619
42619
  /* @__PURE__ */ jsx(
42620
42620
  Button,
@@ -43290,7 +43290,7 @@ function SimulationCanvas({
43290
43290
  ref: canvasRef,
43291
43291
  width,
43292
43292
  height,
43293
- className: "rounded-md block max-w-full h-auto"
43293
+ className: "rounded-container block max-w-full h-auto"
43294
43294
  }
43295
43295
  ) });
43296
43296
  }
@@ -43498,7 +43498,7 @@ function SimulatorBoard({
43498
43498
  backgroundPosition: "center"
43499
43499
  },
43500
43500
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
43501
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
43501
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
43502
43502
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
43503
43503
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
43504
43504
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
@@ -43549,8 +43549,8 @@ function SimulatorBoard({
43549
43549
  entity.outputUnit
43550
43550
  ] }),
43551
43551
  submitted && /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
43552
- /* @__PURE__ */ jsx(Icon, { icon: isCorrect ? CheckCircle : XCircle, size: "sm", className: isCorrect ? "text-green-600" : "text-red-600" }),
43553
- /* @__PURE__ */ jsx(Typography, { variant: "body", className: isCorrect ? "text-green-600" : "text-red-600", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
43552
+ /* @__PURE__ */ jsx(Icon, { icon: isCorrect ? CheckCircle : XCircle, size: "sm", className: isCorrect ? "text-success" : "text-error" }),
43553
+ /* @__PURE__ */ jsx(Typography, { variant: "body", className: isCorrect ? "text-success" : "text-error", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
43554
43554
  ] }),
43555
43555
  /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
43556
43556
  t("simulator.target"),
@@ -43563,7 +43563,7 @@ function SimulatorBoard({
43563
43563
  ")"
43564
43564
  ] })
43565
43565
  ] }) }),
43566
- showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
43566
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
43567
43567
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
43568
43568
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, children: [
43569
43569
  /* @__PURE__ */ jsx(Icon, { icon: Play, size: "sm" }),
@@ -44075,7 +44075,7 @@ function StateNode2({
44075
44075
  position: "absolute",
44076
44076
  display: "flex",
44077
44077
  className: cn(
44078
- "items-center justify-center rounded-full border-3 transition-all cursor-pointer select-none",
44078
+ "items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
44079
44079
  "min-w-[80px] h-[80px] px-3",
44080
44080
  isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
44081
44081
  isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
@@ -44388,7 +44388,7 @@ function StateArchitectBoard({
44388
44388
  backgroundPosition: "center"
44389
44389
  },
44390
44390
  children: [
44391
- entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44391
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44392
44392
  /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
44393
44393
  /* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
44394
44394
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -44407,7 +44407,7 @@ function StateArchitectBoard({
44407
44407
  Box,
44408
44408
  {
44409
44409
  position: "relative",
44410
- className: "rounded-lg border border-border bg-background overflow-hidden",
44410
+ className: "rounded-container border border-border bg-background overflow-hidden",
44411
44411
  style: { width: GRAPH_W, height: GRAPH_H },
44412
44412
  children: [
44413
44413
  /* @__PURE__ */ jsxs(
@@ -44466,7 +44466,7 @@ function StateArchitectBoard({
44466
44466
  children: selectedState ? t("stateArchitect.addTransition", { state: selectedState }) : t("stateArchitect.addTransitionPrompt")
44467
44467
  }
44468
44468
  ) }),
44469
- transitions.length > 0 && /* @__PURE__ */ jsxs(VStack, { gap: "xs", className: "p-3 rounded-lg bg-muted/50 border border-border", children: [
44469
+ transitions.length > 0 && /* @__PURE__ */ jsxs(VStack, { gap: "xs", className: "p-3 rounded-container bg-muted/50 border border-border", children: [
44470
44470
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground font-medium", children: t("stateArchitect.transitions", { count: transitions.length }) + ":" }),
44471
44471
  transitions.map((t2) => /* @__PURE__ */ jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
44472
44472
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-foreground", children: t2.from }),
@@ -44500,7 +44500,7 @@ function StateArchitectBoard({
44500
44500
  variables
44501
44501
  }
44502
44502
  ),
44503
- testResults.length > 0 && /* @__PURE__ */ jsxs(VStack, { className: "p-3 rounded-lg bg-card border border-border", gap: "xs", children: [
44503
+ testResults.length > 0 && /* @__PURE__ */ jsxs(VStack, { className: "p-3 rounded-container bg-card border border-border", gap: "xs", children: [
44504
44504
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.testResults") + ":" }),
44505
44505
  testResults.map((r, i) => /* @__PURE__ */ jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
44506
44506
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: r.passed ? "text-success" : "text-error", children: r.passed ? "\u2714" : "\u2717" }),
@@ -44511,10 +44511,10 @@ function StateArchitectBoard({
44511
44511
  entity.showCodeView !== false && /* @__PURE__ */ jsx(CodeView, { data: codeData, label: "View Code" })
44512
44512
  ] })
44513
44513
  ] }),
44514
- playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
44514
+ playState === "success" && /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
44515
44515
  playState === "fail" && /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
44516
- /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
44517
- attempts >= 3 && entity.hint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
44516
+ /* @__PURE__ */ jsx(Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
44517
+ attempts >= 3 && entity.hint && /* @__PURE__ */ jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxs(HStack, { className: "items-start", gap: "xs", children: [
44518
44518
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
44519
44519
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
44520
44520
  ] }) })
@@ -44620,7 +44620,7 @@ function StatusEffect({
44620
44620
  "div",
44621
44621
  {
44622
44622
  className: cn(
44623
- "relative flex items-center justify-center rounded border-2",
44623
+ "relative flex items-center justify-center rounded-interactive border-2",
44624
44624
  sizes.container,
44625
44625
  variantStyles9[variant]
44626
44626
  ),
@@ -44631,7 +44631,7 @@ function StatusEffect({
44631
44631
  "span",
44632
44632
  {
44633
44633
  className: cn(
44634
- "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-white bg-black/60 leading-tight",
44634
+ "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-foreground bg-background/60 leading-tight",
44635
44635
  sizes.timer
44636
44636
  ),
44637
44637
  children: formatDuration(duration)
@@ -44644,7 +44644,7 @@ function StatusEffect({
44644
44644
  "span",
44645
44645
  {
44646
44646
  className: cn(
44647
- "absolute flex items-center justify-center rounded-full bg-[var(--color-card)] text-[var(--color-foreground)] font-bold leading-none",
44647
+ "absolute flex items-center justify-center rounded-full bg-card text-foreground font-bold leading-none",
44648
44648
  sizes.badge
44649
44649
  ),
44650
44650
  children: stacks
@@ -44663,9 +44663,9 @@ var init_StatusEffect = __esm({
44663
44663
  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" }
44664
44664
  };
44665
44665
  variantStyles9 = {
44666
- buff: "border-green-500 bg-green-500/20",
44667
- debuff: "border-red-500 bg-red-500/20",
44668
- neutral: "border-gray-500 bg-gray-500/20"
44666
+ buff: "border-success bg-success/20",
44667
+ debuff: "border-error bg-error/20",
44668
+ neutral: "border-muted bg-muted/20"
44669
44669
  };
44670
44670
  StatusEffect.displayName = "StatusEffect";
44671
44671
  }
@@ -45278,12 +45278,12 @@ function TimerDisplay({
45278
45278
  "div",
45279
45279
  {
45280
45280
  className: cn(
45281
- "inline-flex items-center justify-center rounded-lg",
45282
- "bg-[var(--color-card)]/80 border border-gray-600 font-mono font-bold tabular-nums",
45281
+ "inline-flex items-center justify-center rounded-container",
45282
+ "bg-card/80 border border-muted font-mono font-bold tabular-nums",
45283
45283
  sizeMap17[size],
45284
- running && "border-green-500/50",
45285
- isLow && "text-red-400 border-red-500/50 animate-pulse",
45286
- !isLow && "text-[var(--color-foreground)]",
45284
+ running && "border-success/50",
45285
+ isLow && "text-error border-error/50 animate-pulse",
45286
+ !isLow && "text-foreground",
45287
45287
  className
45288
45288
  ),
45289
45289
  children: formatTime3(seconds, format)
@@ -46007,8 +46007,8 @@ function XPBar({
46007
46007
  "span",
46008
46008
  {
46009
46009
  className: cn(
46010
- "flex-shrink-0 rounded-md font-bold",
46011
- "bg-indigo-600 text-white border border-indigo-400",
46010
+ "flex-shrink-0 rounded-interactive font-bold",
46011
+ "bg-accent text-foreground border border-accent",
46012
46012
  sizes.badge
46013
46013
  ),
46014
46014
  children: [
@@ -46022,7 +46022,7 @@ function XPBar({
46022
46022
  "div",
46023
46023
  {
46024
46024
  className: cn(
46025
- "relative w-full overflow-hidden rounded-full bg-gray-700 border border-gray-600",
46025
+ "relative w-full overflow-hidden rounded-full bg-muted border border-muted",
46026
46026
  sizes.bar
46027
46027
  ),
46028
46028
  children: /* @__PURE__ */ jsx(
@@ -46030,7 +46030,7 @@ function XPBar({
46030
46030
  {
46031
46031
  className: cn(
46032
46032
  "absolute inset-y-0 left-0 rounded-full",
46033
- "bg-gradient-to-r from-indigo-600 to-purple-500",
46033
+ "bg-gradient-to-r from-accent to-info",
46034
46034
  animated && "transition-all duration-500 ease-out"
46035
46035
  ),
46036
46036
  style: { width: `${percentage}%` }
@@ -46038,7 +46038,7 @@ function XPBar({
46038
46038
  )
46039
46039
  }
46040
46040
  ),
46041
- showLabel && /* @__PURE__ */ jsxs("span", { className: cn("text-gray-400 tabular-nums", sizes.text), children: [
46041
+ showLabel && /* @__PURE__ */ jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.text), children: [
46042
46042
  current,
46043
46043
  " / ",
46044
46044
  max,
@@ -48335,7 +48335,7 @@ function CollapsibleSection({ title, expanded, onToggle, children, className })
48335
48335
  CollapsibleSection.displayName = "CollapsibleSection";
48336
48336
  function EditorSlider({ label, value, min, max, step = 0.1, onChange, className }) {
48337
48337
  return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className, children: [
48338
- /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48338
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48339
48339
  /* @__PURE__ */ jsx(Box, { className: "flex-1", children: /* @__PURE__ */ jsx(
48340
48340
  "input",
48341
48341
  {
@@ -48345,22 +48345,22 @@ function EditorSlider({ label, value, min, max, step = 0.1, onChange, className
48345
48345
  step,
48346
48346
  value,
48347
48347
  onChange: (e) => onChange(parseFloat(e.target.value)),
48348
- className: "w-full h-1.5 bg-gray-600 rounded-lg appearance-none cursor-pointer accent-blue-500"
48348
+ className: "w-full h-1.5 bg-muted rounded-interactive appearance-none cursor-pointer accent-primary"
48349
48349
  }
48350
48350
  ) }),
48351
- /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[40px] text-right text-gray-400", children: typeof step === "number" && step < 1 ? value.toFixed(1) : value })
48351
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[40px] text-right text-muted-foreground", children: typeof step === "number" && step < 1 ? value.toFixed(1) : value })
48352
48352
  ] });
48353
48353
  }
48354
48354
  EditorSlider.displayName = "EditorSlider";
48355
48355
  function EditorSelect({ label, value, options, onChange, className }) {
48356
48356
  return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className, children: [
48357
- /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48357
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48358
48358
  /* @__PURE__ */ jsx(Box, { className: "flex-1", children: /* @__PURE__ */ jsx(
48359
48359
  "select",
48360
48360
  {
48361
48361
  value,
48362
48362
  onChange: (e) => onChange(e.target.value),
48363
- className: "w-full px-2 py-1 text-xs bg-gray-700 text-gray-200 border border-gray-600 rounded cursor-pointer",
48363
+ className: "w-full px-2 py-1 text-xs bg-muted text-foreground border border-muted rounded cursor-pointer",
48364
48364
  children: options.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value, children: opt.label }, opt.value))
48365
48365
  }
48366
48366
  ) })
@@ -48369,14 +48369,14 @@ function EditorSelect({ label, value, options, onChange, className }) {
48369
48369
  EditorSelect.displayName = "EditorSelect";
48370
48370
  function EditorCheckbox({ label, checked, onChange, className }) {
48371
48371
  return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className, children: [
48372
- /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48372
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48373
48373
  /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(
48374
48374
  "input",
48375
48375
  {
48376
48376
  type: "checkbox",
48377
48377
  checked,
48378
48378
  onChange: (e) => onChange(e.target.checked),
48379
- className: "w-4 h-4 accent-blue-500 cursor-pointer"
48379
+ className: "w-4 h-4 accent-primary cursor-pointer"
48380
48380
  }
48381
48381
  ) })
48382
48382
  ] });
@@ -48384,7 +48384,7 @@ function EditorCheckbox({ label, checked, onChange, className }) {
48384
48384
  EditorCheckbox.displayName = "EditorCheckbox";
48385
48385
  function EditorTextInput({ label, value, onChange, placeholder, className }) {
48386
48386
  return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className, children: [
48387
- /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-gray-300", children: label }),
48387
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "min-w-[80px] text-muted-foreground", children: label }),
48388
48388
  /* @__PURE__ */ jsx(Box, { className: "flex-1", children: /* @__PURE__ */ jsx(
48389
48389
  "input",
48390
48390
  {
@@ -48392,30 +48392,30 @@ function EditorTextInput({ label, value, onChange, placeholder, className }) {
48392
48392
  value,
48393
48393
  onChange: (e) => onChange(e.target.value),
48394
48394
  placeholder,
48395
- className: "w-full px-2 py-1 text-xs bg-gray-700 text-gray-200 border border-gray-600 rounded"
48395
+ className: "w-full px-2 py-1 text-xs bg-muted text-foreground border border-muted rounded"
48396
48396
  }
48397
48397
  ) })
48398
48398
  ] });
48399
48399
  }
48400
48400
  EditorTextInput.displayName = "EditorTextInput";
48401
48401
  function StatusBar({ hoveredTile, mode, gridSize, unitCount, featureCount, className }) {
48402
- return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className: `px-3 py-1.5 bg-gray-800 border-t border-gray-700 ${className ?? ""}`, children: [
48402
+ return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className: `px-3 py-1.5 bg-background border-t border-border ${className ?? ""}`, children: [
48403
48403
  /* @__PURE__ */ jsx(Badge, { variant: "info", size: "sm", children: mode }),
48404
- /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-gray-400", children: [
48404
+ /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
48405
48405
  "Tile: ",
48406
48406
  hoveredTile ? `(${hoveredTile.x}, ${hoveredTile.y})` : "\u2014"
48407
48407
  ] }),
48408
- gridSize && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-gray-500", children: [
48408
+ gridSize && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
48409
48409
  "Grid: ",
48410
48410
  gridSize.width,
48411
48411
  "x",
48412
48412
  gridSize.height
48413
48413
  ] }),
48414
- unitCount !== void 0 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-gray-500", children: [
48414
+ unitCount !== void 0 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
48415
48415
  "Units: ",
48416
48416
  unitCount
48417
48417
  ] }),
48418
- featureCount !== void 0 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-gray-500", children: [
48418
+ featureCount !== void 0 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
48419
48419
  "Features: ",
48420
48420
  featureCount
48421
48421
  ] })
@@ -48427,8 +48427,8 @@ function TerrainPalette({ terrains, selectedTerrain, onSelect, className }) {
48427
48427
  Box,
48428
48428
  {
48429
48429
  onClick: () => onSelect(terrain),
48430
- 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"}`,
48431
- style: { backgroundColor: TERRAIN_COLORS[terrain] || "#555" },
48430
+ 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"}`,
48431
+ style: { backgroundColor: TERRAIN_COLORS[terrain] || "var(--color-muted)" },
48432
48432
  title: terrain
48433
48433
  },
48434
48434
  terrain