@almadar/ui 5.9.6 → 5.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6770,7 +6770,7 @@ function HealthBar({
6770
6770
  "div",
6771
6771
  {
6772
6772
  className: cn(
6773
- "relative overflow-hidden rounded-full bg-gray-700",
6773
+ "relative overflow-hidden rounded-full bg-muted",
6774
6774
  sizes.bar,
6775
6775
  "w-24",
6776
6776
  className
@@ -6780,7 +6780,7 @@ function HealthBar({
6780
6780
  {
6781
6781
  className: cn(
6782
6782
  "absolute inset-y-0 left-0 rounded-full",
6783
- percentage > 66 ? "bg-green-500" : percentage > 33 ? "bg-yellow-500" : "bg-red-500",
6783
+ percentage > 66 ? "bg-success" : percentage > 33 ? "bg-warning" : "bg-error",
6784
6784
  animated && "transition-all duration-300"
6785
6785
  ),
6786
6786
  style: { width: `${percentage}%` }
@@ -6802,7 +6802,7 @@ var init_HealthBar = __esm({
6802
6802
  heartIcon = (filled, size) => /* @__PURE__ */ jsxRuntime.jsx(
6803
6803
  "svg",
6804
6804
  {
6805
- className: cn("transition-all duration-200", size, filled ? "text-red-500" : "text-gray-400"),
6805
+ className: cn("transition-all duration-200", size, filled ? "text-error" : "text-muted-foreground"),
6806
6806
  viewBox: "0 0 24 24",
6807
6807
  fill: filled ? "currentColor" : "none",
6808
6808
  stroke: "currentColor",
@@ -6866,7 +6866,7 @@ function ScoreDisplay({
6866
6866
  ),
6867
6867
  children: [
6868
6868
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: icon }),
6869
- label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: label }),
6869
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: label }),
6870
6870
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tabular-nums", children: formattedValue })
6871
6871
  ]
6872
6872
  }
@@ -6979,8 +6979,8 @@ var init_ControlButton = __esm({
6979
6979
  };
6980
6980
  shapeMap = {
6981
6981
  circle: "rounded-full",
6982
- rounded: "rounded-xl",
6983
- square: "rounded-md"
6982
+ rounded: "rounded-interactive",
6983
+ square: "rounded-interactive"
6984
6984
  };
6985
6985
  variantMap = {
6986
6986
  primary: "bg-primary text-primary-foreground border-primary hover:bg-primary-hover",
@@ -7148,12 +7148,12 @@ function TimerDisplay({
7148
7148
  "div",
7149
7149
  {
7150
7150
  className: cn(
7151
- "inline-flex items-center justify-center rounded-lg",
7152
- "bg-[var(--color-card)]/80 border border-gray-600 font-mono font-bold tabular-nums",
7151
+ "inline-flex items-center justify-center rounded-container",
7152
+ "bg-card/80 border border-muted font-mono font-bold tabular-nums",
7153
7153
  sizeMap4[size],
7154
- running && "border-green-500/50",
7155
- isLow && "text-red-400 border-red-500/50 animate-pulse",
7156
- !isLow && "text-[var(--color-foreground)]",
7154
+ running && "border-success/50",
7155
+ isLow && "text-error border-error/50 animate-pulse",
7156
+ !isLow && "text-foreground",
7157
7157
  className
7158
7158
  ),
7159
7159
  children: formatTime(seconds, format)
@@ -7186,17 +7186,17 @@ function ResourceCounter({
7186
7186
  "div",
7187
7187
  {
7188
7188
  className: cn(
7189
- "inline-flex items-center rounded-md",
7190
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
7189
+ "inline-flex items-center rounded-container",
7190
+ "bg-card/80 border border-muted font-medium text-foreground",
7191
7191
  sizes.wrapper,
7192
7192
  className
7193
7193
  ),
7194
7194
  children: [
7195
7195
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("flex-shrink-0", sizes.icon), children: icon }),
7196
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: label }),
7196
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: label }),
7197
7197
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("font-bold tabular-nums", color), children: [
7198
7198
  value,
7199
- max != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-500", children: [
7199
+ max != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
7200
7200
  "/",
7201
7201
  max
7202
7202
  ] })
@@ -7237,18 +7237,18 @@ function ItemSlot({
7237
7237
  disabled: !isClickable,
7238
7238
  title: label,
7239
7239
  className: cn(
7240
- "relative flex items-center justify-center rounded-lg border-2",
7241
- "bg-[var(--color-card)]/80 transition-all duration-150",
7240
+ "relative flex items-center justify-center rounded-interactive border-2",
7241
+ "bg-card/80 transition-all duration-150",
7242
7242
  sizeMap6[size],
7243
- empty ? "border-gray-700 bg-[var(--color-card)]/50" : rarityBorderMap[rarity],
7243
+ empty ? "border-border bg-card/50" : rarityBorderMap[rarity],
7244
7244
  !empty && rarityGlowMap[rarity],
7245
- selected && "ring-2 ring-white ring-offset-1 ring-offset-gray-900",
7245
+ selected && "ring-2 ring-foreground ring-offset-1 ring-offset-background",
7246
7246
  isClickable && !empty && "hover:brightness-125 cursor-pointer",
7247
- isClickable && empty && "hover:border-gray-500 cursor-pointer",
7247
+ isClickable && empty && "hover:border-muted cursor-pointer",
7248
7248
  !isClickable && "cursor-default",
7249
7249
  className
7250
7250
  ),
7251
- children: empty ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600 text-base", children: "+" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7251
+ children: empty ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7252
7252
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: icon }),
7253
7253
  quantity != null && quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx(
7254
7254
  "span",
@@ -7256,7 +7256,7 @@ function ItemSlot({
7256
7256
  className: cn(
7257
7257
  "absolute -bottom-1 -right-1 flex items-center justify-center",
7258
7258
  "min-w-[18px] h-[18px] rounded-full px-1",
7259
- "bg-[var(--color-surface,#374151)] border border-gray-500 text-xs font-bold text-[var(--color-foreground)]"
7259
+ "bg-surface border border-muted text-xs font-bold text-foreground"
7260
7260
  ),
7261
7261
  children: quantity
7262
7262
  }
@@ -7276,18 +7276,18 @@ var init_ItemSlot = __esm({
7276
7276
  lg: "w-18 h-18 text-3xl"
7277
7277
  };
7278
7278
  rarityBorderMap = {
7279
- common: "border-gray-500",
7280
- uncommon: "border-green-500",
7281
- rare: "border-blue-500",
7282
- epic: "border-purple-500",
7283
- legendary: "border-amber-400"
7279
+ common: "border-muted",
7280
+ uncommon: "border-success",
7281
+ rare: "border-info",
7282
+ epic: "border-accent",
7283
+ legendary: "border-warning"
7284
7284
  };
7285
7285
  rarityGlowMap = {
7286
7286
  common: "",
7287
7287
  uncommon: "",
7288
- rare: "shadow-[0_0_6px_rgba(59,130,246,0.3)]",
7289
- epic: "shadow-[0_0_8px_rgba(168,85,247,0.4)]",
7290
- legendary: "shadow-[0_0_10px_rgba(251,191,36,0.5)]"
7288
+ rare: "shadow-sm",
7289
+ epic: "shadow-lg",
7290
+ legendary: "shadow-lg"
7291
7291
  };
7292
7292
  ItemSlot.displayName = "ItemSlot";
7293
7293
  }
@@ -7305,8 +7305,8 @@ function TurnIndicator({
7305
7305
  "div",
7306
7306
  {
7307
7307
  className: cn(
7308
- "inline-flex items-center rounded-lg",
7309
- "bg-[var(--color-card)]/80 border border-gray-600 font-medium text-[var(--color-foreground)]",
7308
+ "inline-flex items-center rounded-container",
7309
+ "bg-card/80 border border-muted font-medium text-foreground",
7310
7310
  sizes.wrapper,
7311
7311
  className
7312
7312
  ),
@@ -7314,19 +7314,19 @@ function TurnIndicator({
7314
7314
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-bold tabular-nums", children: [
7315
7315
  "Turn ",
7316
7316
  currentTurn,
7317
- maxTurns != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-400", children: [
7317
+ maxTurns != null && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
7318
7318
  "/",
7319
7319
  maxTurns
7320
7320
  ] })
7321
7321
  ] }),
7322
7322
  phase && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7323
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600", children: "|" }),
7324
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-300", children: phase })
7323
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "|" }),
7324
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: phase })
7325
7325
  ] }),
7326
7326
  activeTeam && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7327
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-600", children: "|" }),
7328
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("rounded-full bg-green-500/20", sizes.dot) }),
7329
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-green-400", children: activeTeam })
7327
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "|" }),
7328
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("rounded-full bg-success/20", sizes.dot) }),
7329
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-success", children: activeTeam })
7330
7330
  ] })
7331
7331
  ]
7332
7332
  }
