haze-ui 1.22.0 → 1.24.0

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.
Files changed (78) hide show
  1. package/README.md +7 -0
  2. package/dist/components/BottomSheet/BottomSheet.js +33 -16
  3. package/dist/components/Collapsible/Collapsible.js +34 -27
  4. package/dist/components/Combobox/Combobox.js +2 -1
  5. package/dist/components/ConfirmDialog/ConfirmDialog.js +60 -42
  6. package/dist/components/ContextMenu/ContextMenu.js +2 -1
  7. package/dist/components/ContextMenu/ContextMenuContent.js +33 -23
  8. package/dist/components/Datepicker/DatepickerCore.js +2 -1
  9. package/dist/components/Dialog/Dialog.js +40 -21
  10. package/dist/components/Drawer/Drawer.js +37 -18
  11. package/dist/components/DropdownMenu/DropdownMenu.js +27 -25
  12. package/dist/components/DropdownMenu/DropdownMenuContent.js +2 -2
  13. package/dist/components/Menu/Menu.js +43 -35
  14. package/dist/components/Popover/Popover.js +27 -25
  15. package/dist/components/Toast/Toast.js +25 -20
  16. package/dist/components/Toast/ToastContainer.js +31 -24
  17. package/dist/components/Tooltip/Tooltip.js +37 -34
  18. package/dist/css/alert.css +1 -1
  19. package/dist/css/approval-card.css +1 -1
  20. package/dist/css/async-section.css +1 -1
  21. package/dist/css/badge.css +1 -1
  22. package/dist/css/banner.css +1 -1
  23. package/dist/css/bottom-sheet.css +1 -1
  24. package/dist/css/chat-message.css +1 -1
  25. package/dist/css/code-block.css +1 -1
  26. package/dist/css/collapsible.css +1 -1
  27. package/dist/css/combobox.css +1 -1
  28. package/dist/css/confirm-dialog.css +1 -1
  29. package/dist/css/context-menu.css +2 -2
  30. package/dist/css/conversation-list.css +1 -1
  31. package/dist/css/datepicker.css +1 -1
  32. package/dist/css/dialog.css +1 -1
  33. package/dist/css/diff-viewer.css +1 -1
  34. package/dist/css/drawer.css +1 -1
  35. package/dist/css/dropdown-menu.css +2 -2
  36. package/dist/css/inline-edit.css +1 -1
  37. package/dist/css/log-viewer.css +1 -1
  38. package/dist/css/markdown-renderer.css +1 -1
  39. package/dist/css/menu.css +1 -1
  40. package/dist/css/navigation-bar.css +1 -1
  41. package/dist/css/popover.css +1 -1
  42. package/dist/css/step-timeline.css +1 -1
  43. package/dist/css/tag-group.css +1 -1
  44. package/dist/css/tag-input.css +1 -1
  45. package/dist/css/tag.css +1 -1
  46. package/dist/css/toast.css +1 -1
  47. package/dist/css/token-counter.css +1 -1
  48. package/dist/css/tokens.css +2 -1
  49. package/dist/css/tool-call-card.css +1 -1
  50. package/dist/css/tooltip.css +1 -1
  51. package/dist/haze-ui.css +36 -35
  52. package/dist/tokens/index.js +4 -1
  53. package/dist/tokens/motion.js +6 -0
  54. package/dist/tokens/oklch.js +117 -0
  55. package/dist/tokens/palette.js +327 -0
  56. package/dist/tokens/registry.js +154 -145
  57. package/dist/types/components/BottomSheet/BottomSheet.d.ts +3 -3
  58. package/dist/types/components/Collapsible/Collapsible.d.ts +1 -1
  59. package/dist/types/components/ConfirmDialog/ConfirmDialog.d.ts +3 -3
  60. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +7 -1
  61. package/dist/types/components/Popover/Popover.d.ts +7 -1
  62. package/dist/types/components/Toast/Toast.d.ts +3 -3
  63. package/dist/types/components/Tooltip/Tooltip.d.ts +4 -1
  64. package/dist/types/tokens/index.d.ts +5 -0
  65. package/dist/types/tokens/motion.d.ts +1 -0
  66. package/dist/types/tokens/oklch.d.ts +35 -0
  67. package/dist/types/tokens/palette.d.ts +28 -0
  68. package/dist/types/utils/collision.d.ts +62 -0
  69. package/dist/types/utils/floating.d.ts +95 -19
  70. package/dist/types/utils/focus-scope.d.ts +25 -0
  71. package/dist/types/utils/focus.d.ts +23 -0
  72. package/dist/types/utils/presence.d.ts +22 -0
  73. package/dist/utils/collision.js +73 -0
  74. package/dist/utils/floating.js +195 -150
  75. package/dist/utils/focus-scope.js +63 -0
  76. package/dist/utils/focus.js +34 -0
  77. package/dist/utils/presence.js +72 -0
  78. package/package.json +4 -2
@@ -1,47 +1,55 @@
1
1
 
2
2
  import { classnames as e } from "../../utils/classnames.js";
3
- import { FloatingPanel as t, useFloating as n } from "../../utils/floating.js";
4
- import { useMenuKeyboard as r, useRovingTabindex as i } from "../../utils/menuKeyboard.js";
3
+ import { useFocusScope as t } from "../../utils/focus-scope.js";
4
+ import { FloatingPanel as n, useFloating as r } from "../../utils/floating.js";
5
+ import { useMenuKeyboard as i, useRovingTabindex as a } from "../../utils/menuKeyboard.js";
5
6
  /* empty css */
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
- import { useRef as s } from "react";
8
- import { useControl as c } from "react-use-control";
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { useCallback as c, useRef as l } from "react";
9
+ import { useControl as u } from "react-use-control";
9
10
  //#region src/lib/components/Menu/Menu.tsx
