@almadar/ui 5.1.6 → 5.2.1

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.
@@ -1812,7 +1812,7 @@ var init_Icon = __esm({
1812
1812
  sizeClasses = {
1813
1813
  xs: "w-3 h-3",
1814
1814
  sm: "w-4 h-4",
1815
- md: "w-5 h-5",
1815
+ md: "h-icon-default w-icon-default",
1816
1816
  lg: "w-6 h-6",
1817
1817
  xl: "w-8 h-8"
1818
1818
  };
@@ -1957,14 +1957,14 @@ var init_Button = __esm({
1957
1957
  };
1958
1958
  variantStyles.destructive = variantStyles.danger;
1959
1959
  sizeStyles = {
1960
- sm: "px-3 py-1.5 text-sm",
1961
- md: "px-4 py-2 text-sm",
1962
- lg: "px-6 py-3 text-base"
1960
+ sm: "h-button-sm px-3 text-sm",
1961
+ md: "h-button-md px-4 text-sm",
1962
+ lg: "h-button-lg px-6 text-base"
1963
1963
  };
1964
1964
  iconSizeStyles = {
1965
- sm: "h-3.5 w-3.5",
1965
+ sm: "h-icon-default w-icon-default",
1966
1966
  md: "h-icon-default w-icon-default",
1967
- lg: "h-5 w-5"
1967
+ lg: "h-icon-default w-icon-default"
1968
1968
  };
1969
1969
  Button = React80__default.forwardRef(
1970
1970
  ({
@@ -2002,7 +2002,7 @@ var init_Button = __esm({
2002
2002
  disabled: disabled || isLoading,
2003
2003
  className: cn(
2004
2004
  "inline-flex items-center justify-center gap-2",
2005
- "font-[var(--font-weight-medium)]",
2005
+ "font-medium",
2006
2006
  "rounded-sm",
2007
2007
  "cursor-pointer",
2008
2008
  "transition-all duration-[var(--transition-normal)]",
@@ -2052,10 +2052,11 @@ var init_Input = __esm({
2052
2052
  const type = inputType || htmlType || "text";
2053
2053
  const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsx(IconComponent, { className: "h-icon-default w-icon-default" });
2054
2054
  const showClearButton = clearable && value && String(value).length > 0;
2055
+ const isMultiline = type === "textarea";
2055
2056
  const baseClassName = cn(
2056
2057
  "block w-full rounded-sm transition-all duration-[var(--transition-fast)]",
2057
2058
  "border-[length:var(--border-width-thin)] border-border",
2058
- "px-3 py-2 text-sm",
2059
+ isMultiline ? "px-3 py-2 text-sm" : "h-input-md px-3 text-sm",
2059
2060
  "bg-card hover:bg-muted focus:bg-card",
2060
2061
  "text-foreground placeholder:text-muted-foreground",
2061
2062
  "focus:outline-none focus:ring-1 focus:ring-ring focus:border-ring",
@@ -2107,7 +2108,7 @@ var init_Input = __esm({
2107
2108
  checked: props.checked,
2108
2109
  onChange,
2109
2110
  className: cn(
2110
- "h-4 w-4 rounded-sm",
2111
+ "h-icon-default w-icon-default rounded-sm",
2111
2112
  "border-border",
2112
2113
  "text-primary focus:ring-ring",
2113
2114
  "disabled:opacity-50 disabled:cursor-not-allowed",
@@ -2189,7 +2190,7 @@ var init_Textarea = __esm({
2189
2190
  "placeholder:text-[var(--color-placeholder)]",
2190
2191
  "focus:outline-none focus:ring-2 focus:ring-offset-0 focus:ring-ring",
2191
2192
  "disabled:bg-muted disabled:text-muted-foreground disabled:cursor-not-allowed",
2192
- "resize-y min-h-[80px]",
2193
+ "resize-y min-h-20",
2193
2194
  error ? "border-error focus:border-error" : "border-border focus:border-primary",
2194
2195
  className
2195
2196
  ),
@@ -2292,21 +2293,21 @@ var init_Card = __esm({
2292
2293
  "border-[length:var(--border-width)] border-border",
2293
2294
  "shadow-elevation-card",
2294
2295
  "transition-all duration-[var(--transition-normal)]",
2295
- "hover:shadow-elevation-dialog hover:-translate-y-0.5"
2296
+ "hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
2296
2297
  ].join(" "),
2297
2298
  bordered: [
2298
2299
  "bg-card",
2299
2300
  "border-[length:var(--border-width)] border-border",
2300
2301
  "shadow-elevation-card",
2301
2302
  "transition-all duration-[var(--transition-normal)]",
2302
- "hover:shadow-elevation-dialog hover:-translate-y-0.5"
2303
+ "hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
2303
2304
  ].join(" "),
2304
2305
  elevated: [
2305
2306
  "bg-card",
2306
2307
  "border-[length:var(--border-width)] border-border",
2307
2308
  "shadow",
2308
2309
  "transition-all duration-[var(--transition-normal)]",
2309
- "hover:shadow-elevation-dialog hover:-translate-y-0.5"
2310
+ "hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
2310
2311
  ].join(" "),
2311
2312
  // Interactive variant with theme-specific hover effects
2312
2313
  interactive: [
@@ -2356,7 +2357,7 @@ var init_Card = __esm({
2356
2357
  ...props,
2357
2358
  children: [
2358
2359
  (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
2359
- title && /* @__PURE__ */ jsx("h3", { className: "text-lg text-card-foreground font-[var(--font-weight-bold)]", children: title }),
2360
+ title && /* @__PURE__ */ jsx("h3", { className: "text-lg text-card-foreground font-bold", children: title }),
2360
2361
  subtitle && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-1", children: subtitle })
2361
2362
  ] }),
2362
2363
  children
@@ -2374,7 +2375,7 @@ var init_Card = __esm({
2374
2375
  ref,
2375
2376
  className: cn(
2376
2377
  "text-lg text-card-foreground",
2377
- "font-[var(--font-weight-bold)]",
2378
+ "font-bold",
2378
2379
  className
2379
2380
  ),
2380
2381
  ...props
@@ -2440,7 +2441,11 @@ var init_Badge = __esm({
2440
2441
  };
2441
2442
  Badge = React80__default.forwardRef(
2442
2443
  ({ className, variant = "default", size = "sm", amount, label, icon, children, onRemove, removeLabel, ...props }, ref) => {
2443
- const iconSizes3 = { sm: "w-3 h-3", md: "w-3.5 h-3.5", lg: "w-4 h-4" };
2444
+ const iconSizes3 = {
2445
+ sm: "h-icon-default w-icon-default",
2446
+ md: "h-icon-default w-icon-default",
2447
+ lg: "h-icon-default w-icon-default"
2448
+ };
2444
2449
  const resolvedIcon = typeof icon === "string" ? /* @__PURE__ */ jsx(Icon, { name: icon, className: iconSizes3[size] }) : icon;
2445
2450
  return /* @__PURE__ */ jsxs(
2446
2451
  "span",
@@ -2599,7 +2604,7 @@ var init_Spinner = __esm({
2599
2604
  init_Icon();
2600
2605
  sizeStyles4 = {
2601
2606
  xs: "h-3 w-3",
2602
- sm: "h-4 w-4",
2607
+ sm: "h-icon-default w-icon-default",
2603
2608
  md: "h-6 w-6",
2604
2609
  lg: "h-8 w-8"
2605
2610
  };
@@ -4422,10 +4427,9 @@ var init_LawReferenceTooltip = __esm({
4422
4427
  {
4423
4428
  padding: "sm",
4424
4429
  rounded: "lg",
4425
- shadow: "lg",
4426
4430
  position: "absolute",
4427
4431
  className: cn(
4428
- "z-50 w-64 bg-foreground text-background",
4432
+ "z-50 w-64 bg-foreground text-background shadow-elevation-popover",
4429
4433
  positionStyles2[position]
4430
4434
  ),
4431
4435
  role: "tooltip",
@@ -4436,7 +4440,7 @@ var init_LawReferenceTooltip = __esm({
4436
4440
  {
4437
4441
  variant: "label",
4438
4442
  weight: "semibold",
4439
- className: "text-amber-400",
4443
+ className: "text-warning",
4440
4444
  children: [
4441
4445
  reference.law,
4442
4446
  " ",
@@ -4468,7 +4472,7 @@ var init_LawReferenceTooltip = __esm({
4468
4472
  {
4469
4473
  as: "a",
4470
4474
  variant: "caption",
4471
- className: "text-blue-400 hover:text-blue-300 underline cursor-pointer",
4475
+ className: "text-info hover:text-info/80 underline cursor-pointer",
4472
4476
  href: reference.link,
4473
4477
  target: "_blank",
4474
4478
  rel: "noopener noreferrer",
@@ -4874,12 +4878,12 @@ var init_RangeSlider = __esm({
4874
4878
  "shadow-sm",
4875
4879
  "pointer-events-none",
4876
4880
  "transition-transform duration-100",
4877
- isDragging && "scale-110",
4881
+ isDragging && "scale-[var(--hover-scale)]",
4878
4882
  thumbSizes[size]
4879
4883
  ),
4880
4884
  style: {
4881
4885
  top: "50%",
4882
- transform: `translateY(-50%) translateX(-50%)${isDragging ? " scale(1.1)" : ""}`,
4886
+ transform: `translateY(-50%) translateX(-50%)${isDragging ? " scale(var(--hover-scale))" : ""}`,
4883
4887
  left: `${percentage}%`
4884
4888
  }
4885
4889
  }
@@ -9213,7 +9217,7 @@ var init_ActionButton = __esm({
9213
9217
  init_Icon();
9214
9218
  sizeMap = {
9215
9219
  sm: { button: "px-3 py-1.5 text-xs", hotkey: "text-[9px] px-1", icon: "text-xs" },
9216
- md: { button: "px-4 py-2 text-sm", hotkey: "text-[10px] px-1.5", icon: "text-sm" },
9220
+ md: { button: "px-4 py-2 text-sm", hotkey: "text-xs px-1.5", icon: "text-sm" },
9217
9221
  lg: { button: "px-5 py-2.5 text-base", hotkey: "text-xs px-2", icon: "text-base" }
9218
9222
  };
9219
9223
  variantStyles7 = {
@@ -20259,7 +20263,7 @@ var init_ComboCounter = __esm({
20259
20263
  "components/atoms/game/ComboCounter.tsx"() {
20260
20264
  init_cn();
20261
20265
  sizeMap4 = {
20262
- sm: { combo: "text-lg", label: "text-[10px]", multiplier: "text-xs" },
20266
+ sm: { combo: "text-lg", label: "text-xs", multiplier: "text-xs" },
20263
20267
  md: { combo: "text-2xl", label: "text-xs", multiplier: "text-sm" },
20264
20268
  lg: { combo: "text-4xl", label: "text-sm", multiplier: "text-base" }
20265
20269
  };
@@ -20680,7 +20684,7 @@ function ItemSlot({
20680
20684
  className: cn(
20681
20685
  "absolute -bottom-1 -right-1 flex items-center justify-center",
20682
20686
  "min-w-[18px] h-[18px] rounded-full px-1",
20683
- "bg-[var(--color-surface,#374151)] border border-gray-500 text-[10px] font-bold text-[var(--color-foreground)]"
20687
+ "bg-[var(--color-surface,#374151)] border border-gray-500 text-xs font-bold text-[var(--color-foreground)]"
20684
20688
  ),
20685
20689
  children: quantity
20686
20690
  }
@@ -21258,7 +21262,7 @@ var init_DashboardLayout = __esm({
21258
21262
  {
21259
21263
  as: "span",
21260
21264
  className: cn(
21261
- "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 rounded-full text-[10px] font-semibold text-white flex items-center justify-center",
21265
+ "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 rounded-full text-xs font-semibold text-white flex items-center justify-center",
21262
21266
  action.variant === "danger" ? "bg-error" : action.variant === "primary" ? "bg-primary" : "bg-foreground"
21263
21267
  ),
21264
21268
  children: action.badge
@@ -21281,7 +21285,7 @@ var init_DashboardLayout = __esm({
21281
21285
  Box,
21282
21286
  {
21283
21287
  as: "span",
21284
- className: "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 bg-error rounded-full text-[10px] font-semibold text-white flex items-center justify-center",
21288
+ className: "absolute -top-0.5 -right-0.5 min-w-[18px] h-[18px] px-1 bg-error rounded-full text-xs font-semibold text-white flex items-center justify-center",
21285
21289
  children: unreadCount > 99 ? "99+" : unreadCount
21286
21290
  }
21287
21291
  )
@@ -21483,14 +21487,14 @@ var init_DashboardLayout = __esm({
21483
21487
  {
21484
21488
  variant: "caption",
21485
21489
  className: cn(
21486
- "text-[10px] leading-tight truncate max-w-full",
21490
+ "text-xs leading-tight truncate max-w-full",
21487
21491
  isActive ? "text-primary font-medium" : "text-muted-foreground"
21488
21492
  ),
21489
21493
  as: "span",
21490
21494
  children: item.label
21491
21495
  }
21492
21496
  ),
21493
- item.badge && /* @__PURE__ */ jsx(Badge, { variant: isActive ? "primary" : "default", size: "sm", className: "text-[8px] px-1 py-0 min-w-0", children: item.badge })
21497
+ item.badge && /* @__PURE__ */ jsx(Badge, { variant: isActive ? "primary" : "default", size: "sm", className: "text-xs px-1 py-0 min-w-0", children: item.badge })
21494
21498
  ]
21495
21499
  }
21496
21500
  );
@@ -23080,7 +23084,7 @@ var init_FilterGroup = __esm({
23080
23084
  return /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "center", className: cn("flex-wrap", className), children: [
23081
23085
  showIcon && /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
23082
23086
  filters.map((filter) => /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
23083
- /* @__PURE__ */ jsxs("span", { className: "text-sm font-[var(--font-weight-medium)] text-muted-foreground", children: [
23087
+ /* @__PURE__ */ jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
23084
23088
  filter.label,
23085
23089
  ":"
23086
23090
  ] }),
@@ -23096,7 +23100,7 @@ var init_FilterGroup = __esm({
23096
23100
  type: "button",
23097
23101
  onClick: () => handleFilterSelect(filter.field, null),
23098
23102
  className: cn(
23099
- "px-3 py-1.5 text-sm font-[var(--font-weight-medium)] transition-all duration-[var(--transition-fast)]",
23103
+ "px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
23100
23104
  !selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
23101
23105
  ),
23102
23106
  children: "All"
@@ -23108,7 +23112,7 @@ var init_FilterGroup = __esm({
23108
23112
  type: "button",
23109
23113
  onClick: () => handleFilterSelect(filter.field, option),
23110
23114
  className: cn(
23111
- "px-3 py-1.5 text-sm font-[var(--font-weight-medium)] transition-all duration-[var(--transition-fast)]",
23115
+ "px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
23112
23116
  "border-l-[length:var(--border-width)] border-border",
23113
23117
  selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
23114
23118
  ),
@@ -23136,10 +23140,10 @@ var init_FilterGroup = __esm({
23136
23140
  return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
23137
23141
  showIcon && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
23138
23142
  /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4" }),
23139
- /* @__PURE__ */ jsx("span", { className: "text-sm font-[var(--font-weight-bold)] uppercase tracking-wide", children: "Filters" })
23143
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
23140
23144
  ] }),
23141
23145
  filters.map((filter) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
23142
- /* @__PURE__ */ jsx("label", { className: "text-xs font-[var(--font-weight-bold)] text-muted-foreground uppercase tracking-wide", children: filter.label }),
23146
+ /* @__PURE__ */ jsx("label", { className: "text-xs font-bold text-muted-foreground uppercase tracking-wide", children: filter.label }),
23143
23147
  resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsx(
23144
23148
  Input,
23145
23149
  {
@@ -23321,12 +23325,12 @@ var init_FilterGroup = __esm({
23321
23325
  className: "text-muted-foreground",
23322
23326
  children: [
23323
23327
  /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4" }),
23324
- /* @__PURE__ */ jsx("span", { className: "text-sm font-[var(--font-weight-bold)] uppercase tracking-wide", children: "Filters" })
23328
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
23325
23329
  ]
23326
23330
  }
23327
23331
  ),
23328
23332
  filters.map((filter) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
23329
- /* @__PURE__ */ jsx("label", { className: "text-xs font-[var(--font-weight-bold)] text-muted-foreground uppercase tracking-wide", children: filter.label }),
23333
+ /* @__PURE__ */ jsx("label", { className: "text-xs font-bold text-muted-foreground uppercase tracking-wide", children: filter.label }),
23330
23334
  resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsx(
23331
23335
  Input,
23332
23336
  {
@@ -25989,7 +25993,7 @@ function EnemyPlate({
25989
25993
  Typography,
25990
25994
  {
25991
25995
  variant: "caption",
25992
- className: "font-mono tabular-nums text-gray-400 text-[10px] shrink-0",
25996
+ className: "font-mono tabular-nums text-muted-foreground text-xs shrink-0",
25993
25997
  children: [
25994
25998
  health,
25995
25999
  "/",
@@ -26066,7 +26070,7 @@ function UnitCommandBar({
26066
26070
  Typography,
26067
26071
  {
26068
26072
  variant: "caption",
26069
- className: "text-gray-500 text-[10px] font-mono",
26073
+ className: "text-muted-foreground text-xs font-mono",
26070
26074
  children: command.hotkey
26071
26075
  }
26072
26076
  )
@@ -33625,16 +33629,16 @@ var init_ModuleCard = __esm({
33625
33629
  children: [
33626
33630
  /* @__PURE__ */ jsx(Handle, { type: "target", position: Position.Left, className: "!w-2.5 !h-2.5 !bg-orange-400" }),
33627
33631
  /* @__PURE__ */ jsx(Handle, { type: "source", position: Position.Right, className: "!w-2.5 !h-2.5 !bg-orange-400" }),
33628
- /* @__PURE__ */ jsx("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: /* @__PURE__ */ jsx("span", { className: "text-[15px] font-bold text-[var(--color-foreground)]", children: orbitalName }) }),
33632
+ /* @__PURE__ */ jsx("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: /* @__PURE__ */ jsx("span", { className: "text-base font-bold text-[var(--color-foreground)]", children: orbitalName }) }),
33629
33633
  /* @__PURE__ */ jsxs("div", { className: `px-3 py-2 border-b border-[var(--color-border)] ${PERSISTENCE_BORDER[persistence] ?? ""}`, children: [
33630
33634
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 mb-1.5", children: [
33631
33635
  /* @__PURE__ */ jsx("svg", { width: 18, height: 18, viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx(AvlEntity, { x: 10, y: 10, r: 8, persistence }) }),
33632
- /* @__PURE__ */ jsx("span", { className: "text-[13px] font-semibold text-[var(--color-foreground)]", children: entityName }),
33633
- /* @__PURE__ */ jsx("span", { className: "ml-auto text-[10px] opacity-50", title: persistence, children: PERSISTENCE_ICON[persistence] ?? "" })
33636
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-[var(--color-foreground)]", children: entityName }),
33637
+ /* @__PURE__ */ jsx("span", { className: "ml-auto text-xs opacity-50", title: persistence, children: PERSISTENCE_ICON[persistence] ?? "" })
33634
33638
  ] }),
33635
33639
  fields.length > 0 && /* @__PURE__ */ jsx("div", { className: `grid gap-x-3 gap-y-0.5`, style: { gridTemplateColumns: `repeat(${cols}, 1fr)` }, children: fields.map((f3) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
33636
33640
  /* @__PURE__ */ jsx("svg", { width: 14, height: 14, viewBox: "0 0 16 16", children: /* @__PURE__ */ jsx(AvlFieldType, { x: 8, y: 8, kind: toFieldKind(f3.type), size: 6 }) }),
33637
- /* @__PURE__ */ jsx("span", { className: "text-[10px] text-[var(--color-muted-foreground)] truncate", children: f3.name })
33641
+ /* @__PURE__ */ jsx("span", { className: "text-xs text-[var(--color-muted-foreground)] truncate", children: f3.name })
33638
33642
  ] }, f3.name)) })
33639
33643
  ] }),
33640
33644
  traits2.map((trait) => {
@@ -33642,7 +33646,7 @@ var init_ModuleCard = __esm({
33642
33646
  const traitEmits = externalLinks.filter((l) => l.direction === "out" && l.traitName === trait.name);
33643
33647
  const traitListens = externalLinks.filter((l) => l.direction === "in" && l.traitName === trait.name);
33644
33648
  return /* @__PURE__ */ jsxs("div", { className: "px-3 py-2 border-b border-[var(--color-border)]", children: [
33645
- /* @__PURE__ */ jsx("div", { className: "text-[12px] font-semibold text-[var(--color-foreground)] mb-1", children: trait.name }),
33649
+ /* @__PURE__ */ jsx("div", { className: "text-xs font-semibold text-[var(--color-foreground)] mb-1", children: trait.name }),
33646
33650
  detail && /* @__PURE__ */ jsx(MiniStateMachine, { data: detail, className: "mb-1" }),
33647
33651
  (traitEmits.length > 0 || traitListens.length > 0) && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[9px] mt-1", children: [
33648
33652
  traitListens.map((l) => /* @__PURE__ */ jsxs("span", { style: { color: CONNECTION_COLORS.emitListen.color }, children: [
@@ -33661,7 +33665,7 @@ var init_ModuleCard = __esm({
33661
33665
  }),
33662
33666
  pages.length > 0 && /* @__PURE__ */ jsx("div", { className: "px-3 py-1.5 flex items-center gap-2 flex-wrap", children: pages.map((p2) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-0.5", children: [
33663
33667
  /* @__PURE__ */ jsx("svg", { width: 10, height: 10, viewBox: "0 0 12 12", children: /* @__PURE__ */ jsx(AvlPage, { x: 6, y: 6, size: 5 }) }),
33664
- /* @__PURE__ */ jsx("span", { className: "text-[10px] font-mono text-[var(--color-muted-foreground)]", children: p2.route })
33668
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-mono text-[var(--color-muted-foreground)]", children: p2.route })
33665
33669
  ] }, p2.name)) })
33666
33670
  ]
33667
33671
  }
@@ -38207,7 +38211,7 @@ var init_List = __esm({
38207
38211
  {
38208
38212
  as: "h3",
38209
38213
  className: cn(
38210
- "text-[15px] font-semibold text-foreground truncate flex-1",
38214
+ "text-base font-semibold text-foreground truncate flex-1",
38211
38215
  "tracking-tight leading-snug",
38212
38216
  item.completed && "line-through text-muted-foreground"
38213
38217
  ),
@@ -38231,7 +38235,7 @@ var init_List = __esm({
38231
38235
  )
38232
38236
  ] })
38233
38237
  ] }),
38234
- /* @__PURE__ */ jsxs(HStack, { className: "flex items-center gap-6 text-[13px] font-medium text-muted-foreground", children: [
38238
+ /* @__PURE__ */ jsxs(HStack, { className: "flex items-center gap-6 text-sm font-medium text-muted-foreground", children: [
38235
38239
  dateFields.slice(0, 1).map((field) => {
38236
38240
  const value = item._fields?.[field];
38237
38241
  if (!value) return null;
@@ -38627,7 +38631,7 @@ var init_MediaGallery = __esm({
38627
38631
  }
38628
38632
  ),
38629
38633
  item.caption && /* @__PURE__ */ jsx(Box, { className: "absolute bottom-0 left-0 right-0 p-2 bg-gradient-to-t from-black/60 to-transparent", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-white truncate", children: item.caption }) }),
38630
- selectable && isSelected && /* @__PURE__ */ jsx(Box, { className: "absolute top-2 right-2 w-5 h-5 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-white text-[10px]", children: "\u2713" }) })
38634
+ selectable && isSelected && /* @__PURE__ */ jsx(Box, { className: "absolute top-2 right-2 w-5 h-5 rounded-full bg-primary flex items-center justify-center", children: /* @__PURE__ */ jsx(Typography, { variant: "caption", className: "text-white text-xs", children: "\u2713" }) })
38631
38635
  ]
38632
38636
  },
38633
38637
  item.id
@@ -40142,13 +40146,13 @@ function WalkMinimap() {
40142
40146
  })
40143
40147
  ] }) }),
40144
40148
  /* @__PURE__ */ jsx(Box, { className: "px-2 py-1 border-t border-border", children: /* @__PURE__ */ jsxs(HStack, { gap: "sm", className: "items-center justify-between", children: [
40145
- /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-[10px] font-mono text-green-500", children: [
40149
+ /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-xs font-mono text-green-500", children: [
40146
40150
  "Engine: ",
40147
40151
  engineCount,
40148
40152
  "/",
40149
40153
  totalTransitions
40150
40154
  ] }),
40151
- domCount > 0 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-[10px] font-mono text-cyan-500", children: [
40155
+ domCount > 0 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", className: "text-xs font-mono text-cyan-500", children: [
40152
40156
  "DOM: ",
40153
40157
  domCount
40154
40158
  ] }),
@@ -40662,7 +40666,7 @@ function VerificationTab({ checks, summary }) {
40662
40666
  /* @__PURE__ */ jsx(Typography, { variant: "small", className: "break-words", children: check.label }),
40663
40667
  check.details && /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-gray-500 break-words", children: check.details })
40664
40668
  ] }),
40665
- /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-gray-400 font-mono text-[10px] shrink-0", children: new Date(check.updatedAt).toLocaleTimeString("en-US", {
40669
+ /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-muted-foreground font-mono text-xs shrink-0", children: new Date(check.updatedAt).toLocaleTimeString("en-US", {
40666
40670
  hour12: false,
40667
40671
  hour: "2-digit",
40668
40672
  minute: "2-digit",
@@ -40695,7 +40699,7 @@ var init_VerificationTab = __esm({
40695
40699
  function EffectBadge({ effect }) {
40696
40700
  const variant = EFFECT_STATUS_VARIANT[effect.status] || "default";
40697
40701
  const icon = effect.status === "executed" ? "\u2713" : effect.status === "failed" ? "\u2717" : "-";
40698
- return /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1 text-[10px] font-mono bg-gray-100 dark:bg-gray-700 rounded px-1.5 py-0.5", children: [
40702
+ return /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1 text-xs font-mono bg-gray-100 dark:bg-gray-700 rounded px-1.5 py-0.5", children: [
40699
40703
  /* @__PURE__ */ jsx(Badge, { variant, size: "sm", className: "!text-[9px] !px-1 !py-0", children: icon }),
40700
40704
  /* @__PURE__ */ jsx("span", { className: "text-gray-600 dark:text-gray-400", children: effect.type }),
40701
40705
  effect.error && /* @__PURE__ */ jsx("span", { className: "text-red-500 truncate max-w-[120px]", title: effect.error, children: effect.error })
@@ -40799,8 +40803,8 @@ function TransitionTimeline({ transitions }) {
40799
40803
  ] }),
40800
40804
  isExpanded && trace.effects.length > 0 && /* @__PURE__ */ jsx("div", { className: "ml-2 mt-1 mb-2 pl-2 border-l border-gray-200 dark:border-gray-700 space-y-1", children: trace.effects.map((effect, eIdx) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
40801
40805
  /* @__PURE__ */ jsx(EffectBadge, { effect }),
40802
- effect.args.length > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-gray-400 font-mono text-[10px] truncate max-w-[200px]", children: JSON.stringify(effect.args) }),
40803
- effect.durationMs !== void 0 && /* @__PURE__ */ jsxs(Typography, { variant: "small", className: "text-gray-400 text-[10px]", children: [
40806
+ effect.args.length > 0 && /* @__PURE__ */ jsx(Typography, { variant: "small", className: "text-muted-foreground font-mono text-xs truncate max-w-[200px]", children: JSON.stringify(effect.args) }),
40807
+ effect.durationMs !== void 0 && /* @__PURE__ */ jsxs(Typography, { variant: "small", className: "text-muted-foreground text-xs", children: [
40804
40808
  effect.durationMs,
40805
40809
  "ms"
40806
40810
  ] })
@@ -41087,7 +41091,7 @@ var init_RuntimeDebugger = __esm({
41087
41091
  });
41088
41092
  function ServerResponseRow({ sr }) {
41089
41093
  const entityEntries = Object.entries(sr.dataEntities);
41090
- return /* @__PURE__ */ jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-[10px] font-mono", children: [
41094
+ return /* @__PURE__ */ jsxs("div", { className: "ml-4 pl-2 border-l border-purple-500/30 py-0.5 text-xs font-mono", children: [
41091
41095
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
41092
41096
  /* @__PURE__ */ jsxs("span", { className: sr.success ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400", children: [
41093
41097
  sr.success ? "\u2713" : "\u2717",
@@ -41144,7 +41148,7 @@ function TransitionRow({ trace }) {
41144
41148
  ] })
41145
41149
  ] }),
41146
41150
  trace.effects.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1 ml-6 mt-0.5", children: trace.effects.map((eff, i) => /* @__PURE__ */ jsxs("span", { className: cn(
41147
- "px-1 rounded text-[10px]",
41151
+ "px-1 rounded text-xs",
41148
41152
  eff.status === "executed" ? "bg-green-500/15 text-green-600 dark:text-green-400" : eff.status === "failed" ? "bg-red-500/15 text-red-600 dark:text-red-400" : "bg-yellow-500/15 text-yellow-600 dark:text-yellow-400"
41149
41153
  ), children: [
41150
41154
  eff.status === "executed" ? "\u2713" : eff.status === "failed" ? "\u2717" : "-",
@@ -44057,7 +44061,7 @@ function StatusEffect({
44057
44061
  children: stacks
44058
44062
  }
44059
44063
  ),
44060
- label && /* @__PURE__ */ jsx("span", { className: "text-[10px] text-gray-400 mt-0.5 text-center whitespace-nowrap", children: label })
44064
+ label && /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground mt-0.5 text-center whitespace-nowrap", children: label })
44061
44065
  ] });
44062
44066
  }
44063
44067
  var sizeMap16, variantStyles9;
@@ -44065,8 +44069,8 @@ var init_StatusEffect = __esm({
44065
44069
  "components/atoms/game/StatusEffect.tsx"() {
44066
44070
  init_cn();
44067
44071
  sizeMap16 = {
44068
- sm: { container: "w-8 h-8", icon: "text-sm", badge: "text-[10px] -top-1 -right-1 w-4 h-4", timer: "text-[9px]" },
44069
- md: { container: "w-10 h-10", icon: "text-base", badge: "text-xs -top-1 -right-1 w-5 h-5", timer: "text-[10px]" },
44072
+ sm: { container: "w-8 h-8", icon: "text-sm", badge: "text-xs -top-1 -right-1 w-4 h-4", timer: "text-[9px]" },
44073
+ md: { container: "w-10 h-10", icon: "text-base", badge: "text-xs -top-1 -right-1 w-5 h-5", timer: "text-xs" },
44070
44074
  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" }
44071
44075
  };
44072
44076
  variantStyles9 = {
@@ -45452,7 +45456,7 @@ var init_XPBar = __esm({
45452
45456
  "components/atoms/game/XPBar.tsx"() {
45453
45457
  init_cn();
45454
45458
  sizeMap18 = {
45455
- sm: { bar: "h-2", text: "text-[10px]", badge: "text-[10px] px-1.5 py-0.5" },
45459
+ sm: { bar: "h-2", text: "text-xs", badge: "text-xs px-1.5 py-0.5" },
45456
45460
  md: { bar: "h-3", text: "text-xs", badge: "text-xs px-2 py-0.5" },
45457
45461
  lg: { bar: "h-4", text: "text-sm", badge: "text-sm px-2.5 py-1" }
45458
45462
  };
@@ -3682,7 +3682,7 @@ function resolveIconForFamily(name, family) {
3682
3682
  var sizeClasses = {
3683
3683
  xs: "w-3 h-3",
3684
3684
  sm: "w-4 h-4",
3685
- md: "w-5 h-5",
3685
+ md: "h-icon-default w-icon-default",
3686
3686
  lg: "w-6 h-6",
3687
3687
  xl: "w-8 h-8"
3688
3688
  };
@@ -3800,14 +3800,14 @@ var variantStyles2 = {
3800
3800
  };
3801
3801
  variantStyles2.destructive = variantStyles2.danger;
3802
3802
  var sizeStyles2 = {
3803
- sm: "px-3 py-1.5 text-sm",
3804
- md: "px-4 py-2 text-sm",
3805
- lg: "px-6 py-3 text-base"
3803
+ sm: "h-button-sm px-3 text-sm",
3804
+ md: "h-button-md px-4 text-sm",
3805
+ lg: "h-button-lg px-6 text-base"
3806
3806
  };
3807
3807
  var iconSizeStyles = {
3808
- sm: "h-3.5 w-3.5",
3808
+ sm: "h-icon-default w-icon-default",
3809
3809
  md: "h-icon-default w-icon-default",
3810
- lg: "h-5 w-5"
3810
+ lg: "h-icon-default w-icon-default"
3811
3811
  };
3812
3812
  function resolveIconProp(value, sizeClass) {
3813
3813
  if (!value) return null;
@@ -3863,7 +3863,7 @@ var Button = React7__default.default.forwardRef(
3863
3863
  disabled: disabled || isLoading,
3864
3864
  className: cn(
3865
3865
  "inline-flex items-center justify-center gap-2",
3866
- "font-[var(--font-weight-medium)]",
3866
+ "font-medium",
3867
3867
  "rounded-sm",
3868
3868
  "cursor-pointer",
3869
3869
  "transition-all duration-[var(--transition-normal)]",
@@ -3892,21 +3892,21 @@ var variantStyles3 = {
3892
3892
  "border-[length:var(--border-width)] border-border",
3893
3893
  "shadow-elevation-card",
3894
3894
  "transition-all duration-[var(--transition-normal)]",
3895
- "hover:shadow-elevation-dialog hover:-translate-y-0.5"
3895
+ "hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
3896
3896
  ].join(" "),
3897
3897
  bordered: [
3898
3898
  "bg-card",
3899
3899
  "border-[length:var(--border-width)] border-border",
3900
3900
  "shadow-elevation-card",
3901
3901
  "transition-all duration-[var(--transition-normal)]",
3902
- "hover:shadow-elevation-dialog hover:-translate-y-0.5"
3902
+ "hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
3903
3903
  ].join(" "),
3904
3904
  elevated: [
3905
3905
  "bg-card",
3906
3906
  "border-[length:var(--border-width)] border-border",
3907
3907
  "shadow",
3908
3908
  "transition-all duration-[var(--transition-normal)]",
3909
- "hover:shadow-elevation-dialog hover:-translate-y-0.5"
3909
+ "hover:shadow-elevation-dialog hover:translate-y-[var(--hover-translate-y)]"
3910
3910
  ].join(" "),
3911
3911
  // Interactive variant with theme-specific hover effects
3912
3912
  interactive: [
@@ -3956,7 +3956,7 @@ var Card = React7__default.default.forwardRef(
3956
3956
  ...props,
3957
3957
  children: [
3958
3958
  (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
3959
- title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg text-card-foreground font-[var(--font-weight-bold)]", children: title }),
3959
+ title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg text-card-foreground font-bold", children: title }),
3960
3960
  subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground mt-1", children: subtitle })
3961
3961
  ] }),
3962
3962
  children
@@ -3974,7 +3974,7 @@ var CardTitle = React7__default.default.forwardRef(({ className, ...props }, ref
3974
3974
  ref,
3975
3975
  className: cn(
3976
3976
  "text-lg text-card-foreground",
3977
- "font-[var(--font-weight-bold)]",
3977
+ "font-bold",
3978
3978
  className
3979
3979
  ),
3980
3980
  ...props
@@ -4084,10 +4084,11 @@ var Input = React7__default.default.forwardRef(
4084
4084
  const type = inputType || htmlType || "text";
4085
4085
  const resolvedLeftIcon = leftIcon || IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-icon-default w-icon-default" });
4086
4086
  const showClearButton = clearable && value && String(value).length > 0;
4087
+ const isMultiline = type === "textarea";
4087
4088
  const baseClassName = cn(
4088
4089
  "block w-full rounded-sm transition-all duration-[var(--transition-fast)]",
4089
4090
  "border-[length:var(--border-width-thin)] border-border",
4090
- "px-3 py-2 text-sm",
4091
+ isMultiline ? "px-3 py-2 text-sm" : "h-input-md px-3 text-sm",
4091
4092
  "bg-card hover:bg-muted focus:bg-card",
4092
4093
  "text-foreground placeholder:text-muted-foreground",
4093
4094
  "focus:outline-none focus:ring-1 focus:ring-ring focus:border-ring",
@@ -4139,7 +4140,7 @@ var Input = React7__default.default.forwardRef(
4139
4140
  checked: props.checked,
4140
4141
  onChange,
4141
4142
  className: cn(
4142
- "h-4 w-4 rounded-sm",
4143
+ "h-icon-default w-icon-default rounded-sm",
4143
4144
  "border-border",
4144
4145
  "text-primary focus:ring-ring",
4145
4146
  "disabled:opacity-50 disabled:cursor-not-allowed",