@@ -7345,10 +7345,10 @@ var init_TurnIndicator = __esm({
7345
7345
  }
7346
7346
  });
7347
7347
  function getComboIntensity(combo) {
7348
- if (combo >= 10) return "text-red-400 animate-pulse";
7349
- if (combo >= 7) return "text-orange-400";
7350
- if (combo >= 4) return "text-yellow-400";
7351
- return "text-[var(--color-foreground)]";
7348
+ if (combo >= 10) return "text-error animate-pulse";
7349
+ if (combo >= 7) return "text-warning";
7350
+ if (combo >= 4) return "text-warning";
7351
+ return "text-foreground";
7352
7352
  }
7353
7353
  function getComboScale(combo) {
7354
7354
  if (combo >= 10) return "scale-110";
@@ -7369,19 +7369,19 @@ function ComboCounter({
7369
7369
  {
7370
7370
  className: cn(
7371
7371
  "inline-flex flex-col items-center justify-center",
7372
- "rounded-xl bg-[var(--color-card)]/80 border border-gray-600 px-3 py-1.5",
7372
+ "rounded-container bg-card/80 border border-muted px-3 py-1.5",
7373
7373
  "transition-transform duration-200",
7374
7374
  getComboScale(combo),
7375
7375
  className
7376
7376
  ),
7377
7377
  children: [
7378
7378
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-black tabular-nums leading-none", sizes.combo, getComboIntensity(combo)), children: combo }),
7379
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-bold uppercase tracking-wider text-gray-400", sizes.label), children: "combo" }),
7380
- multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("font-bold text-amber-400 tabular-nums", sizes.multiplier), children: [
7379
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-bold uppercase tracking-wider text-muted-foreground", sizes.label), children: "combo" }),
7380
+ multiplier != null && multiplier > 1 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("font-bold text-warning tabular-nums", sizes.multiplier), children: [
7381
7381
  "x",
7382
7382
  multiplier.toFixed(1)
7383
7383
  ] }),
7384
- streak != null && streak > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-gray-500 tabular-nums", sizes.label), children: [
7384
+ streak != null && streak > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.label), children: [
7385
7385
  streak,
7386
7386
  " streak"
7387
7387
  ] })
@@ -7417,8 +7417,8 @@ function XPBar({
7417
7417
  "span",
7418
7418
  {
7419
7419
  className: cn(
7420
- "flex-shrink-0 rounded-md font-bold",
7421
- "bg-indigo-600 text-white border border-indigo-400",
7420
+ "flex-shrink-0 rounded-interactive font-bold",
7421
+ "bg-accent text-foreground border border-accent",
7422
7422
  sizes.badge
7423
7423
  ),
7424
7424
  children: [
@@ -7432,7 +7432,7 @@ function XPBar({
7432
7432
  "div",
7433
7433
  {
7434
7434
  className: cn(
7435
- "relative w-full overflow-hidden rounded-full bg-gray-700 border border-gray-600",
7435
+ "relative w-full overflow-hidden rounded-full bg-muted border border-muted",
7436
7436
  sizes.bar
7437
7437
  ),
7438
7438
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -7440,7 +7440,7 @@ function XPBar({
7440
7440
  {
7441
7441
  className: cn(
7442
7442
  "absolute inset-y-0 left-0 rounded-full",
7443
- "bg-gradient-to-r from-indigo-600 to-purple-500",
7443
+ "bg-gradient-to-r from-accent to-info",
7444
7444
  animated && "transition-all duration-500 ease-out"
7445
7445
  ),
7446
7446
  style: { width: `${percentage}%` }
@@ -7448,7 +7448,7 @@ function XPBar({
7448
7448
  )
7449
7449
  }
7450
7450
  ),
7451
- showLabel && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-gray-400 tabular-nums", sizes.text), children: [
7451
+ showLabel && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-muted-foreground tabular-nums", sizes.text), children: [
7452
7452
  current,
7453
7453
  " / ",
7454
7454
  max,
@@ -7484,7 +7484,7 @@ function WaypointMarker({
7484
7484
  "div",
7485
7485
  {
7486
7486
  className: cn(
7487
- "absolute rounded-full border-2 border-blue-400 animate-ping opacity-50",
7487
+ "absolute rounded-full border-2 border-info animate-ping opacity-50",
7488
7488
  sizes.ring
7489
7489
  )
7490
7490
  }
@@ -7493,7 +7493,7 @@ function WaypointMarker({
7493
7493
  "div",
7494
7494
  {
7495
7495
  className: cn(
7496
- "absolute rounded-full border-2 border-blue-400",
7496
+ "absolute rounded-full border-2 border-info",
7497
7497
  sizes.ring
7498
7498
  )
7499
7499
  }
@@ -7504,9 +7504,9 @@ function WaypointMarker({
7504
7504
  className: cn(
7505
7505
  "relative flex items-center justify-center rounded-full transition-all duration-200",
7506
7506
  sizes.dot,
7507
- completed && "bg-green-500 text-white",
7508
- active && !completed && "bg-blue-500 text-white",
7509
- !active && !completed && "bg-gray-500"
7507
+ completed && "bg-success text-foreground",
7508
+ active && !completed && "bg-info text-foreground",
7509
+ !active && !completed && "bg-muted"
7510
7510
  ),
7511
7511
  children: completed ? checkIcon : icon
7512
7512
  }
@@ -7518,7 +7518,7 @@ function WaypointMarker({
7518
7518
  className: cn(
7519
7519
  "text-center whitespace-nowrap",
7520
7520
  sizes.label,
7521
- completed ? "text-green-400" : active ? "text-blue-400" : "text-gray-400"
7521
+ completed ? "text-success" : active ? "text-info" : "text-muted-foreground"
7522
7522
  ),
7523
7523
  children: label
7524
7524
  }
@@ -7559,7 +7559,7 @@ function StatusEffect({
7559
7559
  "div",
7560
7560
  {
7561
7561
  className: cn(
7562
- "relative flex items-center justify-center rounded border-2",
7562
+ "relative flex items-center justify-center rounded-interactive border-2",
7563
7563
  sizes.container,
7564
7564
  variantStyles7[variant]
7565
7565
  ),
@@ -7570,7 +7570,7 @@ function StatusEffect({
7570
7570
  "span",
7571
7571
  {
7572
7572
  className: cn(
7573
- "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-white bg-black/60 leading-tight",
7573
+ "absolute bottom-0 left-0 right-0 text-center font-mono font-bold text-foreground bg-background/60 leading-tight",
7574
7574
  sizes.timer
7575
7575
  ),
7576
7576
  children: formatDuration(duration)
@@ -7583,7 +7583,7 @@ function StatusEffect({
7583
7583
  "span",
7584
7584
  {
7585
7585
  className: cn(
7586
- "absolute flex items-center justify-center rounded-full bg-[var(--color-card)] text-[var(--color-foreground)] font-bold leading-none",
7586
+ "absolute flex items-center justify-center rounded-full bg-card text-foreground font-bold leading-none",
7587
7587
  sizes.badge
7588
7588
  ),
7589
7589
  children: stacks
@@ -7602,9 +7602,9 @@ var init_StatusEffect = __esm({
7602
7602
  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" }
7603
7603
  };
7604
7604
  variantStyles7 = {
7605
- buff: "border-green-500 bg-green-500/20",
7606
- debuff: "border-red-500 bg-red-500/20",
7607
- neutral: "border-gray-500 bg-gray-500/20"
7605
+ buff: "border-success bg-success/20",
7606
+ debuff: "border-error bg-error/20",
7607
+ neutral: "border-muted bg-muted/20"
7608
7608
  };
7609
7609
  StatusEffect.displayName = "StatusEffect";
7610
7610
  }
@@ -7643,10 +7643,10 @@ var init_DamageNumber = __esm({
7643
7643
  lg: "text-2xl"
7644
7644
  };
7645
7645
  typeStyles = {
7646
- damage: "text-red-500 font-bold",
7647
- heal: "text-green-500 font-bold",
7648
- crit: "text-orange-400 font-extrabold",
7649
- miss: "text-gray-400 italic"
7646
+ damage: "text-error font-bold",
7647
+ heal: "text-success font-bold",
7648
+ crit: "text-warning font-extrabold",
7649
+ miss: "text-muted-foreground italic"
7650
7650
  };
7651
7651
  floatKeyframes = `
7652
7652
  @keyframes damageFloat {
@@ -7669,12 +7669,12 @@ function DialogueBubble({
7669
7669
  "div",
7670
7670
  {
7671
7671
  className: cn(
7672
- "flex items-start gap-3 rounded-lg bg-black/80 backdrop-blur-sm px-4 py-3 border border-white/10",
7672
+ "flex items-start gap-3 rounded-container bg-background/80 backdrop-blur-sm px-4 py-3 border border-border/10",
7673
7673
  position === "top" ? "rounded-bl-none" : "rounded-tl-none",
7674
7674
  className
7675
7675
  ),
7676
7676
  children: [
7677
- portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-yellow-400/60", children: /* @__PURE__ */ jsxRuntime.jsx(
7677
+ portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden border-2 border-warning/60", children: /* @__PURE__ */ jsxRuntime.jsx(
7678
7678
  "img",
7679
7679
  {
7680
7680
  src: portrait,
@@ -7683,8 +7683,8 @@ function DialogueBubble({
7683
7683
  }
7684
7684
  ) }),
7685
7685
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 min-w-0", children: [
7686
- speaker && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-yellow-400", children: speaker }),
7687
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-[var(--color-foreground)] leading-relaxed", children: text })
7686
+ speaker && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-warning", children: speaker }),
7687
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-foreground leading-relaxed", children: text })
7688
7688
  ] })
7689
7689
  ]
7690
7690
  }
@@ -7711,7 +7711,7 @@ function ChoiceButton({
7711
7711
  disabled,
7712
7712
  onClick,
7713
7713
  className: cn(
7714
- "w-full text-left px-4 py-2.5 rounded-md border transition-all duration-150",
7714
+ "w-full text-left px-4 py-2.5 rounded-interactive border transition-all duration-150",
7715
7715
  "flex items-center gap-2",
7716
7716
  selected ? "bg-accent/15 border-accent text-foreground" : "bg-muted/40 border-border text-foreground hover:bg-muted hover:border-border",
7717
7717
  disabled && "opacity-40 cursor-not-allowed hover:bg-muted/40 hover:border-border",
@@ -7764,7 +7764,7 @@ function ActionButton({
7764
7764
  disabled: isDisabled,
7765
7765
  onClick,
7766
7766
  className: cn(
7767
- "relative inline-flex items-center gap-1.5 rounded-md border font-medium overflow-hidden transition-colors duration-150",
7767
+ "relative inline-flex items-center gap-1.5 rounded-interactive border font-medium overflow-hidden transition-colors duration-150",
7768
7768
  sizes.button,
7769
7769
  variantStyles8[variant],
7770
7770
  isDisabled && "opacity-60 cursor-not-allowed",
@@ -7807,9 +7807,9 @@ var init_ActionButton = __esm({
7807
7807
  init_cn();
7808
7808
  init_Icon();
7809
7809
  sizeMap13 = {
7810
- sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
7811
- md: { button: "px-4 py-2 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
7812
- lg: { button: "px-5 py-2.5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
7810
+ sm: { button: "h-button-sm px-3 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
7811
+ md: { button: "h-button-md px-4 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
7812
+ lg: { button: "h-button-lg px-5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
7813
7813
  };
7814
7814
  variantStyles8 = {
7815
7815
  primary: "bg-primary text-primary-foreground hover:bg-primary-hover border-primary",
@@ -7889,7 +7889,7 @@ function MiniMap({
7889
7889
  "div",
7890
7890
  {
7891
7891
  className: cn(
7892
- "relative inline-block border border-white/20 rounded",
7892
+ "relative inline-block border border-border/20 rounded-container",
7893
7893
  className
7894
7894
  ),
7895
7895
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -10961,7 +10961,7 @@ function ActionTile({
10961
10961
  {
10962
10962
  display: "flex",
10963
10963
  className: cn(
10964
- "flex-col items-center gap-1 rounded-lg border-2 transition-all select-none",
10964
+ "flex-col items-center gap-1 rounded-container border-2 transition-all select-none",
10965
10965
  config.px,
10966
10966
  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",
10967
10967
  className
@@ -12261,12 +12261,12 @@ function IsometricCanvas({
12261
12261
  return /* @__PURE__ */ jsxRuntime.jsx(
12262
12262
  Box,
12263
12263
  {
12264
- className: cn("relative w-full overflow-hidden rounded-lg", className),
12264
+ className: cn("relative w-full overflow-hidden rounded-container", className),
12265
12265
  style: { height: viewportSize.height },
12266
12266
  "data-testid": "game-canvas-empty",
12267
- children: /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsxs(Stack, { direction: "vertical", gap: "md", align: "center", children: [
12267
+ children: /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex items-center justify-center h-full bg-[var(--color-card)] rounded-container", children: /* @__PURE__ */ jsxRuntime.jsxs(Stack, { direction: "vertical", gap: "md", align: "center", children: [
12268
12268
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "map", size: "xl" }),
12269
- /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", className: "text-slate-400", children: t("canvas.emptyMessage") || "No map data loaded" })
12269
+ /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", className: "text-muted-foreground", children: t("canvas.emptyMessage") || "No map data loaded" })
12270
12270
  ] }) })
12271
12271
  }
12272
12272
  );
@@ -12664,19 +12664,19 @@ function BattleBoard({
12664
12664
  }
12665
12665
  )
12666
12666
  ] }),
12667
- gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-black/70 backdrop-blur-sm rounded-xl", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: "text-center p-8", gap: "lg", children: [
12667
+ gameResult && (gameOverOverlay ? gameOverOverlay(ctx) : /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "absolute inset-0 z-50 flex items-center justify-center bg-background/70 backdrop-blur-sm rounded-container", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: "text-center p-8", gap: "lg", children: [
12668
12668
  /* @__PURE__ */ jsxRuntime.jsx(
12669
12669
  Typography,
12670
12670
  {
12671
12671
  variant: "h2",
12672
12672
  className: cn(
12673
12673
  "text-4xl font-black tracking-widest uppercase",
12674
- gameResult === "victory" ? "text-yellow-400" : "text-red-500"
12674
+ gameResult === "victory" ? "text-warning" : "text-error"
12675
12675
  ),
12676
12676
  children: gameResult === "victory" ? t("battle.victory") : t("battle.defeat")
12677
12677
  }
12678
12678
  ),
12679
- /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "body1", className: "text-gray-300", children: [
12679
+ /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "body1", className: "text-muted-foreground", children: [
12680
12680
  t("battle.turnsPlayed"),
12681
12681
  ": ",
12682
12682
  currentTurn
@@ -17553,7 +17553,7 @@ function BuilderBoard({
17553
17553
  backgroundPosition: "center"
17554
17554
  },
17555
17555
  children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "lg", className: "p-4", children: [
17556
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
17556
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
17557
17557
  /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
17558
17558
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
17559
17559
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.description })
@@ -17591,7 +17591,7 @@ function BuilderBoard({
17591
17591
  {
17592
17592
  gap: "sm",
17593
17593
  align: "center",
17594
- className: `p-3 border-2 rounded ${result ? result.correct ? "border-green-500" : "border-red-500" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
17594
+ className: `p-3 border-2 rounded ${result ? result.correct ? "border-success" : "border-error" : selectedComponent ? "border-dashed border-foreground cursor-pointer" : "border-border"}`,
17595
17595
  onClick: () => handlePlaceComponent(slot.id),
17596
17596
  children: [
17597
17597
  /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: "flex-1", children: [
@@ -17606,7 +17606,7 @@ function BuilderBoard({
17606
17606
  ] }) : null,
17607
17607
  placedComp.label
17608
17608
  ] }),
17609
- result && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: result.correct ? "text-green-600" : "text-red-600" })
17609
+ result && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: result.correct ? "text-success" : "text-error" })
17610
17610
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: t("builder.empty") })
17611
17611
  ]
17612
17612
  },
@@ -17615,10 +17615,10 @@ function BuilderBoard({
17615
17615
  }) })
17616
17616
  ] }) }),
17617
17617
  submitted && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", align: "center", children: [
17618
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
17618
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
17619
17619
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("builder.success") : entity.failMessage ?? t("builder.incorrect") })
17620
17620
  ] }) }),
17621
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
17621
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
17622
17622
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", justify: "center", children: [
17623
17623
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allPlaced, children: [
17624
17624
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Wrench, size: "sm" }),
@@ -19240,7 +19240,7 @@ function CanvasEffectEngine({
19240
19240
  flash && /* @__PURE__ */ jsxRuntime.jsx(
19241
19241
  Box,
19242
19242
  {
19243
- className: "absolute inset-0 z-20 pointer-events-none rounded-lg",
19243
+ className: "absolute inset-0 z-20 pointer-events-none rounded-container",
19244
19244
  style: { backgroundColor: flash.color, opacity: flash.alpha }
19245
19245
  }
19246
19246
  ),
@@ -19308,7 +19308,7 @@ function EmojiEffect({
19308
19308
  /* @__PURE__ */ jsxRuntime.jsx(
19309
19309
  Box,
19310
19310
  {
19311
- className: "absolute rounded-full animate-ping",
19311
+ className: "absolute rounded-pill animate-ping",
19312
19312
  style: {
19313
19313
  width: 48 * intensity,
19314
19314
  height: 48 * intensity,
@@ -21125,7 +21125,7 @@ function ClassifierBoard({
21125
21125
  backgroundPosition: "center"
21126
21126
  },
21127
21127
  children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "lg", className: "p-4", children: [
21128
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
21128
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
21129
21129
  /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
21130
21130
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
21131
21131
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.description })
@@ -21140,7 +21140,7 @@ function ClassifierBoard({
21140
21140
  /* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "md", children: categories.map((cat) => {
21141
21141
  const catItems = items.filter((item) => assignments[item.id] === cat.id);
21142
21142
  return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
21143
- cat.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-16 overflow-hidden rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
21143
+ cat.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-16 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: cat.imageUrl, alt: "", className: "w-full h-full object-cover" }) }),
21144
21144
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { justify: "between", align: "center", children: [
21145
21145
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", weight: "bold", children: cat.label }),
21146
21146
  /* @__PURE__ */ jsxRuntime.jsx(Badge, { size: "sm", children: catItems.length })
@@ -21151,12 +21151,12 @@ function ClassifierBoard({
21151
21151
  Badge,
21152
21152
  {
21153
21153
  size: "sm",
21154
- 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" : ""}`,
21154
+ className: `cursor-pointer ${result ? result.correct ? "border-success bg-success/10" : "border-error bg-error/10" : ""}`,
21155
21155
  onClick: () => handleUnassign(item.id),
21156
21156
  children: [
21157
21157
  item.iconUrl && /* @__PURE__ */ jsxRuntime.jsx("img", { src: item.iconUrl, alt: "", className: "w-3 h-3 object-contain inline-block" }),
21158
21158
  item.label,
21159
- result && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "xs", className: result.correct ? "text-green-600" : "text-red-600" })
21159
+ result && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: result.correct ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "xs", className: result.correct ? "text-success" : "text-error" })
21160
21160
  ]
21161
21161
  },
21162
21162
  item.id
@@ -21179,11 +21179,11 @@ function ClassifierBoard({
21179
21179
  ] }) }, cat.id);
21180
21180
  }) }),
21181
21181
  submitted && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", align: "center", children: [
21182
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-green-600" : "text-red-600" }),
21182
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: allCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "lg", className: allCorrect ? "text-success" : "text-error" }),
21183
21183
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", weight: "bold", children: allCorrect ? entity.successMessage ?? t("classifier.allCorrect") : `${correctCount}/${items.length} ${t("classifier.correct")}` }),
21184
21184
  !allCorrect && entity.failMessage && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", className: "text-muted-foreground", children: entity.failMessage })