10
- var l = "haze-Menu__container", u = "haze-Menu__panel";
11
- function d({ open: d, trigger: f, className: p, children: m }) {
12
- let [h, g] = c(d, !1), _ = s(null), v = s(null), y = n({
13
- open: h,
14
- setOpen: g,
15
- triggerRef: _,
16
- panelRef: v
11
+ var d = "haze-Menu__container", f = "haze-Menu__panel";
12
+ function p({ open: p, trigger: m, className: h, children: g }) {
13
+ let [_, v] = u(p, !1), y = l(null), b = l(null), x = r({
14
+ open: _,
15
+ setOpen: v,
16
+ triggerRef: y,
17
+ panelRef: b,
18
+ animated: !0
17
19
  });
18
- i({
19
- menuRef: v,
20
- active: h
20
+ a({
21
+ menuRef: b,
22
+ active: _
21
23
  });
22
- let b = r({
23
- menuRef: v,
24
- onClose: () => g(!1)
25
- });
26
- return /* @__PURE__ */ o("div", {
27
- className: e(l),
28
- children: [/* @__PURE__ */ a("span", {
29
- ref: _,
30
- style: y.triggerStyle,
31
- onPointerDown: y.onTriggerPointerDown,
32
- onClick: y.onTriggerClick,
33
- children: f
34
- }), /* @__PURE__ */ a(t, {
35
- ref: v,
36
- behavior: y,
24
+ let S = i({
25
+ menuRef: b,
26
+ onClose: () => v(!1)
27
+ }), C = t({
28
+ enabled: _,
29
+ autoFocus: !0,
30
+ returnFocus: !0
31
+ }), w = c((e) => {
32
+ b.current = e, C(e);
33
+ }, [b, C]);
34
+ return /* @__PURE__ */ s("div", {
35
+ className: e(d),
36
+ children: [/* @__PURE__ */ o("span", {
37
+ ref: y,
38
+ style: x.triggerStyle,
39
+ onPointerDown: x.onTriggerPointerDown,
40
+ onClick: x.onTriggerClick,
41
+ children: m
42
+ }), /* @__PURE__ */ o(n, {
43
+ ref: w,
44
+ behavior: x,
37
45
  placement: "bottom",
38
46
  role: "menu",
39
- visualClass: u,
40
- className: p,
41
- onKeyDown: b,
42
- children: m
47
+ visualClass: f,
48
+ className: h,
49
+ onKeyDown: S,
50
+ children: g
43
51
  })]
44
52
  });
45
53
  }
46
54
  //#endregion
47
- export { d as default };
55
+ export { p as default };
@@ -2,43 +2,45 @@
2
2
  import { FloatingPanel as e, useFloating as t } from "../../utils/floating.js";
3
3
  /* empty css */
4
4
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
- import { useId as i, useRef as a } from "react";
6
- import { useControl as o } from "react-use-control";
5
+ import { useId as i, useMemo as a, useRef as o } from "react";
6
+ import { useControl as s } from "react-use-control";
7
7
  //#region src/lib/components/Popover/Popover.tsx
8
- var s = "haze-Popover__container", c = "haze-Popover__panelVisuals";
9
- function l({ content: l, open: u, className: d, children: f }) {
10
- let [p, m] = o(u, !1), h = i(), g = a(null), _ = a(null), v = t({
11
- open: p,
12
- setOpen: m,
13
- triggerRef: g,
14
- panelRef: _
8
+ var c = "haze-Popover__container", l = "haze-Popover__panelVisuals";
9
+ function u({ content: u, open: d, collisionPadding: f, className: p, children: m }) {
10
+ let [h, g] = s(d, !1), _ = i(), v = o(null), y = o(null), b = a(() => f === void 0 ? void 0 : { collisionPadding: f }, [f]), x = t({
11
+ open: h,
12
+ setOpen: g,
13
+ triggerRef: v,
14
+ panelRef: y,
15
+ animated: !0,
16
+ collision: b
15
17
  });
16
18
  return /* @__PURE__ */ r("span", {
17
- className: s,
19
+ className: c,
18
20
  children: [/* @__PURE__ */ n("span", {
19
- ref: g,
20
- style: v.triggerStyle,
21
+ ref: v,
22
+ style: x.triggerStyle,
21
23
  role: "button",
22
24
  tabIndex: 0,
23
25
  "aria-haspopup": "true",
24
- "aria-expanded": p,
25
- "aria-controls": h,
26
- onPointerDown: v.onTriggerPointerDown,
27
- onClick: v.onTriggerClick,
26
+ "aria-expanded": h,
27
+ "aria-controls": _,
28
+ onPointerDown: x.onTriggerPointerDown,
29
+ onClick: x.onTriggerClick,
28
30
  onKeyDown: (e) => {
29
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), v.onTriggerClick());
31
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), x.onTriggerClick());
30
32
  },
31
- children: f
33
+ children: m
32
34
  }), /* @__PURE__ */ n(e, {
33
- ref: _,
34
- behavior: v,
35
+ ref: y,
36
+ behavior: x,
35
37
  placement: "bottom-span",
36
- id: h,
37
- visualClass: c,
38
- className: d,
39
- children: l
38
+ id: _,
39
+ visualClass: l,
40
+ className: p,
41
+ children: u
40
42
  })]
41
43
  });
42
44
  }
43
45
  //#endregion
44
- export { l as default };
46
+ export { u as default };
@@ -10,41 +10,46 @@ var o = "haze-Toast__base", s = {
10
10
  warning: "haze-Toast__warning",
11
11
  danger: "haze-Toast__danger"
12
12
  }, c = "haze-Toast__contentStyle", l = "haze-Toast__closeBtn";
13
- function u({ variant: u = "info", onClose: d, duration: f, children: p }) {
14
- let m = a(f), h = a(0), g = a(null), _ = a(!1), v = a(!1), y = a(d);
13
+ function u({ variant: u = "info", onClose: d, duration: f, children: p, className: m, ...h }) {
14
+ let g = a(f), _ = a(0), v = a(null), y = a(!1), b = a(!1), x = a(d);
15
15
  i(() => {
16
- y.current = d;
16
+ x.current = d;
17
17
  }, [d]);
18
- let b = r(() => {
19
- g.current !== null && (clearTimeout(g.current), g.current = null, m.current = Math.max(0, m.current - (Date.now() - h.current)));
20
- }, []), x = r(() => {
21
- g.current !== null || m.current <= 0 || (h.current = Date.now(), g.current = setTimeout(() => {
22
- g.current = null, y.current();
23
- }, m.current));
24
- }, []), S = r(() => {
25
- _.current || v.current ? b() : x();
26
- }, [b, x]);
18
+ let S = r(() => {
19
+ v.current !== null && (clearTimeout(v.current), v.current = null, g.current = Math.max(0, g.current - (Date.now() - _.current)));
20
+ }, []), C = r(() => {
21
+ v.current !== null || g.current <= 0 || (_.current = Date.now(), v.current = setTimeout(() => {
22
+ v.current = null, x.current();
23
+ }, g.current));
24
+ }, []), w = r(() => {
25
+ y.current || b.current ? S() : C();
26
+ }, [S, C]);
27
27
  return i(() => {
28
- if (!(f <= 0)) return m.current = f, !_.current && !v.current && x(), b;
28
+ if (!(f <= 0)) return g.current = f, !y.current && !b.current && C(), S;
29
29
  }, [
30
30
  f,
31
- x,
32
- b
31
+ C,
32
+ S
33
33
  ]), /* @__PURE__ */ n("div", {
34
34
  role: "alert",
35
35
  onPointerEnter: () => {
36
- _.current = !0, S();
36
+ y.current = !0, w();
37
37
  },
38
38
  onPointerLeave: () => {
39
- _.current = !1, S();
39
+ y.current = !1, w();
40
40
  },
41
41
  onFocus: () => {
42
- v.current = !0, S();
42
+ b.current = !0, w();
43
43
  },
44
44
  onBlur: () => {
45
- v.current = !1, S();
45
+ b.current = !1, w();
46
46
  },
47
- className: e([o, s[u]]),
47
+ ...h,
48
+ className: e([
49
+ o,
50
+ s[u],
51
+ m
52
+ ]),
48
53
  children: [/* @__PURE__ */ t("div", {
49
54
  className: c,
50
55
  children: p
@@ -1,45 +1,52 @@
1
1
 
2
2
  import { classnames as e } from "../../utils/classnames.js";
3
- import t from "./Toast.js";
4
- import { ToastProvider as n } from "./ToastContext.js";
3
+ import { Presence as t } from "../../utils/presence.js";
4
+ import n from "./Toast.js";
5
+ import { ToastProvider as r } from "./ToastContext.js";
5
6
  /* empty css */
6
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
7
- import { useCallback as a, useRef as o, useState as s } from "react";
7
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
8
+ import { useCallback as o, useRef as s, useState as c } from "react";
8
9
  //#region src/lib/components/Toast/ToastContainer.tsx
9
- var c = "haze-ToastContainer__containerBase", l = {
10
+ var l = "haze-ToastContainer__containerBase", u = {
10
11
  "top-left": "haze-ToastContainer__top-left",
11
12
  "top-right": "haze-ToastContainer__top-right",
12
13
  "bottom-left": "haze-ToastContainer__bottom-left",
13
14
  "bottom-right": "haze-ToastContainer__bottom-right"
14
15
  };
15
- function u({ children: u, maxCount: d, placement: f = "bottom-right" }) {
16
- let [p, m] = s([]), h = o(0), g = a((e) => {
17
- h.current += 1, m((t) => {
16
+ function d({ children: d, maxCount: f, placement: p = "bottom-right" }) {
17
+ let [m, h] = c([]), [g, _] = c([]), v = s(0), y = o((e) => {
18
+ v.current += 1, h((t) => {
18
19
  let n = [...t, {
19
20
  ...e,
20
- id: h.current
21
+ id: v.current
21
22
  }];
22
- return d === void 0 || n.length <= d ? n : n.slice(n.length - d);
23
+ return f === void 0 || n.length <= f ? n : n.slice(n.length - f);
23
24
  });
24
- }, [d]), _ = a((e) => {
25
- m((t) => t.filter((t) => t.id !== e));
25
+ }, [f]), b = o((e) => {
26
+ _((t) => t.includes(e) ? t : [...t, e]);
27
+ }, []), x = o((e) => {
28
+ h((t) => t.filter((t) => t.id !== e)), _((t) => t.filter((t) => t !== e));
26
29
  }, []);
27
- return /* @__PURE__ */ i(n, {
30
+ return /* @__PURE__ */ a(r, {
28
31
  value: {
29
- toasts: p,
30
- addToast: g,
31
- removeToast: _
32
+ toasts: m,
33
+ addToast: y,
34
+ removeToast: b
32
35
  },
33
- children: [u, /* @__PURE__ */ r("div", {
34
- className: e([c, l[f]]),
35
- children: p.map((e) => /* @__PURE__ */ r(t, {
36
- variant: e.variant,
37
- duration: e.duration,
38
- onClose: () => _(e.id),
39
- children: e.content
36
+ children: [d, /* @__PURE__ */ i("div", {
37
+ className: e([l, u[p]]),
38
+ children: m.map((e) => /* @__PURE__ */ i(t, {
39
+ present: !g.includes(e.id),
40
+ onExited: () => x(e.id),
41
+ children: /* @__PURE__ */ i(n, {
42
+ variant: e.variant,
43
+ duration: e.duration,
44
+ onClose: () => b(e.id),
45
+ children: e.content
46
+ })
40
47
  }, e.id))
41
48
  })]
42
49
  });
43
50
  }
44
51
  //#endregion
45
- export { u as default, l as toastPlacements };
52
+ export { d as default, u as toastPlacements };
@@ -3,57 +3,60 @@ import { classnames as e } from "../../utils/classnames.js";
3
3
  import { floatingPlacementClasses as t, useFloating as n, useFloatingPosition as r } from "../../utils/floating.js";
4
4
  /* empty css */
5
5
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
- import { useEffect as o, useId as s, useRef as c } from "react";
7
- import { useControl as l } from "react-use-control";
6
+ import { useEffect as o, useId as s, useMemo as c, useRef as l } from "react";
7
+ import { useControl as u } from "react-use-control";
8
8
  //#region src/lib/components/Tooltip/Tooltip.tsx
9
- var u = "haze-Tooltip__wrapper", d = "haze-Tooltip__bubble", f = {
9
+ var d = "haze-Tooltip__wrapper", f = "haze-Tooltip__bubble", p = {
10
10
  top: "top",
11
11
  bottom: "bottom-center",
12
12
  left: "left",
13
13
  right: "right"
14
14
  };
15
- function p({ content: p, position: m = "top", delay: h = 150, open: g, className: _, children: v }) {
16
- let [y, b] = l(g, !1), x = s(), S = c(null), C = c(null), w = f[m], T = n({
17
- open: y,
18
- setOpen: b,
19
- triggerRef: S,
20
- panelRef: C
15
+ function m({ content: m, position: h = "top", delay: g = 150, open: _, collisionPadding: v, className: y, children: b }) {
16
+ let [x, S] = u(_, !1), C = s(), w = l(null), T = l(null), E = p[h], D = c(() => v === void 0 ? void 0 : { collisionPadding: v }, [v]), O = n({
17
+ open: x,
18
+ setOpen: S,
19
+ triggerRef: w,
20
+ panelRef: T,
21
+ animated: !0
21
22
  });
22
23
  r({
23
- behavior: T,
24
- placement: w
24
+ behavior: O,
25
+ placement: E,
26
+ collision: D
25
27
  });
26
- let E = c(0);
27
- o(() => () => window.clearTimeout(E.current), []);
28
- let D = () => {
29
- window.clearTimeout(E.current), E.current = window.setTimeout(() => b(!0), h);
30
- }, O = () => {
31
- window.clearTimeout(E.current), b(!1);
28
+ let k = l(0);
29
+ o(() => () => window.clearTimeout(k.current), []);
30
+ let A = () => {
31
+ window.clearTimeout(k.current), k.current = window.setTimeout(() => S(!0), g);
32
+ }, j = () => {
33
+ window.clearTimeout(k.current), S(!1);
32
34
  };
33
35
  return /* @__PURE__ */ a("span", {
34
- className: e([u, _]),
36
+ className: e([d, y]),
35
37
  children: [/* @__PURE__ */ i("span", {
36
- ref: S,
37
- style: T.triggerStyle,
38
- "aria-describedby": x,
39
- onMouseEnter: D,
40
- onMouseLeave: O,
41
- onFocus: D,
42
- onBlur: O,
43
- children: v
38
+ ref: w,
39
+ style: O.triggerStyle,
40
+ "aria-describedby": C,
41
+ onMouseEnter: A,
42
+ onMouseLeave: j,
43
+ onFocus: A,
44
+ onBlur: j,
45
+ children: b
44
46
  }), /* @__PURE__ */ i("span", {
45
- id: x,
46
- ref: C,
47
+ id: C,
48
+ ref: T,
47
49
  role: "tooltip",
48
- ...T.panelAttrs,
50
+ "data-state": O.dataState,
51
+ ...O.panelAttrs,
49
52
  className: e([
50
- d,
51
- ...T.panelClasses,
52
- ...t(T, w)
53
+ f,
54
+ ...O.panelClasses,
55
+ ...t(O, E)
53
56
  ]),
54
- children: p
57
+ children: m
55
58
  })]
56
59
  });
57
60
  }
58
61
  //#endregion
59
- export { p as default };
62
+ export { m as default };
@@ -1,2 +1,2 @@
1
1
  /* haze-ui alert — generated by scripts/split-css.mjs, do not edit */
2
- .haze-Alert__base{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);display:flex}.haze-Alert__info{background:color-mix(in srgb, var(--haze-color-info) 10%, transparent);color:var(--haze-color-info);border:1px solid color-mix(in srgb, var(--haze-color-info) 25%, transparent)}.haze-Alert__success{background:color-mix(in srgb, var(--haze-color-success) 10%, transparent);color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Alert__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, transparent);color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Alert__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, transparent);color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Alert__contentStyle{flex:1}.haze-Alert__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.haze-Alert__closeBtn:hover{opacity:1}.haze-Alert__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}
2
+ .haze-Alert__base{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);display:flex}.haze-Alert__info{background:var(--haze-color-info-subtle);color:var(--haze-color-info);border:1px solid color-mix(in srgb, var(--haze-color-info) 25%, transparent)}.haze-Alert__success{background:var(--haze-color-success-subtle);color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Alert__warning{background:var(--haze-color-warning-subtle);color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Alert__danger{background:var(--haze-color-danger-subtle);color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Alert__contentStyle{flex:1}.haze-Alert__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.haze-Alert__closeBtn:hover{opacity:1}.haze-Alert__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui approval-card — generated by scripts/split-css.mjs, do not edit */
2
- .haze-ApprovalCard__card{border:1px solid var(--haze-color-warning,#eab308);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);background:var(--haze-color-bg);overflow:hidden}.haze-ApprovalCard__header{padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-warning-light,#fef9c3);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-ApprovalCard__body{padding:var(--haze-space-3) var(--haze-space-4)}.haze-ApprovalCard__desc{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__content{margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__actions{gap:var(--haze-space-2);padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);display:flex}.haze-ApprovalCard__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;flex:1;transition:background .15s}.haze-ApprovalCard__denyBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ApprovalCard__denyBtn:hover{background:var(--haze-color-muted)}.haze-ApprovalCard__approveBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ApprovalCard__approveBtn:hover{opacity:.9}
2
+ .haze-ApprovalCard__card{border:1px solid var(--haze-color-warning);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);background:var(--haze-color-bg);overflow:hidden}.haze-ApprovalCard__header{padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-warning-subtle);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-ApprovalCard__body{padding:var(--haze-space-3) var(--haze-space-4)}.haze-ApprovalCard__desc{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__content{margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__actions{gap:var(--haze-space-2);padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);display:flex}.haze-ApprovalCard__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;flex:1;transition:background .15s}.haze-ApprovalCard__denyBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ApprovalCard__denyBtn:hover{background:var(--haze-color-bg-muted)}.haze-ApprovalCard__approveBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ApprovalCard__approveBtn:hover{opacity:.9}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui async-section — generated by scripts/split-css.mjs, do not edit */
2
- .haze-AsyncSection__base{font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-AsyncSection__placeholder{align-items:center;gap:var(--haze-space-3);padding:var(--haze-space-8) var(--haze-space-4);color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);flex-direction:column;display:flex}.haze-AsyncSection__spin{width:24px;height:24px;animation:.8s linear infinite spin-haze-AsyncSection__spin;display:inline-flex}@keyframes spin-haze-AsyncSection__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-AsyncSection__errorBox{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-4);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);background:color-mix(in srgb, var(--haze-color-danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);flex-direction:column;display:flex}.haze-AsyncSection__errorMessage{color:var(--haze-color-danger);margin:0}.haze-AsyncSection__retryButton{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-1) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;transition:background .15s,border-color .15s;display:inline-flex}.haze-AsyncSection__retryButton:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-AsyncSection__retryButton:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}
2
+ .haze-AsyncSection__base{font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-AsyncSection__placeholder{align-items:center;gap:var(--haze-space-3);padding:var(--haze-space-8) var(--haze-space-4);color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);flex-direction:column;display:flex}.haze-AsyncSection__spin{width:24px;height:24px;animation:.8s linear infinite spin-haze-AsyncSection__spin;display:inline-flex}@keyframes spin-haze-AsyncSection__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-AsyncSection__errorBox{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-4);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);background:var(--haze-color-danger-subtle);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);flex-direction:column;display:flex}.haze-AsyncSection__errorMessage{color:var(--haze-color-danger);margin:0}.haze-AsyncSection__retryButton{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-1) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;transition:background .15s,border-color .15s;display:inline-flex}.haze-AsyncSection__retryButton:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-AsyncSection__retryButton:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui badge — generated by scripts/split-css.mjs, do not edit */
2
- .haze-Badge__base{border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;align-items:center;display:inline-flex}.haze-Badge__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Badge__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Badge__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Badge__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Badge__info{background:color-mix(in srgb, var(--haze-color-info) 15%, transparent);color:var(--haze-color-info)}.haze-Badge__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Badge__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}
2
+ .haze-Badge__base{border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;align-items:center;display:inline-flex}.haze-Badge__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Badge__success{background:var(--haze-color-success-subtle);color:var(--haze-color-success)}.haze-Badge__warning{background:var(--haze-color-warning-subtle);color:var(--haze-color-warning)}.haze-Badge__danger{background:var(--haze-color-danger-subtle);color:var(--haze-color-danger)}.haze-Badge__info{background:var(--haze-color-info-subtle);color:var(--haze-color-info)}.haze-Badge__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Badge__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui banner — generated by scripts/split-css.mjs, do not edit */
2
- .haze-Banner__banner{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);border-radius:var(--haze-radius-md);justify-content:space-between;display:flex}.haze-Banner__info{background:var(--haze-color-info-light,#e0f2fe);color:var(--haze-color-info,#0284c7)}.haze-Banner__success{background:var(--haze-color-success-light,#dcfce7);color:var(--haze-color-success,#16a34a)}.haze-Banner__warning{background:var(--haze-color-warning-light,#fef9c3);color:var(--haze-color-warning,#ca8a04)}.haze-Banner__danger{background:var(--haze-color-danger-light,#fee2e2);color:var(--haze-color-danger,#dc2626)}.haze-Banner__closeBtn{cursor:pointer;color:inherit;opacity:.7;font-size:var(--haze-text-lg);padding:var(--haze-space-2);background:0 0;border:none;min-width:2.5rem;min-height:2.5rem;line-height:1}.haze-Banner__closeBtn:hover{opacity:1}.haze-Banner__content{flex:1}
2
+ .haze-Banner__banner{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);border-radius:var(--haze-radius-md);justify-content:space-between;display:flex}.haze-Banner__info{background:var(--haze-color-info-subtle);color:var(--haze-color-info)}.haze-Banner__success{background:var(--haze-color-success-subtle);color:var(--haze-color-success)}.haze-Banner__warning{background:var(--haze-color-warning-subtle);color:var(--haze-color-warning)}.haze-Banner__danger{background:var(--haze-color-danger-subtle);color:var(--haze-color-danger)}.haze-Banner__closeBtn{cursor:pointer;color:inherit;opacity:.7;font-size:var(--haze-text-lg);padding:var(--haze-space-2);background:0 0;border:none;min-width:2.5rem;min-height:2.5rem;line-height:1}.haze-Banner__closeBtn:hover{opacity:1}.haze-Banner__content{flex:1}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui bottom-sheet — generated by scripts/split-css.mjs, do not edit */
2
- .haze-BottomSheet__overlay{z-index:100;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.haze-BottomSheet__sheet{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl) var(--haze-radius-xl) 0 0;padding:var(--haze-space-4) var(--haze-space-6) calc(var(--haze-space-4) + env(safe-area-inset-bottom));width:100%;max-width:640px;max-height:80vh;font-family:var(--haze-font-sans);color:var(--haze-color-text);box-shadow:var(--haze-shadow-xl);overflow-y:auto}.haze-BottomSheet__handle{background:var(--haze-color-border);border-radius:var(--haze-radius-full);width:2rem;height:.25rem;margin:0 auto var(--haze-space-4)}
2
+ .haze-BottomSheet__overlay{z-index:100;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.haze-BottomSheet__overlay[data-state=open]{-webkit-animation:haze-sheet-backdrop-in-haze-BottomSheet__overlay var(--haze-duration-normal) var(--haze-ease);animation:haze-sheet-backdrop-in-haze-BottomSheet__overlay var(--haze-duration-normal) var(--haze-ease)}.haze-BottomSheet__overlay[data-state=closed]{-webkit-animation:haze-sheet-backdrop-out-haze-BottomSheet__overlay var(--haze-duration-fast) var(--haze-ease);animation:haze-sheet-backdrop-out-haze-BottomSheet__overlay var(--haze-duration-fast) var(--haze-ease)}@keyframes haze-sheet-backdrop-in-haze-BottomSheet__overlay{0%{opacity:0}}@keyframes haze-sheet-backdrop-out-haze-BottomSheet__overlay{to{opacity:0}}.haze-BottomSheet__sheet{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl) var(--haze-radius-xl) 0 0;padding:var(--haze-space-4) var(--haze-space-6) calc(var(--haze-space-4) + env(safe-area-inset-bottom));width:100%;max-width:640px;max-height:80vh;font-family:var(--haze-font-sans);color:var(--haze-color-text);box-shadow:var(--haze-shadow-xl);overflow-y:auto}[data-state=open] .haze-BottomSheet__sheet{-webkit-animation:haze-sheet-in-haze-BottomSheet__sheet var(--haze-duration-normal) var(--haze-ease);animation:haze-sheet-in-haze-BottomSheet__sheet var(--haze-duration-normal) var(--haze-ease)}[data-state=closed] .haze-BottomSheet__sheet{-webkit-animation:haze-sheet-out-haze-BottomSheet__sheet var(--haze-duration-fast) var(--haze-ease);animation:haze-sheet-out-haze-BottomSheet__sheet var(--haze-duration-fast) var(--haze-ease)}@keyframes haze-sheet-in-haze-BottomSheet__sheet{0%{transform:translateY(100%)}}@keyframes haze-sheet-out-haze-BottomSheet__sheet{to{transform:translateY(100%)}}.haze-BottomSheet__handle{background:var(--haze-color-border);border-radius:var(--haze-radius-full);width:2rem;height:.25rem;margin:0 auto var(--haze-space-4)}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui chat-message — generated by scripts/split-css.mjs, do not edit */
2
- .haze-ChatMessage__wrapper{gap:var(--haze-space-3);font-family:var(--haze-font-sans);padding:var(--haze-space-3) 0;display:flex}.haze-ChatMessage__wrapperUser{flex-direction:row-reverse}.haze-ChatMessage__avatarSlot{border-radius:var(--haze-radius-full);background:var(--haze-color-muted);width:2rem;height:2rem;font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.haze-ChatMessage__body{min-width:0;max-width:75%}.haze-ChatMessage__header{align-items:center;gap:var(--haze-space-2);margin-bottom:var(--haze-space-1);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);display:flex}.haze-ChatMessage__headerUser{flex-direction:row-reverse}.haze-ChatMessage__bubble{padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-lg);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);word-break:break-word}.haze-ChatMessage__bubbleUser{background:var(--haze-color-primary);color:var(--haze-color-bg);border-bottom-right-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleAssistant{background:var(--haze-color-muted);color:var(--haze-color-text);border-bottom-left-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleSystem{color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);text-align:center;padding:var(--haze-space-2);background:0 0}.haze-ChatMessage__statusText{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-ChatMessage__statusError{color:var(--haze-color-danger,#dc2626)}
2
+ .haze-ChatMessage__wrapper{gap:var(--haze-space-3);font-family:var(--haze-font-sans);padding:var(--haze-space-3) 0;display:flex}.haze-ChatMessage__wrapperUser{flex-direction:row-reverse}.haze-ChatMessage__avatarSlot{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);width:2rem;height:2rem;font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.haze-ChatMessage__body{min-width:0;max-width:75%}.haze-ChatMessage__header{align-items:center;gap:var(--haze-space-2);margin-bottom:var(--haze-space-1);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);display:flex}.haze-ChatMessage__headerUser{flex-direction:row-reverse}.haze-ChatMessage__bubble{padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-lg);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);word-break:break-word}.haze-ChatMessage__bubbleUser{background:var(--haze-color-primary);color:var(--haze-color-bg);border-bottom-right-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleAssistant{background:var(--haze-color-bg-muted);color:var(--haze-color-text);border-bottom-left-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleSystem{color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);text-align:center;padding:var(--haze-space-2);background:0 0}.haze-ChatMessage__statusText{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-ChatMessage__statusError{color:var(--haze-color-danger)}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui code-block — generated by scripts/split-css.mjs, do not edit */
2
- .haze-CodeBlock__block{background:var(--haze-color-muted);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-mono);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);position:relative;overflow-x:auto}.haze-CodeBlock__pre{padding:var(--haze-space-4);margin:0}.haze-CodeBlock__lang{top:var(--haze-space-2);right:var(--haze-space-3);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);text-transform:uppercase;-webkit-user-select:none;user-select:none;position:absolute}
2
+ .haze-CodeBlock__block{background:var(--haze-color-bg-muted);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-mono);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);position:relative;overflow-x:auto}.haze-CodeBlock__pre{padding:var(--haze-space-4);margin:0}.haze-CodeBlock__lang{top:var(--haze-space-2);right:var(--haze-space-3);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);text-transform:uppercase;-webkit-user-select:none;user-select:none;position:absolute}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui collapsible — generated by scripts/split-css.mjs, do not edit */
2
- .haze-Collapsible__base{font-family:var(--haze-font-sans)}.haze-Collapsible__triggerStyle{cursor:pointer;-webkit-user-select:none;user-select:none}.haze-Collapsible__contentStyle{overflow:hidden}
2
+ .haze-Collapsible__base{font-family:var(--haze-font-sans)}.haze-Collapsible__triggerStyle{cursor:pointer;-webkit-user-select:none;user-select:none}.haze-Collapsible__contentOuter{display:-ms-grid;-ms-grid-rows:1fr;-webkit-transition:grid-template-rows var(--haze-duration-normal) var(--haze-ease-in-out);transition:grid-template-rows var(--haze-duration-normal) var(--haze-ease-in-out);grid-template-rows:1fr;display:grid}.haze-Collapsible__contentOuter[data-state=closed]{-ms-grid-rows:0fr;visibility:hidden;-webkit-transition:grid-template-rows var(--haze-duration-normal) var(--haze-ease-in-out),visibility 0s var(--haze-duration-normal);transition:grid-template-rows var(--haze-duration-normal) var(--haze-ease-in-out),visibility 0s var(--haze-duration-normal);grid-template-rows:0fr}.haze-Collapsible__contentInner{min-height:0;overflow:hidden}
@@ -1,4 +1,4 @@
1
1
  /* haze-ui combobox — generated by scripts/split-css.mjs, do not edit */
2
2
  .haze-Combobox__wrapper{width:100%;display:inline-block;position:relative}.haze-Combobox__input{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.haze-Combobox__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Combobox__listbox{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);min-width:100%;max-height:200px;box-shadow:var(--haze-shadow-lg);overflow-y:auto}
3
3
  .haze-ComboboxOption__option{padding:var(--haze-space-2) var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;align-items:center;transition:background .1s;display:flex}.haze-ComboboxOption__option:hover{background:var(--haze-color-bg-subtle)}.haze-ComboboxOption__option:active{background:var(--haze-color-bg-muted)}.haze-ComboboxOption__highlightedStyle{background:var(--haze-color-bg-subtle)}.haze-ComboboxOption__selectedStyle{font-weight:var(--haze-weight-medium);color:var(--haze-color-primary)}
4
- .haze-floating__floatingNative{margin:0;inset:auto}.haze-floating__floatingAnchored{position-anchor:var(--haze-floating-anchor)}.haze-floating__floatingFixed{position:fixed}.haze-floating__floatingHidden{display:none}.haze-floating__anchoredBottom{position-area:bottom left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomSpan{position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomCenter{position-area:bottom center;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomEnd{position-area:bottom right;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredTop{position-area:top center;margin-bottom:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredLeft{position-area:left center;margin-right:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__anchoredRight{position-area:right center;margin-left:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__fallbackBottom{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-floating__fallbackBottomCenter{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackBottomEnd{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;right:0}.haze-floating__fallbackTop{z-index:1000;margin-bottom:var(--haze-space-1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackLeft{z-index:1000;margin-right:var(--haze-space-1);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.haze-floating__fallbackRight{z-index:1000;margin-left:var(--haze-space-1);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.haze-floating__gapBelow{margin-top:var(--haze-space-1)}.haze-floating__gapAbove{margin-bottom:var(--haze-space-1)}.haze-floating__gapBefore{margin-right:var(--haze-space-1)}.haze-floating__gapAfter{margin-left:var(--haze-space-1)}
4
+ .haze-floating__floatingNative{margin:0;inset:auto}.haze-floating__floatingAnchored{position-anchor:var(--haze-floating-anchor)}.haze-floating__floatingFixed{position:fixed}.haze-floating__floatingHidden{display:none}.haze-floating__floatingAnimated[data-state=open]{-webkit-animation:haze-floating-in-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease);animation:haze-floating-in-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease)}.haze-floating__floatingAnimated[data-state=closed]{-webkit-animation:haze-floating-out-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease) forwards;animation:haze-floating-out-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease) forwards}@keyframes haze-floating-in-haze-floating__floatingAnimated{0%{opacity:0}}@keyframes haze-floating-out-haze-floating__floatingAnimated{to{opacity:0}}.haze-floating__anchoredBottom,.haze-floating__anchoredBottomSpan{position-area:bottom span-right;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomCenter{position-area:bottom center;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomEnd{position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredTop{position-area:top center;margin-bottom:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredLeft{position-area:left center;margin-right:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__anchoredRight{position-area:right center;margin-left:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__fallbackBottom{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-floating__fallbackBottomCenter{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackBottomEnd{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;right:0}.haze-floating__fallbackTop{z-index:1000;margin-bottom:var(--haze-space-1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackLeft{z-index:1000;margin-right:var(--haze-space-1);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.haze-floating__fallbackRight{z-index:1000;margin-left:var(--haze-space-1);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.haze-floating__gapBelow{margin-top:var(--haze-space-1)}.haze-floating__gapAbove{margin-bottom:var(--haze-space-1)}.haze-floating__gapBefore{margin-right:var(--haze-space-1)}.haze-floating__gapAfter{margin-left:var(--haze-space-1)}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui confirm-dialog — generated by scripts/split-css.mjs, do not edit */
2
- .haze-ConfirmDialog__overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.haze-ConfirmDialog__dialog{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);box-shadow:var(--haze-shadow-xl);width:100%;max-width:480px;font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-ConfirmDialog__header{margin-bottom:var(--haze-space-4);font-size:var(--haze-text-lg);font-weight:var(--haze-weight-semibold)}.haze-ConfirmDialog__body{margin-bottom:var(--haze-space-6);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);line-height:var(--haze-leading-relaxed)}.haze-ConfirmDialog__footer{justify-content:flex-end;gap:var(--haze-space-3);display:flex}.haze-ConfirmDialog__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s}.haze-ConfirmDialog__cancelBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ConfirmDialog__cancelBtn:hover{background:var(--haze-color-muted)}.haze-ConfirmDialog__confirmBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ConfirmDialog__confirmBtn:hover{opacity:.9}.haze-ConfirmDialog__dangerBtn{background:var(--haze-color-danger,#dc2626);border:1px solid var(--haze-color-danger,#dc2626);color:#fff}.haze-ConfirmDialog__dangerBtn:hover{opacity:.9}
2
+ .haze-ConfirmDialog__overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.haze-ConfirmDialog__overlay[data-state=open]{-webkit-animation:haze-confirm-backdrop-in-haze-ConfirmDialog__overlay var(--haze-duration-normal) var(--haze-ease);animation:haze-confirm-backdrop-in-haze-ConfirmDialog__overlay var(--haze-duration-normal) var(--haze-ease)}.haze-ConfirmDialog__overlay[data-state=closed]{-webkit-animation:haze-confirm-backdrop-out-haze-ConfirmDialog__overlay var(--haze-duration-fast) var(--haze-ease);animation:haze-confirm-backdrop-out-haze-ConfirmDialog__overlay var(--haze-duration-fast) var(--haze-ease)}@keyframes haze-confirm-backdrop-in-haze-ConfirmDialog__overlay{0%{opacity:0}}@keyframes haze-confirm-backdrop-out-haze-ConfirmDialog__overlay{to{opacity:0}}.haze-ConfirmDialog__dialog{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);box-shadow:var(--haze-shadow-xl);width:100%;max-width:480px;font-family:var(--haze-font-sans);color:var(--haze-color-text)}[data-state=open] .haze-ConfirmDialog__dialog{-webkit-animation:haze-confirm-in-haze-ConfirmDialog__dialog var(--haze-duration-normal) var(--haze-ease);animation:haze-confirm-in-haze-ConfirmDialog__dialog var(--haze-duration-normal) var(--haze-ease)}[data-state=closed] .haze-ConfirmDialog__dialog{-webkit-animation:haze-confirm-out-haze-ConfirmDialog__dialog var(--haze-duration-fast) var(--haze-ease);animation:haze-confirm-out-haze-ConfirmDialog__dialog var(--haze-duration-fast) var(--haze-ease)}@keyframes haze-confirm-in-haze-ConfirmDialog__dialog{0%{opacity:0;transform:scale(.97)}}@keyframes haze-confirm-out-haze-ConfirmDialog__dialog{to{opacity:0;transform:scale(.97)}}.haze-ConfirmDialog__header{margin-bottom:var(--haze-space-4);font-size:var(--haze-text-lg);font-weight:var(--haze-weight-semibold)}.haze-ConfirmDialog__body{margin-bottom:var(--haze-space-6);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);line-height:var(--haze-leading-relaxed)}.haze-ConfirmDialog__footer{justify-content:flex-end;gap:var(--haze-space-3);display:flex}.haze-ConfirmDialog__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;-webkit-transition:background var(--haze-duration-fast) var(--haze-ease),border-color var(--haze-duration-fast) var(--haze-ease);transition:background var(--haze-duration-fast) var(--haze-ease),border-color var(--haze-duration-fast) var(--haze-ease)}.haze-ConfirmDialog__cancelBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ConfirmDialog__cancelBtn:hover{background:var(--haze-color-bg-muted)}.haze-ConfirmDialog__confirmBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ConfirmDialog__confirmBtn:hover{opacity:.9}.haze-ConfirmDialog__dangerBtn{background:var(--haze-color-danger);border:1px solid var(--haze-color-danger);color:var(--haze-color-text-inverse)}.haze-ConfirmDialog__dangerBtn:hover{background:var(--haze-color-danger-hover);border-color:var(--haze-color-danger-hover)}.haze-ConfirmDialog__dangerBtn:active{background:var(--haze-color-danger-active);border-color:var(--haze-color-danger-active)}
@@ -1,7 +1,7 @@
1
1
  /* haze-ui context-menu — generated by scripts/split-css.mjs, do not edit */
2
2
  .haze-ContextMenu__wrapper{display:inline-block;position:relative}
3
3
  .haze-ContextMenuContent__content{min-width:10rem;padding:var(--haze-space-1);background:var(--haze-color-bg);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);box-shadow:var(--haze-shadow-md);z-index:100;position:fixed}
4
- .haze-ContextMenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);cursor:pointer;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);border-radius:var(--haze-radius-sm);text-align:left;background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.haze-ContextMenuItem__item:hover{background:var(--haze-color-muted)}.haze-ContextMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-ContextMenuItem__item:disabled{opacity:.5;cursor:not-allowed}
4
+ .haze-ContextMenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);cursor:pointer;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);border-radius:var(--haze-radius-sm);text-align:left;background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.haze-ContextMenuItem__item:hover{background:var(--haze-color-bg-muted)}.haze-ContextMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-ContextMenuItem__item:disabled{opacity:.5;cursor:not-allowed}
5
5
  .haze-ContextMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}
6
6
  .haze-ContextMenuTrigger__trigger{display:contents}
7
- .haze-floating__floatingNative{margin:0;inset:auto}.haze-floating__floatingAnchored{position-anchor:var(--haze-floating-anchor)}.haze-floating__floatingFixed{position:fixed}.haze-floating__floatingHidden{display:none}.haze-floating__anchoredBottom{position-area:bottom left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomSpan{position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomCenter{position-area:bottom center;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomEnd{position-area:bottom right;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredTop{position-area:top center;margin-bottom:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredLeft{position-area:left center;margin-right:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__anchoredRight{position-area:right center;margin-left:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__fallbackBottom{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-floating__fallbackBottomCenter{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackBottomEnd{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;right:0}.haze-floating__fallbackTop{z-index:1000;margin-bottom:var(--haze-space-1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackLeft{z-index:1000;margin-right:var(--haze-space-1);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.haze-floating__fallbackRight{z-index:1000;margin-left:var(--haze-space-1);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.haze-floating__gapBelow{margin-top:var(--haze-space-1)}.haze-floating__gapAbove{margin-bottom:var(--haze-space-1)}.haze-floating__gapBefore{margin-right:var(--haze-space-1)}.haze-floating__gapAfter{margin-left:var(--haze-space-1)}
7
+ .haze-floating__floatingNative{margin:0;inset:auto}.haze-floating__floatingAnchored{position-anchor:var(--haze-floating-anchor)}.haze-floating__floatingFixed{position:fixed}.haze-floating__floatingHidden{display:none}.haze-floating__floatingAnimated[data-state=open]{-webkit-animation:haze-floating-in-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease);animation:haze-floating-in-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease)}.haze-floating__floatingAnimated[data-state=closed]{-webkit-animation:haze-floating-out-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease) forwards;animation:haze-floating-out-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease) forwards}@keyframes haze-floating-in-haze-floating__floatingAnimated{0%{opacity:0}}@keyframes haze-floating-out-haze-floating__floatingAnimated{to{opacity:0}}.haze-floating__anchoredBottom,.haze-floating__anchoredBottomSpan{position-area:bottom span-right;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomCenter{position-area:bottom center;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomEnd{position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredTop{position-area:top center;margin-bottom:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredLeft{position-area:left center;margin-right:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__anchoredRight{position-area:right center;margin-left:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__fallbackBottom{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-floating__fallbackBottomCenter{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackBottomEnd{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;right:0}.haze-floating__fallbackTop{z-index:1000;margin-bottom:var(--haze-space-1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackLeft{z-index:1000;margin-right:var(--haze-space-1);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.haze-floating__fallbackRight{z-index:1000;margin-left:var(--haze-space-1);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.haze-floating__gapBelow{margin-top:var(--haze-space-1)}.haze-floating__gapAbove{margin-bottom:var(--haze-space-1)}.haze-floating__gapBefore{margin-right:var(--haze-space-1)}.haze-floating__gapAfter{margin-left:var(--haze-space-1)}
@@ -1,3 +1,3 @@
1
1
  /* haze-ui conversation-list — generated by scripts/split-css.mjs, do not edit */
2
- .haze-ConversationItem__item{align-items:center;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);cursor:pointer;border-radius:var(--haze-radius-md);text-align:left;width:100%;font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;transition:background .15s;display:flex}.haze-ConversationItem__item:hover,.haze-ConversationItem__activeItem{background:var(--haze-color-muted)}.haze-ConversationItem__body{flex:1;min-width:0}.haze-ConversationItem__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.haze-ConversationItem__subtitleStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--haze-space-0);overflow:hidden}.haze-ConversationItem__endSlot{flex-shrink:0}
2
+ .haze-ConversationItem__item{align-items:center;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);cursor:pointer;border-radius:var(--haze-radius-md);text-align:left;width:100%;font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;transition:background .15s;display:flex}.haze-ConversationItem__item:hover,.haze-ConversationItem__activeItem{background:var(--haze-color-bg-muted)}.haze-ConversationItem__body{flex:1;min-width:0}.haze-ConversationItem__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.haze-ConversationItem__subtitleStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--haze-space-0);overflow:hidden}.haze-ConversationItem__endSlot{flex-shrink:0}
3
3
  .haze-ConversationList__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex;overflow-y:auto}
@@ -1,4 +1,4 @@
1
1
  /* haze-ui datepicker — generated by scripts/split-css.mjs, do not edit */
2
2
  .haze-Calendar__calendarWrapper{padding:var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Calendar__header{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;margin-bottom:var(--haze-space-2);justify-content:space-between;display:flex}.haze-Calendar__headerBtn{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1}.haze-Calendar__headerBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Calendar__headerBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Calendar__headerTitle{font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Calendar__grid{display:-ms-grid;-ms-grid-columns:repeat(7, 1fr);text-align:center;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.haze-Calendar__rowContents,.haze-Calendar__cellContents{display:contents}.haze-Calendar__weekday{padding:var(--haze-space-1);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-muted);font-size:var(--haze-text-xs)}.haze-Calendar__dayBtn{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1.5;transition:background .1s}.haze-Calendar__dayBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Calendar__dayBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Calendar__dayBtn:disabled{opacity:.3;cursor:not-allowed}.haze-Calendar__daySelected{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Calendar__daySelected:hover{background:var(--haze-color-primary-hover)}.haze-Calendar__dayOutside{color:var(--haze-color-text-muted)}
3
3
  .haze-DatepickerCore__wrapper{display:inline-block;position:relative}.haze-DatepickerCore__input{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.haze-DatepickerCore__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-DatepickerCore__dropdown{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg)}
4
- .haze-floating__floatingNative{margin:0;inset:auto}.haze-floating__floatingAnchored{position-anchor:var(--haze-floating-anchor)}.haze-floating__floatingFixed{position:fixed}.haze-floating__floatingHidden{display:none}.haze-floating__anchoredBottom{position-area:bottom left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomSpan{position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomCenter{position-area:bottom center;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomEnd{position-area:bottom right;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredTop{position-area:top center;margin-bottom:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredLeft{position-area:left center;margin-right:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__anchoredRight{position-area:right center;margin-left:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__fallbackBottom{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-floating__fallbackBottomCenter{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackBottomEnd{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;right:0}.haze-floating__fallbackTop{z-index:1000;margin-bottom:var(--haze-space-1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackLeft{z-index:1000;margin-right:var(--haze-space-1);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.haze-floating__fallbackRight{z-index:1000;margin-left:var(--haze-space-1);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.haze-floating__gapBelow{margin-top:var(--haze-space-1)}.haze-floating__gapAbove{margin-bottom:var(--haze-space-1)}.haze-floating__gapBefore{margin-right:var(--haze-space-1)}.haze-floating__gapAfter{margin-left:var(--haze-space-1)}
4
+ .haze-floating__floatingNative{margin:0;inset:auto}.haze-floating__floatingAnchored{position-anchor:var(--haze-floating-anchor)}.haze-floating__floatingFixed{position:fixed}.haze-floating__floatingHidden{display:none}.haze-floating__floatingAnimated[data-state=open]{-webkit-animation:haze-floating-in-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease);animation:haze-floating-in-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease)}.haze-floating__floatingAnimated[data-state=closed]{-webkit-animation:haze-floating-out-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease) forwards;animation:haze-floating-out-haze-floating__floatingAnimated var(--haze-duration-fast) var(--haze-ease) forwards}@keyframes haze-floating-in-haze-floating__floatingAnimated{0%{opacity:0}}@keyframes haze-floating-out-haze-floating__floatingAnimated{to{opacity:0}}.haze-floating__anchoredBottom,.haze-floating__anchoredBottomSpan{position-area:bottom span-right;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomCenter{position-area:bottom center;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredBottomEnd{position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredTop{position-area:top center;margin-bottom:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-floating__anchoredLeft{position-area:left center;margin-right:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__anchoredRight{position-area:right center;margin-left:var(--haze-space-1);position-try-fallbacks:flip-inline}.haze-floating__fallbackBottom{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-floating__fallbackBottomCenter{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackBottomEnd{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;right:0}.haze-floating__fallbackTop{z-index:1000;margin-bottom:var(--haze-space-1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.haze-floating__fallbackLeft{z-index:1000;margin-right:var(--haze-space-1);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.haze-floating__fallbackRight{z-index:1000;margin-left:var(--haze-space-1);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.haze-floating__gapBelow{margin-top:var(--haze-space-1)}.haze-floating__gapAbove{margin-bottom:var(--haze-space-1)}.haze-floating__gapBefore{margin-right:var(--haze-space-1)}.haze-floating__gapAfter{margin-left:var(--haze-space-1)}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui dialog — generated by scripts/split-css.mjs, do not edit */
2
- .haze-Dialog__overlay{border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);box-shadow:var(--haze-shadow-xl);border:none;width:100%;max-width:480px}.haze-Dialog__overlay::backdrop{background:#0006}.haze-Dialog__overlay:focus-visible{box-shadow:var(--haze-shadow-xl),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Dialog__titleText{margin:0 0 var(--haze-space-4);font-size:var(--haze-text-lg);font-weight:var(--haze-weight-semibold)}
2
+ .haze-Dialog__overlay{border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);box-shadow:var(--haze-shadow-xl);border:none;width:100%;max-width:480px}.haze-Dialog__overlay[open][data-state=open]{-webkit-animation:haze-dialog-in-haze-Dialog__overlay var(--haze-duration-normal) var(--haze-ease);animation:haze-dialog-in-haze-Dialog__overlay var(--haze-duration-normal) var(--haze-ease)}.haze-Dialog__overlay[open][data-state=closed]{-webkit-animation:haze-dialog-out-haze-Dialog__overlay var(--haze-duration-fast) var(--haze-ease);animation:haze-dialog-out-haze-Dialog__overlay var(--haze-duration-fast) var(--haze-ease)}.haze-Dialog__overlay::backdrop{background:#0006}.haze-Dialog__overlay[open][data-state=open]::backdrop{-webkit-animation:haze-dialog-backdrop-in-haze-Dialog__overlay var(--haze-duration-normal) var(--haze-ease);animation:haze-dialog-backdrop-in-haze-Dialog__overlay var(--haze-duration-normal) var(--haze-ease)}.haze-Dialog__overlay[open][data-state=closed]::backdrop{-webkit-animation:haze-dialog-backdrop-out-haze-Dialog__overlay var(--haze-duration-fast) var(--haze-ease);animation:haze-dialog-backdrop-out-haze-Dialog__overlay var(--haze-duration-fast) var(--haze-ease)}.haze-Dialog__overlay:focus-visible{box-shadow:var(--haze-shadow-xl),0 0 0 3px var(--haze-color-focus-ring);outline:none}@keyframes haze-dialog-in-haze-Dialog__overlay{0%{opacity:0;transform:scale(.97)}}@keyframes haze-dialog-out-haze-Dialog__overlay{to{opacity:0;transform:scale(.97)}}@keyframes haze-dialog-backdrop-in-haze-Dialog__overlay{0%{opacity:0}}@keyframes haze-dialog-backdrop-out-haze-Dialog__overlay{to{opacity:0}}.haze-Dialog__titleText{margin:0 0 var(--haze-space-4);font-size:var(--haze-text-lg);font-weight:var(--haze-weight-semibold)}
@@ -1,2 +1,2 @@
1
1
  /* haze-ui diff-viewer — generated by scripts/split-css.mjs, do not edit */
2
- .haze-DiffViewer__wrapper{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);line-height:var(--haze-leading-relaxed);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-DiffViewer__header{padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-DiffViewer__body{overflow-x:auto}.haze-DiffViewer__line{min-height:1.25rem;display:flex}.haze-DiffViewer__lineNum{width:3rem;padding:0 var(--haze-space-2);text-align:right;color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--haze-color-border);flex-shrink:0}.haze-DiffViewer__lineContent{padding:0 var(--haze-space-3);white-space:pre;flex:1}.haze-DiffViewer__added{background:var(--haze-color-success-light,#dcfce7)}.haze-DiffViewer__removed{background:var(--haze-color-danger-light,#fee2e2)}.haze-DiffViewer__addedPrefix{color:var(--haze-color-success,#16a34a)}.haze-DiffViewer__removedPrefix{color:var(--haze-color-danger,#dc2626)}
2
+ .haze-DiffViewer__wrapper{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);line-height:var(--haze-leading-relaxed);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-DiffViewer__header{padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-bg-muted);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-DiffViewer__body{overflow-x:auto}.haze-DiffViewer__line{min-height:1.25rem;display:flex}.haze-DiffViewer__lineNum{width:3rem;padding:0 var(--haze-space-2);text-align:right;color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--haze-color-border);flex-shrink:0}.haze-DiffViewer__lineContent{padding:0 var(--haze-space-3);white-space:pre;flex:1}.haze-DiffViewer__added{background:var(--haze-color-success-subtle)}.haze-DiffViewer__removed{background:var(--haze-color-danger-subtle)}.haze-DiffViewer__addedPrefix{color:var(--haze-color-success)}.haze-DiffViewer__removedPrefix{color:var(--haze-color-danger)}