@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.
@@ -6721,7 +6721,7 @@ function HealthBar({
6721
6721
  "div",
6722
6722
  {
6723
6723
  className: cn(
6724
- "relative overflow-hidden rounded-full bg-gray-700",
6724
+ "relative overflow-hidden rounded-full bg-muted",
6725
6725
  sizes.bar,
6726
6726
  "w-24",
6727
6727
  className
@@ -6731,7 +6731,7 @@ function HealthBar({
6731
6731
  {
6732
6732
  className: cn(
6733
6733
  "absolute inset-y-0 left-0 rounded-full",
6734
- percentage > 66 ? "bg-green-500" : percentage > 33 ? "bg-yellow-500" : "bg-red-500",
6734
+ percentage > 66 ? "bg-success" : percentage > 33 ? "bg-warning" : "bg-error",
6735
6735
  animated && "transition-all duration-300"
6736
6736
  ),
6737
6737
  style: { width: `${percentage}%` }
@@ -6753,7 +6753,7 @@ var init_HealthBar = __esm({
6753
6753
  heartIcon = (filled, size) => /* @__PURE__ */ jsx(
6754
6754
  "svg",
6755
6755
  {
6756
- className: cn("transition-all duration-200", size, filled ? "text-red-500" : "text-gray-400"),
6756
+ className: cn("transition-all duration-200", size, filled ? "text-error" : "text-muted-foreground"),
6757
6757
  viewBox: "0 0 24 24",
6758
6758
  fill: filled ? "currentColor" : "none",
6759
6759
  stroke: "currentColor",
@@ -6817,7 +6817,7 @@ function ScoreDisplay({
6817
6817
  ),
6818
6818
  children: [
6819
6819
  icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: icon }),
6820
- label && /* @__PURE__ */ jsx("span", { className: "text-gray-400", children: label }),
6820
+ label && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
6821
6821
  /* @__PURE__ */ jsx("span", { className: "tabular-nums", children: formattedValue })
6822
6822
  ]
6823
6823
  }
@@ -6930,8 +6930,8 @@ var init_ControlButton = __esm({
6930
6930
  };
6931
6931
  shapeMap = {
6932
6932
  circle: "rounded-full",
6933
- rounded: "rounded-xl",
6934
- square: "rounded-md"
6933
+ rounded: "rounded-interactive",
6934
+ square: "rounded-interactive"
6935
6935
  };
6936
6936
  variantMap = {
6937
6937
  primary: "bg-primary text-primary-foreground border-primary hover:bg-primary-hover",
@@ -7099,12 +7099,12 @@ function TimerDisplay({
7099
7099
  "div",
7100
7100
  {
7101
7101
  className: cn(
7102
- "inline-flex items-center justify-center rounded-lg",
7103
- "bg-[var(--color-card)]/80 border border-gray-600 font-mono font-bold tabular-nums",
7102
+ "inline-flex items-center justify-center rounded-container",
7103
+ "bg-card/80 border border-muted font-mono font-bold tabular-nums",
7104
7104
  sizeMap4[size],
7105
- running && "border-green-500/50",
7106
- isLow && "text-red-400 border-red-500/50 animate-pulse",
7107
- !isLow && "text-[var(--color-foreground)]",
7105
+ running && "border-success/50",
7106
+ isLow && "text-error border-error/50 animate-pulse",
7107
+ !isLow && "text-foreground",
7108
7108
  className
7109
7109
  ),
7110
7110
  children: formatTime(seconds, format)
@@ -7137,17 +7137,17 @@ function ResourceCounter({
7137
7137
  "div",
7138
7138
  {
7139
7139
  className: cn(
7140
- "inline-flex items-center rounded-md",
7141
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
7140
+ "inline-flex items-center rounded-container",
7141
+ "bg-card/80 border border-muted font-medium text-foreground",
7142
7142
  sizes.wrapper,
7143
7143
  className
7144
7144
  ),
7145
7145
  children: [
7146
7146
  icon && /* @__PURE__ */ jsx("span", { className: cn("flex-shrink-0", sizes.icon), children: icon }),
7147
- /* @__PURE__ */ jsx("span", { className: "text-gray-400", children: label }),
7147
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
7148
7148
  /* @__PURE__ */ jsxs("span", { className: cn("font-bold tabular-nums", color), children: [
7149
7149
  value,
7150
- max != null && /* @__PURE__ */ jsxs("span", { className: "text-gray-500", children: [
7150
+ max != null && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
7151
7151
  "/",
7152
7152
  max
7153
7153
  ] })
@@ -7188,18 +7188,18 @@ function ItemSlot({
7188
7188
  disabled: !isClickable,
7189
7189
  title: label,
7190
7190
  className: cn(
7191
- "relative flex items-center justify-center rounded-lg border-2",
7192
- "bg-[var(--color-card)]/80 transition-all duration-150",
7191
+ "relative flex items-center justify-center rounded-interactive border-2",
7192
+ "bg-card/80 transition-all duration-150",
7193
7193
  sizeMap6[size],
7194
- empty ? "border-gray-700 bg-[var(--color-card)]/50" : rarityBorderMap[rarity],
7194
+ empty ? "border-border bg-card/50" : rarityBorderMap[rarity],
7195
7195
  !empty && rarityGlowMap[rarity],
7196
- selected && "ring-2 ring-white ring-offset-1 ring-offset-gray-900",
7196
+ selected && "ring-2 ring-foreground ring-offset-1 ring-offset-background",
7197
7197
  isClickable && !empty && "hover:brightness-125 cursor-pointer",
7198
- isClickable && empty && "hover:border-gray-500 cursor-pointer",
7198
+ isClickable && empty && "hover:border-muted cursor-pointer",
7199
7199
  !isClickable && "cursor-default",
7200
7200
  className
7201
7201
  ),
7202
- children: empty ? /* @__PURE__ */ jsx("span", { className: "text-gray-600 text-base", children: "+" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
7202
+ children: empty ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
7203
7203
  icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: icon }),
7204
7204
  quantity != null && quantity > 1 && /* @__PURE__ */ jsx(
7205
7205
  "span",
@@ -7207,7 +7207,7 @@ function ItemSlot({
7207
7207
  className: cn(
7208
7208
  "absolute -bottom-1 -right-1 flex items-center justify-center",
7209
7209
  "min-w-[18px] h-[18px] rounded-full px-1",
7210
- "bg-[var(--color-surface,#374151)] border border-gray-500 text-xs font-bold text-[var(--color-foreground)]"
7210
+ "bg-surface border border-muted text-xs font-bold text-foreground"
7211
7211
  ),
7212
7212
  children: quantity
7213
7213
  }
@@ -7227,18 +7227,18 @@ var init_ItemSlot = __esm({
7227
7227
  lg: "w-18 h-18 text-3xl"
7228
7228
  };
7229
7229
  rarityBorderMap = {
7230
- common: "border-gray-500",
7231
- uncommon: "border-green-500",
7232
- rare: "border-blue-500",
7233
- epic: "border-purple-500",
7234
- legendary: "border-amber-400"
7230
+ common: "border-muted",
7231
+ uncommon: "border-success",
7232
+ rare: "border-info",
7233
+ epic: "border-accent",
7234
+ legendary: "border-warning"
7235
7235
  };
7236
7236
  rarityGlowMap = {
7237
7237
  common: "",
7238
7238
  uncommon: "",
7239
- rare: "shadow-[0_0_6px_rgba(59,130,246,0.3)]",
7240
- epic: "shadow-[0_0_8px_rgba(168,85,247,0.4)]",
7241
- legendary: "shadow-[0_0_10px_rgba(251,191,36,0.5)]"
7239
+ rare: "shadow-sm",
7240
+ epic: "shadow-lg",
7241
+ legendary: "shadow-lg"
7242
7242
  };
7243
7243
  ItemSlot.displayName = "ItemSlot";
7244
7244
  }
@@ -7256,8 +7256,8 @@ function TurnIndicator({
7256
7256
  "div",
7257
7257
  {
7258
7258
  className: cn(
7259
- "inline-flex items-center rounded-lg",
7260
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
7259
+ "inline-flex items-center rounded-container",
7260
+ "bg-card/80 border border-muted font-medium text-foreground",
7261
7261
  sizes.wrapper,
7262
7262
  className
7263
7263
  ),
@@ -7265,19 +7265,19 @@ function TurnIndicator({
7265
7265
  /* @__PURE__ */ jsxs("span", { className: "font-bold tabular-nums", children: [
7266
7266
  "Turn ",
7267
7267
  currentTurn,
7268
- maxTurns != null && /* @__PURE__ */ jsxs("span", { className: "text-gray-400", children: [
7268
+ maxTurns != null && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
7269
7269
  "/",
7270
7270
  maxTurns
7271
7271
  ] })
7272
7272
  ] }),
7273
7273
  phase && /* @__PURE__ */ jsxs(Fragment, { children: [
7274
- /* @__PURE__ */ jsx("span", { className: "text-gray-600", children: "|" }),
7275
- /* @__PURE__ */ jsx("span", { className: "text-gray-300", children: phase })
7274
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "|" }),
7275
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: phase })
7276
7276
  ] }),
7277
7277
  activeTeam && /* @__PURE__ */ jsxs(Fragment, { children: [
7278
- /* @__PURE__ */ jsx("span", { className: "text-gray-600", children: "|" }),
7279
- /* @__PURE__ */ jsx("span", { className: cn("rounded-full bg-green-500/20", sizes.dot) }),
7280
- /* @__PURE__ */ jsx("span", { className: "text-green-400", children: activeTeam })
7278
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "|" }),
7279
+ /* @__PURE__ */ jsx("span", { className: cn("rounded-full bg-success/20", sizes.dot) }),
7280
+ /* @__PURE__ */ jsx("span", { className: "text-success", children: activeTeam })
7281
7281
  ] })
7282
7282
  ]
7283
7283
  }
@@ -7296,10 +7296,10 @@ var init_TurnIndicator = __esm({
7296
7296
  }
7297
7297
  });
7298
7298
  function getComboIntensity(combo) {
7299
- if (combo >= 10) return "text-red-400 animate-pulse";
7300
- if (combo >= 7) return "text-orange-400";
7301
- if (combo >= 4) return "text-yellow-400";
7302
- return "text-[var(--color-foreground)]";
7299
+ if (combo >= 10) return "text-error animate-pulse";
7300
+ if (combo >= 7) return "text-warning";
7301
+ if (combo >= 4) return "text-warning";
7302
+ return "text-foreground";
7303
7303
  }
7304
7304
  function getComboScale(combo) {
7305
7305
  if (combo >= 10) return "scale-110";
@@ -7320,19 +7320,19 @@ function ComboCounter({
7320
7320
  {
7321
7321
  className: cn(
7322
7322
  "inline-flex flex-col items-center justify-center",
7323
- "rounded-xl bg-[var(--color-card)]/80 border border-gray-600 px-3 py-1.5",
7323
+ "rounded-container bg-card/80 border border-muted px-3 py-1.5",
7324
7324
  "transition-transform duration-200",
7325
7325
  getComboScale(combo),
7326
7326
  className
7327
7327
  ),
7328
7328
  children: [
7329
7329
  /* @__PURE__ */ jsx("span", { className: cn("font-black tabular-nums leading-none", sizes.combo, getComboIntensity(combo)), children: combo }),
7330
- /* @__PURE__ */ jsx("span", { className: cn("font-bold uppercase tracking-wider text-gray-400", sizes.label), children: "combo" }),
7331
- multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxs("span", { className: cn("font-bold text-amber-400 tabular-nums", sizes.multiplier), children: [
7330
+ /* @__PURE__ */ jsx("span", { className: cn("font-bold uppercase tracking-wider text-muted-foreground", sizes.label), children: "combo" }),
7331
+ multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxs("span", { className: cn("font-bold text-warning tabular-nums", sizes.multiplier), children: [
7332
7332
  "x",
7333
7333
  multiplier.toFixed(1)
7334
7334
  ] }),
7335
- streak != null && streak > 0 && /* @__PURE__ */ jsxs("span", { className: cn("text-gray-500 tabular-nums", sizes.label), children: [
7335
+ streak != null && streak > 0 && /* @__PURE__ */ jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.label), children: [
7336
7336
  streak,
7337
7337
  " streak"
7338
7338
  ] })
@@ -7368,8 +7368,8 @@ function XPBar({
7368
7368
  "span",
7369
7369
  {
7370
7370
  className: cn(
7371
- "flex-shrink-0 rounded-md font-bold",
7372
- "bg-indigo-600 text-white border border-indigo-400",
7371
+ "flex-shrink-0 rounded-interactive font-bold",
7372
+ "bg-accent text-foreground border border-accent",
7373
7373
  sizes.badge
7374
7374
  ),
7375
7375
  children: [
@@ -7383,7 +7383,7 @@ function XPBar({
7383
7383
  "div",
7384
7384
  {
7385
7385
  className: cn(
7386
- "relative w-full overflow-hidden rounded-full bg-gray-700 border border-gray-600",
7386
+ "relative w-full overflow-hidden rounded-full bg-muted border border-muted",
7387
7387
  sizes.bar
7388
7388
  ),
7389
7389
  children: /* @__PURE__ */ jsx(
@@ -7391,7 +7391,7 @@ function XPBar({
7391
7391
  {
7392
7392
  className: cn(
7393
7393
  "absolute inset-y-0 left-0 rounded-full",
7394
- "bg-gradient-to-r from-indigo-600 to-purple-500",
7394
+ "bg-gradient-to-r from-accent to-info",
7395
7395
  animated && "transition-all duration-500 ease-out"
7396
7396
  ),
7397
7397
  style: { width: `${percentage}%` }
@@ -7399,7 +7399,7 @@ function XPBar({
7399
7399
  )
7400
7400
  }
7401
7401
  ),
7402
- showLabel && /* @__PURE__ */ jsxs("span", { className: cn("text-gray-400 tabular-nums", sizes.text), children: [
7402
+ showLabel && /* @__PURE__ */ jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.text), children: [
7403
7403
  current,
7404
7404
  " / ",
7405
7405
  max,
@@ -7435,7 +7435,7 @@ function WaypointMarker({
7435
7435
  "div",
7436
7436
  {
7437
7437
  className: cn(
7438
- "absolute rounded-full border-2 border-blue-400 animate-ping opacity-50",
7438
+ "absolute rounded-full border-2 border-info animate-ping opacity-50",
7439
7439
  sizes.ring
7440
7440
  )
7441
7441
  }
@@ -7444,7 +7444,7 @@ function WaypointMarker({
7444
7444
  "div",
7445
7445
  {
7446
7446
  className: cn(
7447
- "absolute rounded-full border-2 border-blue-400",
7447
+ "absolute rounded-full border-2 border-info",
7448
7448
  sizes.ring
7449
7449
  )
7450
7450
  }
@@ -7455,9 +7455,9 @@ function WaypointMarker({
7455
7455
  className: cn(
7456
7456
  "relative flex items-center justify-center rounded-full transition-all duration-200",
7457
7457
  sizes.dot,
7458
- completed && "bg-green-500 text-white",
7459
- active && !completed && "bg-blue-500 text-white",
7460
- !active && !completed && "bg-gray-500"
7458
+ completed && "bg-success text-foreground",
7459
+ active && !completed && "bg-info text-foreground",
7460
+ !active && !completed && "bg-muted"
7461
7461
  ),
7462
7462
  children: completed ? checkIcon : icon
7463
7463
  }
@@ -7469,7 +7469,7 @@ function WaypointMarker({
7469
7469
  className: cn(
7470
7470
  "text-center whitespace-nowrap",
7471
7471
  sizes.label,
7472
- completed ? "text-green-400" : active ? "text-blue-400" : "text-gray-400"
7472
+ completed ? "text-success" : active ? "text-info" : "text-muted-foreground"
7473
7473
  ),
7474
7474
  children: label
7475
7475
  }
@@ -7510,7 +7510,7 @@ function StatusEffect({
7510
7510
  "div",
7511
7511
  {
7512
7512
  className: cn(
7513
- "relative flex items-center justify-center rounded border-2",
7513
+ "relative flex items-center justify-center rounded-interactive border-2",
7514
7514
  sizes.container,
7515
7515
  variantStyles7[variant]
7516
7516
  ),
@@ -7521,7 +7521,7 @@ function StatusEffect({
7521
7521
  "span",
7522
7522
  {
7523
7523
  className: cn(
7524
- "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-white bg-black/60 leading-tight",
7524
+ "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-foreground bg-background/60 leading-tight",
7525
7525
  sizes.timer
7526
7526
  ),
7527
7527
  children: formatDuration(duration)
@@ -7534,7 +7534,7 @@ function StatusEffect({
7534
7534
  "span",
7535
7535
  {
7536
7536
  className: cn(
7537
- "absolute flex items-center justify-center rounded-full bg-[var(--color-card)] text-[var(--color-foreground)] font-bold leading-none",
7537
+ "absolute flex items-center justify-center rounded-full bg-card text-foreground font-bold leading-none",
7538
7538
  sizes.badge
7539
7539
  ),
7540
7540
  children: stacks
@@ -7553,9 +7553,9 @@ var init_StatusEffect = __esm({
7553
7553
  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" }
7554
7554
  };
7555
7555
  variantStyles7 = {
7556
- buff: "border-green-500 bg-green-500/20",
7557
- debuff: "border-red-500 bg-red-500/20",
7558
- neutral: "border-gray-500 bg-gray-500/20"
7556
+ buff: "border-success bg-success/20",
7557
+ debuff: "border-error bg-error/20",
7558
+ neutral: "border-muted bg-muted/20"
7559
7559
  };
7560
7560
  StatusEffect.displayName = "StatusEffect";
7561
7561
  }
@@ -7594,10 +7594,10 @@ var init_DamageNumber = __esm({
7594
7594
  lg: "text-2xl"
7595
7595
  };
7596
7596
  typeStyles = {
7597
- damage: "text-red-500 font-bold",
7598
- heal: "text-green-500 font-bold",
7599
- crit: "text-orange-400 font-extrabold",
7600
- miss: "text-gray-400 italic"
7597
+ damage: "text-error font-bold",
7598
+ heal: "text-success font-bold",
7599
+ crit: "text-warning font-extrabold",
7600
+ miss: "text-muted-foreground italic"
7601
7601
  };
7602
7602
  floatKeyframes = `
7603
7603
  @keyframes damageFloat {
@@ -7620,12 +7620,12 @@ function DialogueBubble({
7620
7620
  "div",
7621
7621
  {
7622
7622
  className: cn(
7623
- "flex items-start gap-3 rounded-lg bg-black/80 backdrop-blur-sm px-4 py-3 border border-white/10",
7623
+ "flex items-start gap-3 rounded-container bg-background/80 backdrop-blur-sm px-4 py-3 border border-border/10",
7624
7624
  position === "top" ? "rounded-bl-none" : "rounded-tl-none",
7625
7625
  className
7626
7626
  ),
7627
7627
  children: [
7628
- 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(
7628
+ portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-warning/60", children: /* @__PURE__ */ jsx(
7629
7629
  "img",
7630
7630
  {
7631
7631
  src: portrait,
@@ -7634,8 +7634,8 @@ function DialogueBubble({
7634
7634
  }
7635
7635
  ) }),
7636
7636
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 min-w-0", children: [
7637
- speaker && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-yellow-400", children: speaker }),
7638
- /* @__PURE__ */ jsx("span", { className: "text-sm text-[var(--color-foreground)] leading-relaxed", children: text })
7637
+ speaker && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-warning", children: speaker }),
7638
+ /* @__PURE__ */ jsx("span", { className: "text-sm text-foreground leading-relaxed", children: text })
7639
7639
  ] })
7640
7640
  ]
7641
7641
  }
@@ -7662,7 +7662,7 @@ function ChoiceButton({
7662
7662
  disabled,
7663
7663
  onClick,
7664
7664
  className: cn(
7665
- "w-full text-left px-4 py-2.5 rounded-md border transition-all duration-150",
7665
+ "w-full text-left px-4 py-2.5 rounded-interactive border transition-all duration-150",
7666
7666
  "flex items-center gap-2",
7667
7667
  selected ? "bg-accent/15 border-accent text-foreground" : "bg-muted/40 border-border text-foreground hover:bg-muted hover:border-border",
7668
7668
  disabled && "opacity-40 cursor-not-allowed hover:bg-muted/40 hover:border-border",
@@ -7715,7 +7715,7 @@ function ActionButton({
7715
7715
  disabled: isDisabled,
7716
7716
  onClick,
7717
7717
  className: cn(
7718
- "relative inline-flex items-center gap-1.5 rounded-md border font-medium overflow-hidden transition-colors duration-150",
7718
+ "relative inline-flex items-center gap-1.5 rounded-interactive border font-medium overflow-hidden transition-colors duration-150",
7719
7719
  sizes.button,
7720
7720
  variantStyles8[variant],
7721
7721
  isDisabled && "opacity-60 cursor-not-allowed",
@@ -7758,9 +7758,9 @@ var init_ActionButton = __esm({
7758
7758
  init_cn();
7759
7759
  init_Icon();
7760
7760
  sizeMap13 = {
7761
- sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
7762
- md: { button: "px-4 py-2 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
7763
- lg: { button: "px-5 py-2.5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
7761
+ sm: { button: "h-button-sm px-3 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
7762
+ md: { button: "h-button-md px-4 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
7763
+ lg: { button: "h-button-lg px-5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
7764
7764
  };
7765
7765
  variantStyles8 = {
7766
7766
  primary: "bg-primary text-primary-foreground hover:bg-primary-hover border-primary",
@@ -7840,7 +7840,7 @@ function MiniMap({
7840
7840
  "div",
7841
7841
  {
7842
7842
  className: cn(
7843
- "relative inline-block border border-white/20 rounded",
7843
+ "relative inline-block border border-border/20 rounded-container",
7844
7844
  className
7845
7845
  ),
7846
7846
  children: /* @__PURE__ */ jsx(
@@ -10912,7 +10912,7 @@ function ActionTile({
10912
10912
  {
10913
10913
  display: "flex",
10914
10914
  className: cn(
10915
- "flex-col items-center gap-1 rounded-lg border-2 transition-all select-none",
10915
+ "flex-col items-center gap-1 rounded-container border-2 transition-all select-none",
10916
10916
  config.px,
10917
10917
  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",
10918
10918
  className
@@ -12212,12 +12212,12 @@ function IsometricCanvas({
12212
12212
  return /* @__PURE__ */ jsx(
12213
12213
  Box,
12214
12214
  {
12215
- className: cn("relative w-full overflow-hidden rounded-lg", className),
12215
+ className: cn("relative w-full overflow-hidden rounded-container", className),
12216
12216
  style: { height: viewportSize.height },
12217
12217
  "data-testid": "game-canvas-empty",
12218
- 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: [
12218
+ 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: [
12219
12219
  /* @__PURE__ */ jsx(Icon, { name: "map", size: "xl" }),
12220
- /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-slate-400", children: t("canvas.emptyMessage") || "No map data loaded" })
12220
+ /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-muted-foreground", children: t("canvas.emptyMessage") || "No map data loaded" })
12221
12221
  ] }) })
12222
12222
  }
12223
12223
  );
@@ -12615,19 +12615,19 @@ function BattleBoard({
12615
12615
  }
12616
12616
  )
12617
12617
  ] }),
12618
- 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: [
12618
+ 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: [
12619
12619
  /* @__PURE__ */ jsx(
12620
12620
  Typography,
12621
12621
  {
12622
12622
  variant: "h2",
12623
12623
  className: cn(
12624
12624
  "text-4xl font-black tracking-widest uppercase",
12625
- gameResult === "victory" ? "text-yellow-400" : "text-red-500"
12625
+ gameResult === "victory" ? "text-warning" : "text-error"
12626
12626
  ),
12627
12627
  children: gameResult === "victory" ? t("battle.victory") : t("battle.defeat")
12628
12628
  }
12629
12629
  ),
12630
- /* @__PURE__ */ jsxs(Typography, { variant: "body1", className: "text-gray-300", children: [
12630
+ /* @__PURE__ */ jsxs(Typography, { variant: "body1", className: "text-muted-foreground", children: [
12631
12631
  t("battle.turnsPlayed"),
12632
12632
  ": ",
12633
12633
  currentTurn
@@ -17504,7 +17504,7 @@ function BuilderBoard({
17504
17504
  backgroundPosition: "center"
17505
17505
  },
17506
17506
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
17507
- 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,
17507
+ 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,
17508
17508
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
17509
17509
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
17510
17510
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
@@ -17542,7 +17542,7 @@ function BuilderBoard({
17542
17542
  {
17543
17543
  gap: "sm",
17544
17544
  align: "center",
17545
- className: `p-3 border-2 rounded ${result ? result.correct ? "border-green-500" : "border-red-500" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
17545
+ className: `p-3 border-2 rounded ${result ? result.correct ? "border-success" : "border-error" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
17546
17546
  onClick: () => handlePlaceComponent(slot.id),
17547
17547
  children: [
17548
17548
  /* @__PURE__ */ jsxs(VStack, { gap: "none", className: "flex-1", children: [
@@ -17557,7 +17557,7 @@ function BuilderBoard({
17557
17557
  ] }) : null,
17558
17558
  placedComp.label
17559
17559
  ] }),
17560
- result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "sm", className: result.correct ? "text-green-600" : "text-red-600" })
17560
+ result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "sm", className: result.correct ? "text-success" : "text-error" })
17561
17561
  ] }) : /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: t("builder.empty") })
17562
17562
  ]
17563
17563
  },
@@ -17566,10 +17566,10 @@ function BuilderBoard({
17566
17566
  }) })
17567
17567
  ] }) }),
17568
17568
  submitted && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
17569
- /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
17569
+ /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
17570
17570
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("builder.success") : entity.failMessage ?? t("builder.incorrect") })
17571
17571
  ] }) }),
17572
- 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 }) }),
17572
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
17573
17573
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
17574
17574
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allPlaced, children: [
17575
17575
  /* @__PURE__ */ jsx(Icon, { icon: Wrench, size: "sm" }),
@@ -19191,7 +19191,7 @@ function CanvasEffectEngine({
19191
19191
  flash && /* @__PURE__ */ jsx(
19192
19192
  Box,
19193
19193
  {
19194
- className: "absolute inset-0 z-20 pointer-events-none rounded-lg",
19194
+ className: "absolute inset-0 z-20 pointer-events-none rounded-container",
19195
19195
  style: { backgroundColor: flash.color, opacity: flash.alpha }
19196
19196
  }
19197
19197
  ),
@@ -19259,7 +19259,7 @@ function EmojiEffect({
19259
19259
  /* @__PURE__ */ jsx(
19260
19260
  Box,
19261
19261
  {
19262
- className: "absolute rounded-full animate-ping",
19262
+ className: "absolute rounded-pill animate-ping",
19263
19263
  style: {
19264
19264
  width: 48 * intensity,
19265
19265
  height: 48 * intensity,
@@ -21076,7 +21076,7 @@ function ClassifierBoard({
21076
21076
  backgroundPosition: "center"
21077
21077
  },
21078
21078
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
21079
- 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,
21079
+ 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,
21080
21080
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
21081
21081
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
21082
21082
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
@@ -21091,7 +21091,7 @@ function ClassifierBoard({
21091
21091
  /* @__PURE__ */ jsx(VStack, { gap: "md", children: categories.map((cat) => {
21092
21092
  const catItems = items.filter((item) => assignments[item.id] === cat.id);
21093
21093
  return /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
21094
- 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" }) }),
21094
+ 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" }) }),
21095
21095
  /* @__PURE__ */ jsxs(HStack, { justify: "between", align: "center", children: [
21096
21096
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: cat.label }),
21097
21097
  /* @__PURE__ */ jsx(Badge, { size: "sm", children: catItems.length })
@@ -21102,12 +21102,12 @@ function ClassifierBoard({
21102
21102
  Badge,
21103
21103
  {
21104
21104
  size: "sm",
21105
- 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" : ""}`,
21105
+ className: `cursor-pointer ${result ? result.correct ? "border-success bg-success/10" : "border-error bg-error/10" : ""}`,
21106
21106
  onClick: () => handleUnassign(item.id),
21107
21107
  children: [
21108
21108
  item.iconUrl && /* @__PURE__ */ jsx("img", { src: item.iconUrl, alt: "", className: "w-3 h-3 object-contain inline-block" }),
21109
21109
  item.label,
21110
- result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "xs", className: result.correct ? "text-green-600" : "text-red-600" })
21110
+ result && /* @__PURE__ */ jsx(Icon, { icon: result.correct ? CheckCircle : XCircle, size: "xs", className: result.correct ? "text-success" : "text-error" })
21111
21111
  ]
21112
21112
  },
21113
21113
  item.id
@@ -21130,11 +21130,11 @@ function ClassifierBoard({
21130
21130
  ] }) }, cat.id);
21131
21131
  }) }),
21132
21132
  submitted && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
21133
- /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
21133
+ /* @__PURE__ */ jsx(Icon, { icon: allCorrect ? CheckCircle : XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
21134
21134
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("classifier.allCorrect") : `${correctCount}/${items.length} ${t("classifier.correct")}` }),
21135
21135
  !allCorrect && entity.failMessage && /* @__PURE__ */ jsx(Typography, { variant: "body", className: "text-muted-foreground", children: entity.failMessage })
21136
21136
  ] }) }),
21137
- 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 }) }),
21137
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
21138
21138
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
21139
21139
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allAssigned, children: [
21140
21140
  /* @__PURE__ */ jsx(Icon, { icon: Send, size: "sm" }),
@@ -22182,7 +22182,7 @@ function CraftingRecipe({
22182
22182
  Box,
22183
22183
  {
22184
22184
  className: cn(
22185
- "flex flex-wrap items-center gap-3 rounded-lg bg-gray-800/50 border border-gray-700/50 p-3",
22185
+ "flex flex-wrap items-center gap-3 rounded-container bg-muted/50 border border-border/50 p-3",
22186
22186
  className
22187
22187
  ),
22188
22188
  children: [
@@ -22199,10 +22199,10 @@ function CraftingRecipe({
22199
22199
  className: cn(!hasSufficient && "opacity-50")
22200
22200
  }
22201
22201
  ) }),
22202
- index < inputs.length - 1 && /* @__PURE__ */ jsx(Icon, { name: "plus", size: "sm", className: "text-gray-500" })
22202
+ index < inputs.length - 1 && /* @__PURE__ */ jsx(Icon, { name: "plus", size: "sm", className: "text-muted-foreground" })
22203
22203
  ] }, index);
22204
22204
  }) }),
22205
- /* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: "md", className: "text-gray-400" }),
22205
+ /* @__PURE__ */ jsx(Icon, { name: "arrow-right", size: "md", className: "text-muted-foreground" }),
22206
22206
  /* @__PURE__ */ jsx(
22207
22207
  ItemSlot,
22208
22208
  {
@@ -22290,7 +22290,7 @@ function DPad({
22290
22290
  createButton("up"),
22291
22291
  /* @__PURE__ */ jsx("div", {}),
22292
22292
  createButton("left"),
22293
- /* @__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" }) }),
22293
+ /* @__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" }) }),
22294
22294
  createButton("right"),
22295
22295
  /* @__PURE__ */ jsx("div", {}),
22296
22296
  createButton("down"),
@@ -26475,7 +26475,7 @@ function StatBadge({
26475
26475
  "div",
26476
26476
  {
26477
26477
  className: cn(
26478
- "inline-flex items-center gap-2 rounded-lg border backdrop-blur-sm",
26478
+ "inline-flex items-center gap-2 rounded-container border backdrop-blur-sm",
26479
26479
  sizeMap17[size] ?? sizeMap17.md,
26480
26480
  variantMap2[variant] ?? variantMap2.default,
26481
26481
  className
@@ -26621,10 +26621,10 @@ function QuestTracker({
26621
26621
  Box,
26622
26622
  {
26623
26623
  className: cn(
26624
- "flex items-start gap-3 rounded-lg px-3 py-2 transition-colors",
26625
- isActive && !isCompleted && "bg-blue-900/20 border border-blue-800/50",
26626
- isCompleted && "bg-green-900/10 border border-green-800/30 opacity-70",
26627
- !isActive && !isCompleted && "bg-gray-800/30 border border-gray-700/30"
26624
+ "flex items-start gap-3 rounded-container px-3 py-2 transition-colors",
26625
+ isActive && !isCompleted && "bg-info/20 border border-info/50",
26626
+ isCompleted && "bg-success/10 border border-success/30 opacity-70",
26627
+ !isActive && !isCompleted && "bg-muted/30 border border-border/30"
26628
26628
  ),
26629
26629
  children: [
26630
26630
  /* @__PURE__ */ jsx(Box, { className: "flex-shrink-0 pt-0.5", children: /* @__PURE__ */ jsx(
@@ -26642,9 +26642,9 @@ function QuestTracker({
26642
26642
  variant: "body2",
26643
26643
  className: cn(
26644
26644
  "font-medium truncate",
26645
- isCompleted && "line-through text-gray-500",
26646
- isActive && !isCompleted && "text-blue-300",
26647
- !isActive && !isCompleted && "text-gray-300"
26645
+ isCompleted && "line-through text-muted-foreground",
26646
+ isActive && !isCompleted && "text-info",
26647
+ !isActive && !isCompleted && "text-muted-foreground"
26648
26648
  ),
26649
26649
  children: quest.title
26650
26650
  }
@@ -26662,7 +26662,7 @@ function QuestTracker({
26662
26662
  Typography,
26663
26663
  {
26664
26664
  variant: "caption",
26665
- className: "text-gray-500 mt-1",
26665
+ className: "text-muted-foreground mt-1",
26666
26666
  children: [
26667
26667
  quest.progress,
26668
26668
  " / ",
@@ -26719,14 +26719,14 @@ function PowerupSlots({
26719
26719
  {
26720
26720
  className: cn(
26721
26721
  "absolute -bottom-1 left-1/2 -translate-x-1/2",
26722
- "rounded px-1 py-px",
26723
- "bg-black/80 border border-gray-600"
26722
+ "rounded-interactive px-1 py-px",
26723
+ "bg-background/80 border border-border"
26724
26724
  ),
26725
26725
  children: /* @__PURE__ */ jsx(
26726
26726
  Typography,
26727
26727
  {
26728
26728
  variant: "caption",
26729
- className: "text-[9px] font-mono font-bold text-yellow-300 whitespace-nowrap",
26729
+ className: "text-[9px] font-mono font-bold text-warning whitespace-nowrap",
26730
26730
  children: formatTime2(powerup.remainingTime)
26731
26731
  }
26732
26732
  )
@@ -26848,7 +26848,7 @@ function HealthPanel({
26848
26848
  Box,
26849
26849
  {
26850
26850
  className: cn(
26851
- "rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm",
26851
+ "rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm",
26852
26852
  sizes.padding,
26853
26853
  className
26854
26854
  ),
@@ -26859,7 +26859,7 @@ function HealthPanel({
26859
26859
  {
26860
26860
  variant: "caption",
26861
26861
  weight: "bold",
26862
- className: "text-gray-300 uppercase tracking-wider",
26862
+ className: "text-muted-foreground uppercase tracking-wider",
26863
26863
  children: label
26864
26864
  }
26865
26865
  ),
@@ -26880,7 +26880,7 @@ function HealthPanel({
26880
26880
  as: "span",
26881
26881
  variant: "caption",
26882
26882
  weight: "bold",
26883
- className: "text-blue-400 ml-1",
26883
+ className: "text-info ml-1",
26884
26884
  children: [
26885
26885
  "+",
26886
26886
  shield
@@ -26905,14 +26905,14 @@ function HealthPanel({
26905
26905
  Box,
26906
26906
  {
26907
26907
  className: cn(
26908
- "relative overflow-hidden rounded-full bg-gray-700",
26908
+ "relative overflow-hidden rounded-container bg-muted",
26909
26909
  size === "sm" ? "h-1" : size === "md" ? "h-1.5" : "h-2",
26910
26910
  "w-full"
26911
26911
  ),
26912
26912
  children: /* @__PURE__ */ jsx(
26913
26913
  Box,
26914
26914
  {
26915
- className: "absolute inset-y-0 left-0 rounded-full bg-blue-500 transition-all duration-300",
26915
+ className: "absolute inset-y-0 left-0 rounded-container bg-info transition-all duration-300",
26916
26916
  style: { width: `${Math.min(100, shield / max * 100)}%` }
26917
26917
  }
26918
26918
  )
@@ -26971,7 +26971,7 @@ function ScoreBoard({
26971
26971
  Card,
26972
26972
  {
26973
26973
  className: cn(
26974
- "bg-[var(--color-card)]/90 border-gray-700 backdrop-blur-sm",
26974
+ "bg-[var(--color-card)]/90 border-border backdrop-blur-sm",
26975
26975
  className
26976
26976
  ),
26977
26977
  children: /* @__PURE__ */ jsx(CardContent, { className: "p-3", children: /* @__PURE__ */ jsxs(Box, { className: "flex items-center gap-3 flex-wrap", children: [
@@ -27088,7 +27088,7 @@ function TurnPanel({
27088
27088
  Box,
27089
27089
  {
27090
27090
  className: cn(
27091
- "flex items-center gap-3 rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm px-3 py-2",
27091
+ "flex items-center gap-3 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-2",
27092
27092
  className
27093
27093
  ),
27094
27094
  children: [
@@ -27140,7 +27140,7 @@ function EnemyPlate({
27140
27140
  Box,
27141
27141
  {
27142
27142
  className: cn(
27143
- "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",
27143
+ "inline-flex flex-col gap-1 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-1.5",
27144
27144
  "min-w-[120px]",
27145
27145
  className
27146
27146
  ),
@@ -27234,7 +27234,7 @@ function UnitCommandBar({
27234
27234
  Box,
27235
27235
  {
27236
27236
  className: cn(
27237
- "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",
27237
+ "flex items-center gap-1.5 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-2 py-1.5",
27238
27238
  className
27239
27239
  ),
27240
27240
  children: commands.map((command, i) => /* @__PURE__ */ jsxs(Box, { className: "flex flex-col items-center gap-0.5", children: [
@@ -27319,8 +27319,8 @@ function GameHud({
27319
27319
  className: cn(
27320
27320
  "relative z-10",
27321
27321
  positionMap[position],
27322
- transparent && "bg-gradient-to-b from-black/50 to-transparent",
27323
- position === "bottom" && "bg-gradient-to-t from-black/50 to-transparent",
27322
+ transparent && "bg-gradient-to-b from-background/50 to-transparent",
27323
+ position === "bottom" && "bg-gradient-to-t from-background/50 to-transparent",
27324
27324
  className
27325
27325
  ),
27326
27326
  children: /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: stats.map((stat, i) => /* @__PURE__ */ jsx(StatBadge, { ...stat, size }, i)) })
@@ -27478,8 +27478,8 @@ function DialogueBox({
27478
27478
  tabIndex: 0,
27479
27479
  role: "dialog",
27480
27480
  "aria-label": "Dialogue",
27481
- 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: [
27482
- dialogue.portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 p-4 border-r border-gray-700", children: /* @__PURE__ */ jsx(
27481
+ 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: [
27482
+ dialogue.portrait && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 p-4 border-r border-border", children: /* @__PURE__ */ jsx(
27483
27483
  "img",
27484
27484
  {
27485
27485
  src: dialogue.portrait,
@@ -27489,7 +27489,7 @@ function DialogueBox({
27489
27489
  }
27490
27490
  ) }),
27491
27491
  /* @__PURE__ */ jsxs("div", { className: "flex-1 p-4", children: [
27492
- /* @__PURE__ */ jsx("div", { className: "text-yellow-400 font-bold mb-2", children: dialogue.speaker }),
27492
+ /* @__PURE__ */ jsx("div", { className: "text-warning font-bold mb-2", children: dialogue.speaker }),
27493
27493
  /* @__PURE__ */ jsxs("div", { className: "text-[var(--color-foreground)] text-lg leading-relaxed min-h-[60px]", children: [
27494
27494
  displayedText,
27495
27495
  isTyping && /* @__PURE__ */ jsx("span", { className: "animate-pulse", children: "\u258C" })
@@ -27499,9 +27499,9 @@ function DialogueBox({
27499
27499
  {
27500
27500
  type: "button",
27501
27501
  className: cn(
27502
- "block w-full text-left px-4 py-2 rounded transition-colors",
27503
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-yellow-400",
27504
- selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-yellow-400" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
27502
+ "block w-full text-left px-4 py-2 rounded-interactive transition-colors",
27503
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-warning",
27504
+ selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-warning" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
27505
27505
  ),
27506
27506
  onClick: (e) => {
27507
27507
  e.stopPropagation();
@@ -27509,7 +27509,7 @@ function DialogueBox({
27509
27509
  onChoice?.(choice);
27510
27510
  },
27511
27511
  children: [
27512
- /* @__PURE__ */ jsxs("span", { className: "text-gray-500 mr-2", children: [
27512
+ /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground mr-2", children: [
27513
27513
  index + 1,
27514
27514
  "."
27515
27515
  ] }),
@@ -27518,7 +27518,7 @@ function DialogueBox({
27518
27518
  },
27519
27519
  index
27520
27520
  )) }),
27521
- !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsx("div", { className: "mt-4 text-gray-500 text-sm animate-pulse", children: "Press SPACE or click to continue..." })
27521
+ !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsx("div", { className: "mt-4 text-muted-foreground text-sm animate-pulse", children: "Press SPACE or click to continue..." })
27522
27522
  ] })
27523
27523
  ] }) })
27524
27524
  }
@@ -27621,7 +27621,7 @@ function InventoryPanel({
27621
27621
  /* @__PURE__ */ jsx(
27622
27622
  "div",
27623
27623
  {
27624
- className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-lg border border-gray-700",
27624
+ className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-container border border-border",
27625
27625
  style: {
27626
27626
  gridTemplateColumns: `repeat(${safeColumns}, ${slotSize}px)`,
27627
27627
  gridTemplateRows: `repeat(${rows}, ${slotSize}px)`
@@ -27633,8 +27633,8 @@ function InventoryPanel({
27633
27633
  className: cn(
27634
27634
  "relative flex items-center justify-center",
27635
27635
  "bg-[var(--color-card)] border rounded transition-colors",
27636
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-blue-500",
27637
- selectedSlot === index ? "border-yellow-400 bg-[var(--color-surface,#374151)]" : "border-gray-600"
27636
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-info",
27637
+ selectedSlot === index ? "border-warning bg-[var(--color-surface,#374151)]" : "border-muted"
27638
27638
  ),
27639
27639
  style: { width: slotSize, height: slotSize },
27640
27640
  onClick: () => handleSlotClick(index),
@@ -27653,8 +27653,8 @@ function InventoryPanel({
27653
27653
  className: "w-8 h-8 object-contain",
27654
27654
  style: { imageRendering: "pixelated" }
27655
27655
  }
27656
- ) : /* @__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() }),
27657
- 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 })
27656
+ ) : /* @__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() }),
27657
+ 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 })
27658
27658
  ] })
27659
27659
  },
27660
27660
  index
@@ -27664,7 +27664,7 @@ function InventoryPanel({
27664
27664
  showTooltips && hoveredItem && /* @__PURE__ */ jsxs(
27665
27665
  "div",
27666
27666
  {
27667
- className: "fixed z-50 bg-[var(--color-card)] border border-gray-600 rounded-lg p-2 shadow-lg pointer-events-none",
27667
+ className: "fixed z-50 bg-[var(--color-card)] border border-border rounded-container p-2 shadow-elevation-card pointer-events-none",
27668
27668
  style: {
27669
27669
  left: tooltipPosition.x,
27670
27670
  top: tooltipPosition.y,
@@ -27672,8 +27672,8 @@ function InventoryPanel({
27672
27672
  },
27673
27673
  children: [
27674
27674
  /* @__PURE__ */ jsx("div", { className: "font-semibold text-[var(--color-foreground)]", children: hoveredItem.name || hoveredItem.type }),
27675
- hoveredItem.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-gray-400 mt-1", children: hoveredItem.description }),
27676
- /* @__PURE__ */ jsxs("div", { className: "text-xs text-gray-500 mt-1", children: [
27675
+ hoveredItem.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground mt-1", children: hoveredItem.description }),
27676
+ /* @__PURE__ */ jsxs("div", { className: "text-xs text-muted-foreground mt-1", children: [
27677
27677
  "Quantity: ",
27678
27678
  hoveredItem.quantity
27679
27679
  ] })
@@ -27751,7 +27751,7 @@ function GameMenu({
27751
27751
  children: title
27752
27752
  }
27753
27753
  ),
27754
- subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-lg text-gray-400 tracking-widest uppercase", children: subtitle })
27754
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mt-2 text-lg text-muted-foreground tracking-widest uppercase", children: subtitle })
27755
27755
  ] }),
27756
27756
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-4 w-full max-w-md", children: resolvedOptions.map((option, index) => /* @__PURE__ */ jsx(
27757
27757
  "button",
@@ -27759,10 +27759,10 @@ function GameMenu({
27759
27759
  onClick: () => handleOptionClick(option),
27760
27760
  disabled: option.disabled,
27761
27761
  className: cn(
27762
- "w-full py-4 px-8 rounded-xl border-2 font-bold text-lg",
27762
+ "w-full py-4 px-8 rounded-container border-2 font-bold text-lg",
27763
27763
  "transition-all duration-200 transform",
27764
27764
  "hover:scale-105 active:scale-95",
27765
- "focus:outline-none focus:ring-4 focus:ring-white/25",
27765
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
27766
27766
  variantMap3[option.variant ?? "secondary"] ?? variantMap3.secondary,
27767
27767
  option.disabled && "opacity-50 cursor-not-allowed hover:scale-100"
27768
27768
  ),
@@ -27774,8 +27774,8 @@ function GameMenu({
27774
27774
  index
27775
27775
  )) }),
27776
27776
  /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 pointer-events-none overflow-hidden", children: [
27777
- /* @__PURE__ */ jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-blue-500/10 rounded-full blur-3xl" }),
27778
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-purple-500/10 rounded-full blur-3xl" })
27777
+ /* @__PURE__ */ jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-info/10 rounded-container blur-3xl" }),
27778
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-accent/10 rounded-container blur-3xl" })
27779
27779
  ] })
27780
27780
  ]
27781
27781
  }
@@ -27788,9 +27788,9 @@ var init_GameMenu = __esm({
27788
27788
  init_cn();
27789
27789
  init_useEventBus();
27790
27790
  variantMap3 = {
27791
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400 shadow-lg shadow-blue-500/25",
27792
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
27793
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
27791
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info shadow-lg shadow-info/25",
27792
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
27793
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
27794
27794
  };
27795
27795
  GameMenu.displayName = "GameMenu";
27796
27796
  }
@@ -27858,13 +27858,13 @@ function GameOverScreen({
27858
27858
  children: title
27859
27859
  }
27860
27860
  ),
27861
- message && /* @__PURE__ */ jsx("p", { className: "text-xl text-gray-300 mb-8 text-center max-w-md", children: message }),
27862
- 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}" }) }),
27861
+ message && /* @__PURE__ */ jsx("p", { className: "text-xl text-muted-foreground mb-8 text-center max-w-md", children: message }),
27862
+ 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}" }) }),
27863
27863
  stats.length > 0 && /* @__PURE__ */ jsx(
27864
27864
  "div",
27865
27865
  {
27866
27866
  className: cn(
27867
- "mb-8 p-6 rounded-xl border-2 bg-black/30",
27867
+ "mb-8 p-6 rounded-container border-2 bg-background/30",
27868
27868
  colors.accent
27869
27869
  ),
27870
27870
  children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: stats.map((stat, index) => {
@@ -27873,7 +27873,7 @@ function GameOverScreen({
27873
27873
  displayValue = formatTime3(displayValue);
27874
27874
  }
27875
27875
  return /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
27876
- /* @__PURE__ */ jsx("div", { className: "text-gray-400 text-sm mb-1", children: stat.label }),
27876
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground text-sm mb-1", children: stat.label }),
27877
27877
  /* @__PURE__ */ jsxs("div", { className: "text-[var(--color-foreground)] text-2xl font-bold flex items-center justify-center gap-2", children: [
27878
27878
  stat.icon && /* @__PURE__ */ jsx("span", { children: stat.icon }),
27879
27879
  /* @__PURE__ */ jsx("span", { className: "tabular-nums", children: displayValue })
@@ -27887,10 +27887,10 @@ function GameOverScreen({
27887
27887
  {
27888
27888
  onClick: () => handleActionClick(action),
27889
27889
  className: cn(
27890
- "px-8 py-4 rounded-xl border-2 font-bold text-lg",
27890
+ "px-8 py-4 rounded-container border-2 font-bold text-lg",
27891
27891
  "transition-all duration-200",
27892
27892
  "hover:scale-105 active:scale-95",
27893
- "focus:outline-none focus:ring-4 focus:ring-white/25",
27893
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
27894
27894
  buttonVariants[action.variant ?? "secondary"]
27895
27895
  ),
27896
27896
  children: action.label
@@ -27909,25 +27909,25 @@ var init_GameOverScreen = __esm({
27909
27909
  init_useEventBus();
27910
27910
  variantColors = {
27911
27911
  victory: {
27912
- bg: "from-green-900/90 to-emerald-950/90",
27913
- title: "text-green-400",
27914
- accent: "border-green-500"
27912
+ bg: "from-success/90 to-success/90",
27913
+ title: "text-success",
27914
+ accent: "border-success"
27915
27915
  },
27916
27916
  defeat: {
27917
- bg: "from-red-900/90 to-gray-950/90",
27918
- title: "text-red-400",
27919
- accent: "border-red-500"
27917
+ bg: "from-error/90 to-background/90",
27918
+ title: "text-error",
27919
+ accent: "border-error"
27920
27920
  },
27921
27921
  neutral: {
27922
- bg: "from-gray-900/90 to-gray-950/90",
27923
- title: "text-white",
27924
- accent: "border-gray-500"
27922
+ bg: "from-muted/90 to-background/90",
27923
+ title: "text-foreground",
27924
+ accent: "border-muted"
27925
27925
  }
27926
27926
  };
27927
27927
  buttonVariants = {
27928
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400",
27929
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
27930
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
27928
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info",
27929
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
27930
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
27931
27931
  };
27932
27932
  GameOverScreen.displayName = "GameOverScreen";
27933
27933
  }
@@ -28161,7 +28161,7 @@ function PlatformerCanvas({
28161
28161
  {
28162
28162
  ref: canvasRef,
28163
28163
  style: { width: canvasWidth, height: canvasHeight },
28164
- className: cn("block rounded-lg border border-white/10", className),
28164
+ className: cn("block rounded-container border border-border/10", className),
28165
28165
  "data-testid": "platformer-canvas",
28166
28166
  tabIndex: 0
28167
28167
  }
@@ -35704,7 +35704,7 @@ function DebuggerBoard({
35704
35704
  backgroundPosition: "center"
35705
35705
  },
35706
35706
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
35707
- 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,
35707
+ 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,
35708
35708
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
35709
35709
  /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
35710
35710
  /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "sm" }),
@@ -35717,11 +35717,11 @@ function DebuggerBoard({
35717
35717
  const isFlagged = flaggedLines.has(line.id);
35718
35718
  let lineStyle = "";
35719
35719
  if (submitted) {
35720
- if (line.isBug && isFlagged) lineStyle = "bg-green-50 dark:bg-green-950";
35721
- else if (line.isBug && !isFlagged) lineStyle = "bg-yellow-50 dark:bg-yellow-950";
35722
- else if (!line.isBug && isFlagged) lineStyle = "bg-red-50 dark:bg-red-950";
35720
+ if (line.isBug && isFlagged) lineStyle = "bg-success/10";
35721
+ else if (line.isBug && !isFlagged) lineStyle = "bg-warning/10";
35722
+ else if (!line.isBug && isFlagged) lineStyle = "bg-error/10";
35723
35723
  } else if (isFlagged) {
35724
- lineStyle = "bg-red-50 dark:bg-red-950";
35724
+ lineStyle = "bg-error/10";
35725
35725
  }
35726
35726
  return /* @__PURE__ */ jsxs(
35727
35727
  HStack,
@@ -35734,8 +35734,8 @@ function DebuggerBoard({
35734
35734
  /* @__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 }) }),
35735
35735
  /* @__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 }) }),
35736
35736
  /* @__PURE__ */ jsxs(Box, { className: "w-8 flex-shrink-0 flex items-center justify-center", children: [
35737
- isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-red-600" }),
35738
- submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-yellow-600" })
35737
+ isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-error" }),
35738
+ submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsx(Icon, { icon: Bug, size: "xs", className: "text-warning" })
35739
35739
  ] })
35740
35740
  ]
35741
35741
  },
@@ -35750,7 +35750,7 @@ function DebuggerBoard({
35750
35750
  {
35751
35751
  icon: flaggedLines.has(line.id) ? CheckCircle : XCircle,
35752
35752
  size: "xs",
35753
- className: flaggedLines.has(line.id) ? "text-green-600 mt-0.5" : "text-yellow-600 mt-0.5"
35753
+ className: flaggedLines.has(line.id) ? "text-success mt-0.5" : "text-warning mt-0.5"
35754
35754
  }
35755
35755
  ),
35756
35756
  /* @__PURE__ */ jsxs(VStack, { gap: "none", children: [
@@ -35759,7 +35759,7 @@ function DebuggerBoard({
35759
35759
  ] })
35760
35760
  ] }, line.id))
35761
35761
  ] }) }),
35762
- 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 }) }),
35762
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
35763
35763
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
35764
35764
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: flaggedLines.size === 0, children: [
35765
35765
  /* @__PURE__ */ jsx(Icon, { icon: Send, size: "sm" }),
@@ -36482,7 +36482,7 @@ function LinearView({
36482
36482
  className
36483
36483
  }) {
36484
36484
  const currentIdx = trait.states.indexOf(trait.currentState);
36485
- return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
36485
+ return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
36486
36486
  trait.description && /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: trait.description }),
36487
36487
  /* @__PURE__ */ jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
36488
36488
  const isDone = i < currentIdx;
@@ -36504,10 +36504,10 @@ function LinearView({
36504
36504
  {
36505
36505
  display: "inline-flex",
36506
36506
  className: cn(
36507
- "items-center justify-center rounded-full px-3 py-1 border-2 transition-all",
36507
+ "items-center justify-center rounded-pill px-3 py-1 border-2 transition-all",
36508
36508
  SIZE_CONFIG2[size || "md"].fontSize,
36509
36509
  isDone && "bg-success/20 border-success text-success",
36510
- isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-md shadow-primary/20",
36510
+ isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-elevation-card shadow-primary/20",
36511
36511
  !isDone && !isCurrent && "bg-muted border-border text-muted-foreground"
36512
36512
  ),
36513
36513
  children: [
@@ -36529,7 +36529,7 @@ function CompactView({
36529
36529
  const { t } = useTranslate();
36530
36530
  const config = SIZE_CONFIG2[size || "md"];
36531
36531
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
36532
- return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
36532
+ return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
36533
36533
  /* @__PURE__ */ jsxs(HStack, { className: "items-center justify-between", children: [
36534
36534
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
36535
36535
  /* @__PURE__ */ jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -36565,7 +36565,7 @@ function FullView({
36565
36565
  const { t } = useTranslate();
36566
36566
  const config = SIZE_CONFIG2[size || "md"];
36567
36567
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
36568
- return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
36568
+ return /* @__PURE__ */ jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
36569
36569
  /* @__PURE__ */ jsxs(HStack, { className: "items-center justify-between", children: [
36570
36570
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
36571
36571
  /* @__PURE__ */ jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -36579,9 +36579,9 @@ function FullView({
36579
36579
  {
36580
36580
  display: "flex",
36581
36581
  className: cn(
36582
- "items-center justify-center rounded-md border-2 transition-all px-2",
36582
+ "items-center justify-center rounded-container border-2 transition-all px-2",
36583
36583
  config.nodeSize,
36584
- isCurrent && "bg-primary/20 border-primary shadow-md shadow-primary/20",
36584
+ isCurrent && "bg-primary/20 border-primary shadow-elevation-card shadow-primary/20",
36585
36585
  !isCurrent && hasOutgoing && "bg-muted border-border hover:border-muted-foreground",
36586
36586
  !isCurrent && !hasOutgoing && "bg-background border-border opacity-60",
36587
36587
  onStateClick && "cursor-pointer"
@@ -37011,7 +37011,7 @@ function EventHandlerBoard({
37011
37011
  backgroundPosition: "center"
37012
37012
  },
37013
37013
  children: [
37014
- 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,
37014
+ 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,
37015
37015
  /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
37016
37016
  /* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
37017
37017
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -37026,7 +37026,7 @@ function EventHandlerBoard({
37026
37026
  Box,
37027
37027
  {
37028
37028
  className: cn(
37029
- "p-3 rounded-lg border-2 cursor-pointer transition-all hover:scale-105",
37029
+ "p-3 rounded-container border-2 cursor-pointer transition-all hover:scale-105",
37030
37030
  selectedObjectId === obj.id ? "border-primary bg-primary/10" : "border-border bg-card hover:border-muted-foreground"
37031
37031
  ),
37032
37032
  onClick: () => setSelectedObjectId(obj.id),
@@ -37048,10 +37048,10 @@ function EventHandlerBoard({
37048
37048
  }
37049
37049
  ),
37050
37050
  eventLog.length > 0 && /* @__PURE__ */ jsx(EventLog, { entries: eventLog }),
37051
- 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") }) }),
37051
+ 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") }) }),
37052
37052
  playState === "fail" && /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
37053
- /* @__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) }) }),
37054
- 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: [
37053
+ /* @__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) }) }),
37054
+ 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: [
37055
37055
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
37056
37056
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
37057
37057
  ] }) })
@@ -40224,7 +40224,7 @@ function NegotiatorBoard({
40224
40224
  backgroundPosition: "center"
40225
40225
  },
40226
40226
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
40227
- 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,
40227
+ 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,
40228
40228
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
40229
40229
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
40230
40230
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description }),
@@ -40270,7 +40270,7 @@ function NegotiatorBoard({
40270
40270
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: "vs" }),
40271
40271
  /* @__PURE__ */ jsx(Typography, { variant: "caption", children: getActionLabel(round.opponentAction) }),
40272
40272
  /* @__PURE__ */ jsx(Icon, { icon: ArrowRight, size: "xs" }),
40273
- /* @__PURE__ */ jsxs(Typography, { variant: "caption", weight: "bold", className: "text-green-600", children: [
40273
+ /* @__PURE__ */ jsxs(Typography, { variant: "caption", weight: "bold", className: "text-success", children: [
40274
40274
  "+",
40275
40275
  round.playerPayoff
40276
40276
  ] }),
@@ -40281,7 +40281,7 @@ function NegotiatorBoard({
40281
40281
  ] }, round.round))
40282
40282
  ] }) }),
40283
40283
  isComplete && /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", align: "center", children: [
40284
- /* @__PURE__ */ jsx(Icon, { icon: CheckCircle, size: "lg", className: won ? "text-green-600" : "text-red-600" }),
40284
+ /* @__PURE__ */ jsx(Icon, { icon: CheckCircle, size: "lg", className: won ? "text-success" : "text-error" }),
40285
40285
  /* @__PURE__ */ jsx(Typography, { variant: "body", weight: "bold", children: won ? entity.successMessage ?? t("negotiator.success") : entity.failMessage ?? t("negotiator.failed") }),
40286
40286
  /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
40287
40287
  t("negotiator.finalScore"),
@@ -40291,7 +40291,7 @@ function NegotiatorBoard({
40291
40291
  entity.targetScore
40292
40292
  ] })
40293
40293
  ] }) }),
40294
- 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 }) }),
40294
+ 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 }) }),
40295
40295
  isComplete && !won && /* @__PURE__ */ jsx(HStack, { justify: "center", children: /* @__PURE__ */ jsx(Button, { variant: "primary", onClick: handleReset, children: t("negotiator.playAgain") }) })
40296
40296
  ] })
40297
40297
  }
@@ -42876,7 +42876,7 @@ function TraitSlot({
42876
42876
  display: "flex",
42877
42877
  position: "relative",
42878
42878
  className: cn(
42879
- "items-center justify-center rounded-lg transition-all duration-200",
42879
+ "items-center justify-center rounded-container transition-all duration-200 bg-card/50",
42880
42880
  !locked && "cursor-pointer",
42881
42881
  locked && "cursor-not-allowed opacity-50",
42882
42882
  isEmpty && !locked && "border-2 border-dashed border-border hover:border-muted-foreground",
@@ -42892,7 +42892,7 @@ function TraitSlot({
42892
42892
  style: {
42893
42893
  width: config.box,
42894
42894
  height: config.box,
42895
- backgroundColor: catColor?.bg || "rgba(30,41,59,0.5)",
42895
+ backgroundColor: catColor?.bg || void 0,
42896
42896
  borderColor: isDragOver ? void 0 : feedback === "correct" ? "var(--color-success)" : feedback === "wrong" ? "var(--color-error)" : catColor?.border || void 0
42897
42897
  },
42898
42898
  onClick: handleClick,
@@ -42921,7 +42921,7 @@ function TraitSlot({
42921
42921
  Box,
42922
42922
  {
42923
42923
  position: "absolute",
42924
- 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",
42924
+ 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",
42925
42925
  onClick: handleRemove,
42926
42926
  children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-foreground text-xs leading-none", children: "\xD7" })
42927
42927
  }
@@ -42931,14 +42931,14 @@ function TraitSlot({
42931
42931
  Box,
42932
42932
  {
42933
42933
  position: "absolute",
42934
- className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-full flex items-center justify-center border border-border",
42934
+ className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-pill flex items-center justify-center border border-border",
42935
42935
  children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground text-xs", children: slotNumber })
42936
42936
  }
42937
42937
  ),
42938
42938
  showTooltip && isHovered && itemMachine && !isEmpty && equippedItem && /* @__PURE__ */ jsxs(
42939
42939
  Box,
42940
42940
  {
42941
- className: "p-3 bg-background border border-border rounded-lg shadow-xl",
42941
+ className: "p-3 bg-background border border-border rounded-container shadow-xl",
42942
42942
  style: {
42943
42943
  ...getTooltipStyle(),
42944
42944
  minWidth: 200,
@@ -43188,12 +43188,12 @@ function SequencerBoard({
43188
43188
  backgroundPosition: "center"
43189
43189
  },
43190
43190
  children: [
43191
- 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,
43191
+ 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,
43192
43192
  /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
43193
43193
  /* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
43194
43194
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description })
43195
43195
  ] }),
43196
- 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: [
43196
+ 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: [
43197
43197
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
43198
43198
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
43199
43199
  ] }) }),
@@ -43231,8 +43231,8 @@ function SequencerBoard({
43231
43231
  label: t("sequencer.dragActions")
43232
43232
  }
43233
43233
  ),
43234
- 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) }) }),
43235
- 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") }) }),
43234
+ 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) }) }),
43235
+ 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") }) }),
43236
43236
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", children: [
43237
43237
  /* @__PURE__ */ jsx(
43238
43238
  Button,
@@ -43908,7 +43908,7 @@ function SimulationCanvas({
43908
43908
  ref: canvasRef,
43909
43909
  width,
43910
43910
  height,
43911
- className: "rounded-md block max-w-full h-auto"
43911
+ className: "rounded-container block max-w-full h-auto"
43912
43912
  }
43913
43913
  ) });
43914
43914
  }
@@ -44116,7 +44116,7 @@ function SimulatorBoard({
44116
44116
  backgroundPosition: "center"
44117
44117
  },
44118
44118
  children: /* @__PURE__ */ jsxs(VStack, { gap: "lg", className: "p-4", children: [
44119
- 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,
44119
+ 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,
44120
44120
  /* @__PURE__ */ jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
44121
44121
  /* @__PURE__ */ jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
44122
44122
  /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.description })
@@ -44167,8 +44167,8 @@ function SimulatorBoard({
44167
44167
  entity.outputUnit
44168
44168
  ] }),
44169
44169
  submitted && /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
44170
- /* @__PURE__ */ jsx(Icon, { icon: isCorrect ? CheckCircle : XCircle, size: "sm", className: isCorrect ? "text-green-600" : "text-red-600" }),
44171
- /* @__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") })
44170
+ /* @__PURE__ */ jsx(Icon, { icon: isCorrect ? CheckCircle : XCircle, size: "sm", className: isCorrect ? "text-success" : "text-error" }),
44171
+ /* @__PURE__ */ jsx(Typography, { variant: "body", className: isCorrect ? "text-success" : "text-error", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
44172
44172
  ] }),
44173
44173
  /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
44174
44174
  t("simulator.target"),
@@ -44181,7 +44181,7 @@ function SimulatorBoard({
44181
44181
  ")"
44182
44182
  ] })
44183
44183
  ] }) }),
44184
- 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 }) }),
44184
+ showHint && entity.hint && /* @__PURE__ */ jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsx(Typography, { variant: "body", children: entity.hint }) }),
44185
44185
  /* @__PURE__ */ jsxs(HStack, { gap: "sm", justify: "center", children: [
44186
44186
  !submitted ? /* @__PURE__ */ jsxs(Button, { variant: "primary", onClick: handleSubmit, children: [
44187
44187
  /* @__PURE__ */ jsx(Icon, { icon: Play, size: "sm" }),
@@ -44582,7 +44582,7 @@ function StateNode2({
44582
44582
  position: "absolute",
44583
44583
  display: "flex",
44584
44584
  className: cn(
44585
- "items-center justify-center rounded-full border-3 transition-all cursor-pointer select-none",
44585
+ "items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
44586
44586
  "min-w-[80px] h-[80px] px-3",
44587
44587
  isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
44588
44588
  isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
@@ -44895,7 +44895,7 @@ function StateArchitectBoard({
44895
44895
  backgroundPosition: "center"
44896
44896
  },
44897
44897
  children: [
44898
- 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,
44898
+ 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,
44899
44899
  /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
44900
44900
  /* @__PURE__ */ jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
44901
44901
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -44914,7 +44914,7 @@ function StateArchitectBoard({
44914
44914
  Box,
44915
44915
  {
44916
44916
  position: "relative",
44917
- className: "rounded-lg border border-border bg-background overflow-hidden",
44917
+ className: "rounded-container border border-border bg-background overflow-hidden",
44918
44918
  style: { width: GRAPH_W, height: GRAPH_H },
44919
44919
  children: [
44920
44920
  /* @__PURE__ */ jsxs(
@@ -44973,7 +44973,7 @@ function StateArchitectBoard({
44973
44973
  children: selectedState ? t("stateArchitect.addTransition", { state: selectedState }) : t("stateArchitect.addTransitionPrompt")
44974
44974
  }
44975
44975
  ) }),
44976
- transitions.length > 0 && /* @__PURE__ */ jsxs(VStack, { gap: "xs", className: "p-3 rounded-lg bg-muted/50 border border-border", children: [
44976
+ transitions.length > 0 && /* @__PURE__ */ jsxs(VStack, { gap: "xs", className: "p-3 rounded-container bg-muted/50 border border-border", children: [
44977
44977
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-muted-foreground font-medium", children: t("stateArchitect.transitions", { count: transitions.length }) + ":" }),
44978
44978
  transitions.map((t2) => /* @__PURE__ */ jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
44979
44979
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-foreground", children: t2.from }),
@@ -45007,7 +45007,7 @@ function StateArchitectBoard({
45007
45007
  variables
45008
45008
  }
45009
45009
  ),
45010
- testResults.length > 0 && /* @__PURE__ */ jsxs(VStack, { className: "p-3 rounded-lg bg-card border border-border", gap: "xs", children: [
45010
+ testResults.length > 0 && /* @__PURE__ */ jsxs(VStack, { className: "p-3 rounded-container bg-card border border-border", gap: "xs", children: [
45011
45011
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.testResults") + ":" }),
45012
45012
  testResults.map((r, i) => /* @__PURE__ */ jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
45013
45013
  /* @__PURE__ */ jsx(Typography, { variant: "caption", className: r.passed ? "text-success" : "text-error", children: r.passed ? "\u2714" : "\u2717" }),
@@ -45018,10 +45018,10 @@ function StateArchitectBoard({
45018
45018
  entity.showCodeView !== false && /* @__PURE__ */ jsx(CodeView, { data: codeData, label: "View Code" })
45019
45019
  ] })
45020
45020
  ] }),
45021
- 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") }) }),
45021
+ 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") }) }),
45022
45022
  playState === "fail" && /* @__PURE__ */ jsxs(VStack, { gap: "sm", children: [
45023
- /* @__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]) }) }),
45024
- 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: [
45023
+ /* @__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]) }) }),
45024
+ 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: [
45025
45025
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
45026
45026
  /* @__PURE__ */ jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
45027
45027
  ] }) })