21185
21185
  ] }) }),
21186
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
21186
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
21187
21187
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", justify: "center", children: [
21188
21188
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: !allAssigned, children: [
21189
21189
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Send, size: "sm" }),
@@ -22231,7 +22231,7 @@ function CraftingRecipe({
22231
22231
  Box,
22232
22232
  {
22233
22233
  className: cn(
22234
- "flex flex-wrap items-center gap-3 rounded-lg bg-gray-800/50 border border-gray-700/50 p-3",
22234
+ "flex flex-wrap items-center gap-3 rounded-container bg-muted/50 border border-border/50 p-3",
22235
22235
  className
22236
22236
  ),
22237
22237
  children: [
@@ -22248,10 +22248,10 @@ function CraftingRecipe({
22248
22248
  className: cn(!hasSufficient && "opacity-50")
22249
22249
  }
22250
22250
  ) }),
22251
- index < inputs.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "plus", size: "sm", className: "text-gray-500" })
22251
+ index < inputs.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "plus", size: "sm", className: "text-muted-foreground" })
22252
22252
  ] }, index);
22253
22253
  }) }),
22254
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "arrow-right", size: "md", className: "text-gray-400" }),
22254
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "arrow-right", size: "md", className: "text-muted-foreground" }),
22255
22255
  /* @__PURE__ */ jsxRuntime.jsx(
22256
22256
  ItemSlot,
22257
22257
  {
@@ -22339,7 +22339,7 @@ function DPad({
22339
22339
  createButton("up"),
22340
22340
  /* @__PURE__ */ jsxRuntime.jsx("div", {}),
22341
22341
  createButton("left"),
22342
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-full bg-gray-700 border-2 border-gray-600" }) }),
22342
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-interactive bg-muted border-2 border-muted-foreground" }) }),
22343
22343
  createButton("right"),
22344
22344
  /* @__PURE__ */ jsxRuntime.jsx("div", {}),
22345
22345
  createButton("down"),
@@ -26524,7 +26524,7 @@ function StatBadge({
26524
26524
  "div",
26525
26525
  {
26526
26526
  className: cn(
26527
- "inline-flex items-center gap-2 rounded-lg border backdrop-blur-sm",
26527
+ "inline-flex items-center gap-2 rounded-container border backdrop-blur-sm",
26528
26528
  sizeMap17[size] ?? sizeMap17.md,
26529
26529
  variantMap2[variant] ?? variantMap2.default,
26530
26530
  className
@@ -26670,10 +26670,10 @@ function QuestTracker({
26670
26670
  Box,
26671
26671
  {
26672
26672
  className: cn(
26673
- "flex items-start gap-3 rounded-lg px-3 py-2 transition-colors",
26674
- isActive && !isCompleted && "bg-blue-900/20 border border-blue-800/50",
26675
- isCompleted && "bg-green-900/10 border border-green-800/30 opacity-70",
26676
- !isActive && !isCompleted && "bg-gray-800/30 border border-gray-700/30"
26673
+ "flex items-start gap-3 rounded-container px-3 py-2 transition-colors",
26674
+ isActive && !isCompleted && "bg-info/20 border border-info/50",
26675
+ isCompleted && "bg-success/10 border border-success/30 opacity-70",
26676
+ !isActive && !isCompleted && "bg-muted/30 border border-border/30"
26677
26677
  ),
26678
26678
  children: [
26679
26679
  /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex-shrink-0 pt-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -26691,9 +26691,9 @@ function QuestTracker({
26691
26691
  variant: "body2",
26692
26692
  className: cn(
26693
26693
  "font-medium truncate",
26694
- isCompleted && "line-through text-gray-500",
26695
- isActive && !isCompleted && "text-blue-300",
26696
- !isActive && !isCompleted && "text-gray-300"
26694
+ isCompleted && "line-through text-muted-foreground",
26695
+ isActive && !isCompleted && "text-info",
26696
+ !isActive && !isCompleted && "text-muted-foreground"
26697
26697
  ),
26698
26698
  children: quest.title
26699
26699
  }
@@ -26711,7 +26711,7 @@ function QuestTracker({
26711
26711
  Typography,
26712
26712
  {
26713
26713
  variant: "caption",
26714
- className: "text-gray-500 mt-1",
26714
+ className: "text-muted-foreground mt-1",
26715
26715
  children: [
26716
26716
  quest.progress,
26717
26717
  " / ",
@@ -26768,14 +26768,14 @@ function PowerupSlots({
26768
26768
  {
26769
26769
  className: cn(
26770
26770
  "absolute -bottom-1 left-1/2 -translate-x-1/2",
26771
- "rounded px-1 py-px",
26772
- "bg-black/80 border border-gray-600"
26771
+ "rounded-interactive px-1 py-px",
26772
+ "bg-background/80 border border-border"
26773
26773
  ),
26774
26774
  children: /* @__PURE__ */ jsxRuntime.jsx(
26775
26775
  Typography,
26776
26776
  {
26777
26777
  variant: "caption",
26778
- className: "text-[9px] font-mono font-bold text-yellow-300 whitespace-nowrap",
26778
+ className: "text-[9px] font-mono font-bold text-warning whitespace-nowrap",
26779
26779
  children: formatTime2(powerup.remainingTime)
26780
26780
  }
26781
26781
  )
@@ -26897,7 +26897,7 @@ function HealthPanel({
26897
26897
  Box,
26898
26898
  {
26899
26899
  className: cn(
26900
- "rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm",
26900
+ "rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm",
26901
26901
  sizes.padding,
26902
26902
  className
26903
26903
  ),
@@ -26908,7 +26908,7 @@ function HealthPanel({
26908
26908
  {
26909
26909
  variant: "caption",
26910
26910
  weight: "bold",
26911
- className: "text-gray-300 uppercase tracking-wider",
26911
+ className: "text-muted-foreground uppercase tracking-wider",
26912
26912
  children: label
26913
26913
  }
26914
26914
  ),
@@ -26929,7 +26929,7 @@ function HealthPanel({
26929
26929
  as: "span",
26930
26930
  variant: "caption",
26931
26931
  weight: "bold",
26932
- className: "text-blue-400 ml-1",
26932
+ className: "text-info ml-1",
26933
26933
  children: [
26934
26934
  "+",
26935
26935
  shield
@@ -26954,14 +26954,14 @@ function HealthPanel({
26954
26954
  Box,
26955
26955
  {
26956
26956
  className: cn(
26957
- "relative overflow-hidden rounded-full bg-gray-700",
26957
+ "relative overflow-hidden rounded-container bg-muted",
26958
26958
  size === "sm" ? "h-1" : size === "md" ? "h-1.5" : "h-2",
26959
26959
  "w-full"
26960
26960
  ),
26961
26961
  children: /* @__PURE__ */ jsxRuntime.jsx(
26962
26962
  Box,
26963
26963
  {
26964
- className: "absolute inset-y-0 left-0 rounded-full bg-blue-500 transition-all duration-300",
26964
+ className: "absolute inset-y-0 left-0 rounded-container bg-info transition-all duration-300",
26965
26965
  style: { width: `${Math.min(100, shield / max * 100)}%` }
26966
26966
  }
26967
26967
  )
@@ -27020,7 +27020,7 @@ function ScoreBoard({
27020
27020
  Card,
27021
27021
  {
27022
27022
  className: cn(
27023
- "bg-[var(--color-card)]/90 border-gray-700 backdrop-blur-sm",
27023
+ "bg-[var(--color-card)]/90 border-border backdrop-blur-sm",
27024
27024
  className
27025
27025
  ),
27026
27026
  children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex items-center gap-3 flex-wrap", children: [
@@ -27137,7 +27137,7 @@ function TurnPanel({
27137
27137
  Box,
27138
27138
  {
27139
27139
  className: cn(
27140
- "flex items-center gap-3 rounded-lg bg-[var(--color-card)]/90 border border-gray-700 backdrop-blur-sm px-3 py-2",
27140
+ "flex items-center gap-3 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-2",
27141
27141
  className
27142
27142
  ),
27143
27143
  children: [
@@ -27189,7 +27189,7 @@ function EnemyPlate({
27189
27189
  Box,
27190
27190
  {
27191
27191
  className: cn(
27192
- "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",
27192
+ "inline-flex flex-col gap-1 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-3 py-1.5",
27193
27193
  "min-w-[120px]",
27194
27194
  className
27195
27195
  ),
@@ -27283,7 +27283,7 @@ function UnitCommandBar({
27283
27283
  Box,
27284
27284
  {
27285
27285
  className: cn(
27286
- "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",
27286
+ "flex items-center gap-1.5 rounded-container bg-[var(--color-card)]/90 border border-border backdrop-blur-sm px-2 py-1.5",
27287
27287
  className
27288
27288
  ),
27289
27289
  children: commands.map((command, i) => /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "flex flex-col items-center gap-0.5", children: [
@@ -27368,8 +27368,8 @@ function GameHud({
27368
27368
  className: cn(
27369
27369
  "relative z-10",
27370
27370
  positionMap[position],
27371
- transparent && "bg-gradient-to-b from-black/50 to-transparent",
27372
- position === "bottom" && "bg-gradient-to-t from-black/50 to-transparent",
27371
+ transparent && "bg-gradient-to-b from-background/50 to-transparent",
27372
+ position === "bottom" && "bg-gradient-to-t from-background/50 to-transparent",
27373
27373
  className
27374
27374
  ),
27375
27375
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4", children: stats.map((stat, i) => /* @__PURE__ */ jsxRuntime.jsx(StatBadge, { ...stat, size }, i)) })
@@ -27527,8 +27527,8 @@ function DialogueBox({
27527
27527
  tabIndex: 0,
27528
27528
  role: "dialog",
27529
27529
  "aria-label": "Dialogue",
27530
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-gray-600 rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex", children: [
27531
- dialogue.portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 p-4 border-r border-gray-700", children: /* @__PURE__ */ jsxRuntime.jsx(
27530
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-4 my-4 bg-[var(--color-card)] bg-opacity-95 border-2 border-border rounded-container overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex", children: [
27531
+ dialogue.portrait && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 p-4 border-r border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
27532
27532
  "img",
27533
27533
  {
27534
27534
  src: dialogue.portrait,
@@ -27538,7 +27538,7 @@ function DialogueBox({
27538
27538
  }
27539
27539
  ) }),
27540
27540
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 p-4", children: [
27541
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-yellow-400 font-bold mb-2", children: dialogue.speaker }),
27541
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-warning font-bold mb-2", children: dialogue.speaker }),
27542
27542
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[var(--color-foreground)] text-lg leading-relaxed min-h-[60px]", children: [
27543
27543
  displayedText,
27544
27544
  isTyping && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "animate-pulse", children: "\u258C" })
@@ -27548,9 +27548,9 @@ function DialogueBox({
27548
27548
  {
27549
27549
  type: "button",
27550
27550
  className: cn(
27551
- "block w-full text-left px-4 py-2 rounded transition-colors",
27552
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-yellow-400",
27553
- selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-yellow-400" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
27551
+ "block w-full text-left px-4 py-2 rounded-interactive transition-colors",
27552
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-warning",
27553
+ selectedChoice === index ? "bg-[var(--color-surface,#374151)] text-warning" : "bg-[var(--color-card)] text-[var(--color-foreground)]"
27554
27554
  ),
27555
27555
  onClick: (e) => {
27556
27556
  e.stopPropagation();
@@ -27558,7 +27558,7 @@ function DialogueBox({
27558
27558
  onChoice?.(choice);
27559
27559
  },
27560
27560
  children: [
27561
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-gray-500 mr-2", children: [
27561
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground mr-2", children: [
27562
27562
  index + 1,
27563
27563
  "."
27564
27564
  ] }),
@@ -27567,7 +27567,7 @@ function DialogueBox({
27567
27567
  },
27568
27568
  index
27569
27569
  )) }),
27570
- !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 text-gray-500 text-sm animate-pulse", children: "Press SPACE or click to continue..." })
27570
+ !isTyping && !dialogue.choices?.length && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 text-muted-foreground text-sm animate-pulse", children: "Press SPACE or click to continue..." })
27571
27571
  ] })
27572
27572
  ] }) })
27573
27573
  }
@@ -27670,7 +27670,7 @@ function InventoryPanel({
27670
27670
  /* @__PURE__ */ jsxRuntime.jsx(
27671
27671
  "div",
27672
27672
  {
27673
- className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-lg border border-gray-700",
27673
+ className: "grid gap-1 bg-[var(--color-card)] p-2 rounded-container border border-border",
27674
27674
  style: {
27675
27675
  gridTemplateColumns: `repeat(${safeColumns}, ${slotSize}px)`,
27676
27676
  gridTemplateRows: `repeat(${rows}, ${slotSize}px)`
@@ -27682,8 +27682,8 @@ function InventoryPanel({
27682
27682
  className: cn(
27683
27683
  "relative flex items-center justify-center",
27684
27684
  "bg-[var(--color-card)] border rounded transition-colors",
27685
- "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-blue-500",
27686
- selectedSlot === index ? "border-yellow-400 bg-[var(--color-surface,#374151)]" : "border-gray-600"
27685
+ "hover:bg-[var(--color-surface,#374151)] focus:outline-none focus:ring-2 focus:ring-info",
27686
+ selectedSlot === index ? "border-warning bg-[var(--color-surface,#374151)]" : "border-muted"
27687
27687
  ),
27688
27688
  style: { width: slotSize, height: slotSize },
27689
27689
  onClick: () => handleSlotClick(index),
@@ -27702,8 +27702,8 @@ function InventoryPanel({
27702
27702
  className: "w-8 h-8 object-contain",
27703
27703
  style: { imageRendering: "pixelated" }
27704
27704
  }
27705
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-8 bg-gray-600 rounded flex items-center justify-center text-xs text-gray-300", children: (item.type ?? item.name ?? "I").charAt(0).toUpperCase() }),
27706
- item.quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute bottom-0 right-0 bg-black bg-opacity-70 text-white text-xs px-1 rounded-tl", children: item.quantity })
27705
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-8 h-8 bg-muted rounded-interactive flex items-center justify-center text-xs text-muted-foreground", children: (item.type ?? item.name ?? "I").charAt(0).toUpperCase() }),
27706
+ item.quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute bottom-0 right-0 bg-background/70 text-foreground text-xs px-1 rounded-tl", children: item.quantity })
27707
27707
  ] })
27708
27708
  },
27709
27709
  index
@@ -27713,7 +27713,7 @@ function InventoryPanel({
27713
27713
  showTooltips && hoveredItem && /* @__PURE__ */ jsxRuntime.jsxs(
27714
27714
  "div",
27715
27715
  {
27716
- className: "fixed z-50 bg-[var(--color-card)] border border-gray-600 rounded-lg p-2 shadow-lg pointer-events-none",
27716
+ className: "fixed z-50 bg-[var(--color-card)] border border-border rounded-container p-2 shadow-elevation-card pointer-events-none",
27717
27717
  style: {
27718
27718
  left: tooltipPosition.x,
27719
27719
  top: tooltipPosition.y,
@@ -27721,8 +27721,8 @@ function InventoryPanel({
27721
27721
  },
27722
27722
  children: [
27723
27723
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-[var(--color-foreground)]", children: hoveredItem.name || hoveredItem.type }),
27724
- hoveredItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-gray-400 mt-1", children: hoveredItem.description }),
27725
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-gray-500 mt-1", children: [
27724
+ hoveredItem.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground mt-1", children: hoveredItem.description }),
27725
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-muted-foreground mt-1", children: [
27726
27726
  "Quantity: ",
27727
27727
  hoveredItem.quantity
27728
27728
  ] })
@@ -27800,7 +27800,7 @@ function GameMenu({
27800
27800
  children: title
27801
27801
  }
27802
27802
  ),
27803
- subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-lg text-gray-400 tracking-widest uppercase", children: subtitle })
27803
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-lg text-muted-foreground tracking-widest uppercase", children: subtitle })
27804
27804
  ] }),
27805
27805
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 w-full max-w-md", children: resolvedOptions.map((option, index) => /* @__PURE__ */ jsxRuntime.jsx(
27806
27806
  "button",
@@ -27808,10 +27808,10 @@ function GameMenu({
27808
27808
  onClick: () => handleOptionClick(option),
27809
27809
  disabled: option.disabled,
27810
27810
  className: cn(
27811
- "w-full py-4 px-8 rounded-xl border-2 font-bold text-lg",
27811
+ "w-full py-4 px-8 rounded-container border-2 font-bold text-lg",
27812
27812
  "transition-all duration-200 transform",
27813
27813
  "hover:scale-105 active:scale-95",
27814
- "focus:outline-none focus:ring-4 focus:ring-white/25",
27814
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
27815
27815
  variantMap3[option.variant ?? "secondary"] ?? variantMap3.secondary,
27816
27816
  option.disabled && "opacity-50 cursor-not-allowed hover:scale-100"
27817
27817
  ),
@@ -27823,8 +27823,8 @@ function GameMenu({
27823
27823
  index
27824
27824
  )) }),
27825
27825
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 pointer-events-none overflow-hidden", children: [
27826
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-blue-500/10 rounded-full blur-3xl" }),
27827
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-purple-500/10 rounded-full blur-3xl" })
27826
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1/4 left-1/4 w-64 h-64 bg-info/10 rounded-container blur-3xl" }),
27827
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-1/4 right-1/4 w-96 h-96 bg-accent/10 rounded-container blur-3xl" })
27828
27828
  ] })
27829
27829
  ]
27830
27830
  }
@@ -27837,9 +27837,9 @@ var init_GameMenu = __esm({
27837
27837
  init_cn();
27838
27838
  init_useEventBus();
27839
27839
  variantMap3 = {
27840
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400 shadow-lg shadow-blue-500/25",
27841
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
27842
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
27840
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info shadow-lg shadow-info/25",
27841
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
27842
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
27843
27843
  };
27844
27844
  GameMenu.displayName = "GameMenu";
27845
27845
  }
@@ -27907,13 +27907,13 @@ function GameOverScreen({
27907
27907
  children: title
27908
27908
  }
27909
27909
  ),
27910
- message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl text-gray-300 mb-8 text-center max-w-md", children: message }),
27911
- isNewHighScore && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 px-6 py-2 bg-yellow-500/20 border-2 border-yellow-500 rounded-full animate-pulse", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-yellow-400 font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
27910
+ message && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl text-muted-foreground mb-8 text-center max-w-md", children: message }),
27911
+ isNewHighScore && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 px-6 py-2 bg-warning/20 border-2 border-warning rounded-container animate-pulse", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-warning font-bold text-lg tracking-wide", children: "\u{1F3C6} NEW HIGH SCORE! \u{1F3C6}" }) }),
27912
27912
  stats.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
27913
27913
  "div",
27914
27914
  {
27915
27915
  className: cn(
27916
- "mb-8 p-6 rounded-xl border-2 bg-black/30",
27916
+ "mb-8 p-6 rounded-container border-2 bg-background/30",
27917
27917
  colors.accent
27918
27918
  ),
27919
27919
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: stats.map((stat, index) => {
@@ -27922,7 +27922,7 @@ function GameOverScreen({
27922
27922
  displayValue = formatTime3(displayValue);
27923
27923
  }
27924
27924
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
27925
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-gray-400 text-sm mb-1", children: stat.label }),
27925
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground text-sm mb-1", children: stat.label }),
27926
27926
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[var(--color-foreground)] text-2xl font-bold flex items-center justify-center gap-2", children: [
27927
27927
  stat.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { children: stat.icon }),
27928
27928
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tabular-nums", children: displayValue })
@@ -27936,10 +27936,10 @@ function GameOverScreen({
27936
27936
  {
27937
27937
  onClick: () => handleActionClick(action),
27938
27938
  className: cn(
27939
- "px-8 py-4 rounded-xl border-2 font-bold text-lg",
27939
+ "px-8 py-4 rounded-container border-2 font-bold text-lg",
27940
27940
  "transition-all duration-200",
27941
27941
  "hover:scale-105 active:scale-95",
27942
- "focus:outline-none focus:ring-4 focus:ring-white/25",
27942
+ "focus:outline-none focus:ring-4 focus:ring-foreground/25",
27943
27943
  buttonVariants[action.variant ?? "secondary"]
27944
27944
  ),
27945
27945
  children: action.label
@@ -27958,25 +27958,25 @@ var init_GameOverScreen = __esm({
27958
27958
  init_useEventBus();
27959
27959
  variantColors = {
27960
27960
  victory: {
27961
- bg: "from-green-900/90 to-emerald-950/90",
27962
- title: "text-green-400",
27963
- accent: "border-green-500"
27961
+ bg: "from-success/90 to-success/90",
27962
+ title: "text-success",
27963
+ accent: "border-success"
27964
27964
  },
27965
27965
  defeat: {
27966
- bg: "from-red-900/90 to-gray-950/90",
27967
- title: "text-red-400",
27968
- accent: "border-red-500"
27966
+ bg: "from-error/90 to-background/90",
27967
+ title: "text-error",
27968
+ accent: "border-error"
27969
27969
  },
27970
27970
  neutral: {
27971
- bg: "from-gray-900/90 to-gray-950/90",
27972
- title: "text-white",
27973
- accent: "border-gray-500"
27971
+ bg: "from-muted/90 to-background/90",
27972
+ title: "text-foreground",
27973
+ accent: "border-muted"
27974
27974
  }
27975
27975
  };
27976
27976
  buttonVariants = {
27977
- primary: "bg-[var(--color-primary)] hover:bg-blue-500 text-[var(--color-primary-foreground)] border-blue-400",
27978
- secondary: "bg-[var(--color-surface,#374151)] hover:bg-gray-600 text-[var(--color-foreground)] border-gray-500",
27979
- ghost: "bg-transparent hover:bg-white/10 text-[var(--color-foreground)] border-white/20"
27977
+ primary: "bg-[var(--color-primary)] hover:bg-info text-[var(--color-primary-foreground)] border-info",
27978
+ secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
27979
+ ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
27980
27980
  };
27981
27981
  GameOverScreen.displayName = "GameOverScreen";
27982
27982
  }
@@ -28210,7 +28210,7 @@ function PlatformerCanvas({
28210
28210
  {
28211
28211
  ref: canvasRef,
28212
28212
  style: { width: canvasWidth, height: canvasHeight },
28213
- className: cn("block rounded-lg border border-white/10", className),
28213
+ className: cn("block rounded-container border border-border/10", className),
28214
28214
  "data-testid": "platformer-canvas",
28215
28215
  tabIndex: 0
28216
28216
  }
@@ -35753,7 +35753,7 @@ function DebuggerBoard({
35753
35753
  backgroundPosition: "center"
35754
35754
  },
35755
35755
  children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "lg", className: "p-4", children: [
35756
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
35756
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
35757
35757
  /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
35758
35758
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
35759
35759
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Bug, size: "sm" }),
@@ -35766,11 +35766,11 @@ function DebuggerBoard({
35766
35766
  const isFlagged = flaggedLines.has(line.id);
35767
35767
  let lineStyle = "";
35768
35768
  if (submitted) {
35769
- if (line.isBug && isFlagged) lineStyle = "bg-green-50 dark:bg-green-950";
35770
- else if (line.isBug && !isFlagged) lineStyle = "bg-yellow-50 dark:bg-yellow-950";
35771
- else if (!line.isBug && isFlagged) lineStyle = "bg-red-50 dark:bg-red-950";
35769
+ if (line.isBug && isFlagged) lineStyle = "bg-success/10";
35770
+ else if (line.isBug && !isFlagged) lineStyle = "bg-warning/10";
35771
+ else if (!line.isBug && isFlagged) lineStyle = "bg-error/10";
35772
35772
  } else if (isFlagged) {
35773
- lineStyle = "bg-red-50 dark:bg-red-950";
35773
+ lineStyle = "bg-error/10";
35774
35774
  }
35775
35775
  return /* @__PURE__ */ jsxRuntime.jsxs(
35776
35776
  HStack,
@@ -35783,8 +35783,8 @@ function DebuggerBoard({
35783
35783
  /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-10 flex-shrink-0 flex items-center justify-center border-r border-border text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", children: i + 1 }) }),
35784
35784
  /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex-1 px-3 py-1.5 font-mono text-sm whitespace-pre", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", className: "font-mono text-sm", children: line.content }) }),
35785
35785
  /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "w-8 flex-shrink-0 flex items-center justify-center", children: [
35786
- isFlagged && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-red-600" }),
35787
- submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-yellow-600" })
35786
+ isFlagged && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-error" }),
35787
+ submitted && line.isBug && !isFlagged && /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Bug, size: "xs", className: "text-warning" })
35788
35788
  ] })
35789
35789
  ]
35790
35790
  },
@@ -35799,7 +35799,7 @@ function DebuggerBoard({
35799
35799
  {
35800
35800
  icon: flaggedLines.has(line.id) ? LucideIcons2.CheckCircle : LucideIcons2.XCircle,
35801
35801
  size: "xs",
35802
- className: flaggedLines.has(line.id) ? "text-green-600 mt-0.5" : "text-yellow-600 mt-0.5"
35802
+ className: flaggedLines.has(line.id) ? "text-success mt-0.5" : "text-warning mt-0.5"
35803
35803
  }
35804
35804
  ),
35805
35805
  /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", children: [
@@ -35808,7 +35808,7 @@ function DebuggerBoard({
35808
35808
  ] })
35809
35809
  ] }, line.id))
35810
35810
  ] }) }),
35811
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
35811
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
35812
35812
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", justify: "center", children: [
35813
35813
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "primary", onClick: handleSubmit, disabled: flaggedLines.size === 0, children: [
35814
35814
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Send, size: "sm" }),
@@ -36531,7 +36531,7 @@ function LinearView({
36531
36531
  className
36532
36532
  }) {
36533
36533
  const currentIdx = trait.states.indexOf(trait.currentState);
36534
- return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
36534
+ return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
36535
36535
  trait.description && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: trait.description }),
36536
36536
  /* @__PURE__ */ jsxRuntime.jsx(HStack, { className: "flex-wrap items-center", gap: "xs", children: trait.states.map((state, i) => {
36537
36537
  const isDone = i < currentIdx;
@@ -36553,10 +36553,10 @@ function LinearView({
36553
36553
  {
36554
36554
  display: "inline-flex",
36555
36555
  className: cn(
36556
- "items-center justify-center rounded-full px-3 py-1 border-2 transition-all",
36556
+ "items-center justify-center rounded-pill px-3 py-1 border-2 transition-all",
36557
36557
  SIZE_CONFIG2[size || "md"].fontSize,
36558
36558
  isDone && "bg-success/20 border-success text-success",
36559
- isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-md shadow-primary/20",
36559
+ isCurrent && "bg-primary/20 border-primary text-primary font-bold shadow-elevation-card shadow-primary/20",
36560
36560
  !isDone && !isCurrent && "bg-muted border-border text-muted-foreground"
36561
36561
  ),
36562
36562
  children: [
@@ -36578,7 +36578,7 @@ function CompactView({
36578
36578
  const { t } = useTranslate();
36579
36579
  const config = SIZE_CONFIG2[size || "md"];
36580
36580
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
36581
- return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
36581
+ return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
36582
36582
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-center justify-between", children: [
36583
36583
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
36584
36584
  /* @__PURE__ */ jsxRuntime.jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -36614,7 +36614,7 @@ function FullView({
36614
36614
  const { t } = useTranslate();
36615
36615
  const config = SIZE_CONFIG2[size || "md"];
36616
36616
  const currentTransitions = trait.transitions.filter((t2) => t2.from === trait.currentState);
36617
- return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-lg bg-card border border-border", className), gap: "sm", children: [
36617
+ return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: cn("p-3 rounded-container bg-card border border-border", className), gap: "sm", children: [
36618
36618
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-center justify-between", children: [
36619
36619
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground font-bold", children: trait.name }),
36620
36620
  /* @__PURE__ */ jsxRuntime.jsx(StateIndicator, { state: trait.currentState, size: "sm", stateStyles })
@@ -36628,9 +36628,9 @@ function FullView({
36628
36628
  {
36629
36629
  display: "flex",
36630
36630
  className: cn(
36631
- "items-center justify-center rounded-md border-2 transition-all px-2",
36631
+ "items-center justify-center rounded-container border-2 transition-all px-2",
36632
36632
  config.nodeSize,
36633
- isCurrent && "bg-primary/20 border-primary shadow-md shadow-primary/20",
36633
+ isCurrent && "bg-primary/20 border-primary shadow-elevation-card shadow-primary/20",
36634
36634
  !isCurrent && hasOutgoing && "bg-muted border-border hover:border-muted-foreground",
36635
36635
  !isCurrent && !hasOutgoing && "bg-background border-border opacity-60",
36636
36636
  onStateClick && "cursor-pointer"
@@ -37060,7 +37060,7 @@ function EventHandlerBoard({
37060
37060
  backgroundPosition: "center"
37061
37061
  },
37062
37062
  children: [
37063
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
37063
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
37064
37064
  /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
37065
37065
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
37066
37066
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -37075,7 +37075,7 @@ function EventHandlerBoard({
37075
37075
  Box,
37076
37076
  {
37077
37077
  className: cn(
37078
- "p-3 rounded-lg border-2 cursor-pointer transition-all hover:scale-105",
37078
+ "p-3 rounded-container border-2 cursor-pointer transition-all hover:scale-105",
37079
37079
  selectedObjectId === obj.id ? "border-primary bg-primary/10" : "border-border bg-card hover:border-muted-foreground"
37080
37080
  ),
37081
37081
  onClick: () => setSelectedObjectId(obj.id),
@@ -37097,10 +37097,10 @@ function EventHandlerBoard({
37097
37097
  }
37098
37098
  ),
37099
37099
  eventLog.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(EventLog, { entries: eventLog }),
37100
- playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
37100
+ playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("eventHandler.chainComplete") }) }),
37101
37101
  playState === "fail" && /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
37102
- /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
37103
- showHint && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-start", gap: "xs", children: [
37102
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(encourageKey) }) }),
37103
+ showHint && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-start", gap: "xs", children: [
37104
37104
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
37105
37105
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
37106
37106
  ] }) })
@@ -40273,7 +40273,7 @@ function NegotiatorBoard({
40273
40273
  backgroundPosition: "center"
40274
40274
  },
40275
40275
  children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "lg", className: "p-4", children: [
40276
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
40276
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
40277
40277
  /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
40278
40278
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
40279
40279
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.description }),
@@ -40319,7 +40319,7 @@ function NegotiatorBoard({
40319
40319
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-muted-foreground", children: "vs" }),
40320
40320
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", children: getActionLabel(round.opponentAction) }),
40321
40321
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.ArrowRight, size: "xs" }),
40322
- /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", weight: "bold", className: "text-green-600", children: [
40322
+ /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", weight: "bold", className: "text-success", children: [
40323
40323
  "+",
40324
40324
  round.playerPayoff
40325
40325
  ] }),
@@ -40330,7 +40330,7 @@ function NegotiatorBoard({
40330
40330
  ] }, round.round))
40331
40331
  ] }) }),
40332
40332
  isComplete && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", align: "center", children: [
40333
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.CheckCircle, size: "lg", className: won ? "text-green-600" : "text-red-600" }),
40333
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.CheckCircle, size: "lg", className: won ? "text-success" : "text-error" }),
40334
40334
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", weight: "bold", children: won ? entity.successMessage ?? t("negotiator.success") : entity.failMessage ?? t("negotiator.failed") }),
40335
40335
  /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
40336
40336
  t("negotiator.finalScore"),
@@ -40340,7 +40340,7 @@ function NegotiatorBoard({
40340
40340
  entity.targetScore
40341
40341
  ] })
40342
40342
  ] }) }),
40343
- showHint && entity.hint && !won && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
40343
+ showHint && entity.hint && !won && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
40344
40344
  isComplete && !won && /* @__PURE__ */ jsxRuntime.jsx(HStack, { justify: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", onClick: handleReset, children: t("negotiator.playAgain") }) })
40345
40345
  ] })
40346
40346
  }
@@ -42925,7 +42925,7 @@ function TraitSlot({
42925
42925
  display: "flex",
42926
42926
  position: "relative",
42927
42927
  className: cn(
42928
- "items-center justify-center rounded-lg transition-all duration-200",
42928
+ "items-center justify-center rounded-container transition-all duration-200 bg-card/50",
42929
42929
  !locked && "cursor-pointer",
42930
42930
  locked && "cursor-not-allowed opacity-50",
42931
42931
  isEmpty && !locked && "border-2 border-dashed border-border hover:border-muted-foreground",
@@ -42941,7 +42941,7 @@ function TraitSlot({
42941
42941
  style: {
42942
42942
  width: config.box,
42943
42943
  height: config.box,
42944
- backgroundColor: catColor?.bg || "rgba(30,41,59,0.5)",
42944
+ backgroundColor: catColor?.bg || void 0,
42945
42945
  borderColor: isDragOver ? void 0 : feedback === "correct" ? "var(--color-success)" : feedback === "wrong" ? "var(--color-error)" : catColor?.border || void 0
42946
42946
  },
42947
42947
  onClick: handleClick,
@@ -42970,7 +42970,7 @@ function TraitSlot({
42970
42970
  Box,
42971
42971
  {
42972
42972
  position: "absolute",
42973
- 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",
42973
+ 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",
42974
42974
  onClick: handleRemove,
42975
42975
  children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-foreground text-xs leading-none", children: "\xD7" })
42976
42976
  }
@@ -42980,14 +42980,14 @@ function TraitSlot({
42980
42980
  Box,
42981
42981
  {
42982
42982
  position: "absolute",
42983
- className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-full flex items-center justify-center border border-border",
42983
+ className: "-bottom-1 -left-1 w-4 h-4 bg-card rounded-pill flex items-center justify-center border border-border",
42984
42984
  children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-muted-foreground text-xs", children: slotNumber })
42985
42985
  }
42986
42986
  ),
42987
42987
  showTooltip && isHovered && itemMachine && !isEmpty && equippedItem && /* @__PURE__ */ jsxRuntime.jsxs(
42988
42988
  Box,
42989
42989
  {
42990
- className: "p-3 bg-background border border-border rounded-lg shadow-xl",
42990
+ className: "p-3 bg-background border border-border rounded-container shadow-xl",
42991
42991
  style: {
42992
42992
  ...getTooltipStyle(),
42993
42993
  minWidth: 200,
@@ -43237,12 +43237,12 @@ function SequencerBoard({
43237
43237
  backgroundPosition: "center"
43238
43238
  },
43239
43239
  children: [
43240
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
43240
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
43241
43241
  /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
43242
43242
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
43243
43243
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description })
43244
43244
  ] }),
43245
- showHint && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-start", gap: "xs", children: [
43245
+ showHint && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-start", gap: "xs", children: [
43246
43246
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
43247
43247
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
43248
43248
  ] }) }),
@@ -43280,8 +43280,8 @@ function SequencerBoard({
43280
43280
  label: t("sequencer.dragActions")
43281
43281
  }
43282
43282
  ),
43283
- hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
43284
- playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
43283
+ hasFeedback && playState === "idle" && attempts > 0 && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground", children: t(encourageKey) }) }),
43284
+ playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("sequencer.levelComplete") }) }),
43285
43285
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", children: [
43286
43286
  /* @__PURE__ */ jsxRuntime.jsx(
43287
43287
  Button,
@@ -43957,7 +43957,7 @@ function SimulationCanvas({
43957
43957
  ref: canvasRef,
43958
43958
  width,
43959
43959
  height,
43960
- className: "rounded-md block max-w-full h-auto"
43960
+ className: "rounded-container block max-w-full h-auto"
43961
43961
  }
43962
43962
  ) });
43963
43963
  }
@@ -44165,7 +44165,7 @@ function SimulatorBoard({
44165
44165
  backgroundPosition: "center"
44166
44166
  },
44167
44167
  children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "lg", className: "p-4", children: [
44168
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44168
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44169
44169
  /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
44170
44170
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", weight: "bold", children: entity.title }),
44171
44171
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.description })
@@ -44216,8 +44216,8 @@ function SimulatorBoard({
44216
44216
  entity.outputUnit
44217
44217
  ] }),
44218
44218
  submitted && /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
44219
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: isCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: isCorrect ? "text-green-600" : "text-red-600" }),
44220
- /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", className: isCorrect ? "text-green-600" : "text-red-600", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
44219
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: isCorrect ? LucideIcons2.CheckCircle : LucideIcons2.XCircle, size: "sm", className: isCorrect ? "text-success" : "text-error" }),
44220
+ /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", className: isCorrect ? "text-success" : "text-error", children: isCorrect ? entity.successMessage ?? t("simulator.correct") : entity.failMessage ?? t("simulator.incorrect") })
44221
44221
  ] }),
44222
44222
  /* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", className: "text-muted-foreground", children: [
44223
44223
  t("simulator.target"),
@@ -44230,7 +44230,7 @@ function SimulatorBoard({
44230
44230
  ")"
44231
44231
  ] })
44232
44232
  ] }) }),
44233
- showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-yellow-500", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
44233
+ showHint && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "p-4 border-l-4 border-l-warning", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", children: entity.hint }) }),
44234
44234
  /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", justify: "center", children: [
44235
44235
  !submitted ? /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "primary", onClick: handleSubmit, children: [
44236
44236
  /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: LucideIcons2.Play, size: "sm" }),
@@ -44631,7 +44631,7 @@ function StateNode2({
44631
44631
  position: "absolute",
44632
44632
  display: "flex",
44633
44633
  className: cn(
44634
- "items-center justify-center rounded-full border-3 transition-all cursor-pointer select-none",
44634
+ "items-center justify-center rounded-pill border-3 transition-all cursor-pointer select-none",
44635
44635
  "min-w-[80px] h-[80px] px-3",
44636
44636
  isCurrent && "bg-primary/20 border-primary shadow-lg shadow-primary/30 scale-110",
44637
44637
  isSelected && !isCurrent && "bg-accent/20 border-accent ring-2 ring-accent/50",
@@ -44944,7 +44944,7 @@ function StateArchitectBoard({
44944
44944
  backgroundPosition: "center"
44945
44945
  },
44946
44946
  children: [
44947
- entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-lg bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44947
+ entity.headerImage && !headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 overflow-hidden rounded-container", children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: entity.headerImage, alt: "", onError: () => setHeaderError(true), className: "w-full h-full object-cover" }) }) : entity.headerImage && headerError ? /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "w-full h-32 rounded-container bg-gradient-to-br from-muted to-accent opacity-60" }) : null,
44948
44948
  /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
44949
44949
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h4", className: "text-foreground", children: entity.title }),
44950
44950
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground", children: entity.description }),
@@ -44963,7 +44963,7 @@ function StateArchitectBoard({
44963
44963
  Box,
44964
44964
  {
44965
44965
  position: "relative",
44966
- className: "rounded-lg border border-border bg-background overflow-hidden",
44966
+ className: "rounded-container border border-border bg-background overflow-hidden",
44967
44967
  style: { width: GRAPH_W, height: GRAPH_H },
44968
44968
  children: [
44969
44969
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -45022,7 +45022,7 @@ function StateArchitectBoard({
45022
45022
  children: selectedState ? t("stateArchitect.addTransition", { state: selectedState }) : t("stateArchitect.addTransitionPrompt")
45023
45023
  }
45024
45024
  ) }),
45025
- transitions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", className: "p-3 rounded-lg bg-muted/50 border border-border", children: [
45025
+ transitions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", className: "p-3 rounded-container bg-muted/50 border border-border", children: [
45026
45026
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-muted-foreground font-medium", children: t("stateArchitect.transitions", { count: transitions.length }) + ":" }),
45027
45027
  transitions.map((t2) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
45028
45028
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: "text-foreground", children: t2.from }),
@@ -45056,7 +45056,7 @@ function StateArchitectBoard({
45056
45056
  variables
45057
45057
  }
45058
45058
  ),
45059
- testResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: "p-3 rounded-lg bg-card border border-border", gap: "xs", children: [
45059
+ testResults.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(VStack, { className: "p-3 rounded-container bg-card border border-border", gap: "xs", children: [
45060
45060
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-muted-foreground font-medium", children: t("stateArchitect.testResults") + ":" }),
45061
45061
  testResults.map((r, i) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-center text-xs", gap: "xs", children: [
45062
45062
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", className: r.passed ? "text-success" : "text-error", children: r.passed ? "\u2714" : "\u2717" }),
@@ -45067,10 +45067,10 @@ function StateArchitectBoard({
45067
45067
  entity.showCodeView !== false && /* @__PURE__ */ jsxRuntime.jsx(CodeView, { data: codeData, label: "View Code" })
45068
45068
  ] })
45069
45069
  ] }),
45070
- playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-lg bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
45070
+ playState === "success" && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-container bg-success/20 border border-success text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", className: "text-success", children: entity.successMessage || t("stateArchitect.allPassed") }) }),
45071
45071
  playState === "fail" && /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "sm", children: [
45072
- /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-lg bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
45073
- attempts >= 3 && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-lg bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-start", gap: "xs", children: [
45072
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-4 rounded-container bg-warning/10 border border-warning/30 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body1", className: "text-foreground font-medium", children: t(ENCOURAGEMENT_KEYS3[Math.min(attempts - 1, ENCOURAGEMENT_KEYS3.length - 1)] ?? ENCOURAGEMENT_KEYS3[0]) }) }),
45073
+ attempts >= 3 && entity.hint && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "p-3 rounded-container bg-accent/10 border border-accent/30", children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { className: "items-start", gap: "xs", children: [
45074
45074
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-accent font-bold shrink-0", children: "\u{1F4A1} " + t("game.hint") + ":" }),
45075
45075
  /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", className: "text-foreground", children: entity.hint })
45076
45076
  ] }) })