haze-ui 1.7.2 → 1.8.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.
- package/README.md +56 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +21 -17
- package/dist/components/DropdownMenu/DropdownMenuContent.js +41 -10
- package/dist/components/DropdownMenu/DropdownMenuItem.js +4 -2
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js +22 -9
- package/dist/components/DropdownMenu/useMenuKeyboard.js +52 -0
- package/dist/components/Popover/Popover.js +68 -16
- package/dist/components/TagInput/TagInput.js +58 -37
- package/dist/haze-ui.css +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenuContext.d.ts +13 -1
- package/dist/types/components/DropdownMenu/useMenuKeyboard.d.ts +19 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -31,7 +31,62 @@ export default function MyComponent() {
|
|
|
31
31
|
}
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## react-f0rm Integration
|
|
35
|
+
|
|
36
|
+
The `haze-ui/form` entry (peer dependency: `react-f0rm`) glues react-f0rm
|
|
37
|
+
form state to haze-ui's control-prop system, so any control-prop
|
|
38
|
+
component (`Input`, `Select`, `Switch`, `Textarea`, `TagInput`, ...)
|
|
39
|
+
binds to a form field with zero adapters.
|
|
40
|
+
|
|
41
|
+
### useFormControl(form, name): field → Control
|
|
42
|
+
|
|
43
|
+
```jsx
|
|
44
|
+
import { useForm, setValue } from 'react-f0rm';
|
|
45
|
+
import { Input } from 'haze-ui';
|
|
46
|
+
import { useFormControl } from 'haze-ui/form';
|
|
47
|
+
|
|
48
|
+
function NameField({ form }) {
|
|
49
|
+
const name = useFormControl(form, 'name');
|
|
50
|
+
return <Input value={name} />; // two-way bound, no onChange wiring
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The handle is a real `Control`: reads subscribe to the field (sibling
|
|
55
|
+
fields stay isolated), writes go through `setValueByPath`, and functional
|
|
56
|
+
updates evaluate against the live form value. `reset(form, newValues)`
|
|
57
|
+
re-seeds every bridged control with no remounting.
|
|
58
|
+
|
|
59
|
+
### FormItem: label, errors and aria wiring
|
|
60
|
+
|
|
61
|
+
```jsx
|
|
62
|
+
import { Form, useForm } from 'react-f0rm';
|
|
63
|
+
import { Input } from 'haze-ui';
|
|
64
|
+
import { FormItem } from 'haze-ui/form';
|
|
65
|
+
|
|
66
|
+
function ProfileForm() {
|
|
67
|
+
const form = useForm({ initialValues: { email: '' } });
|
|
68
|
+
return (
|
|
69
|
+
<Form form={form} onSubmit={...}>
|
|
70
|
+
<FormItem
|
|
71
|
+
form={form}
|
|
72
|
+
name="email"
|
|
73
|
+
label="Email"
|
|
74
|
+
validate={(v) => (v.includes('@') ? undefined : 'must be an email')}
|
|
75
|
+
>
|
|
76
|
+
{({ id, errorId, invalid, control }) => (
|
|
77
|
+
<Input id={id} value={control} aria-invalid={invalid} aria-describedby={errorId} />
|
|
78
|
+
)}
|
|
79
|
+
</FormItem>
|
|
80
|
+
</Form>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`FormItem` generates the field/error ids, renders `<label htmlFor>`, and
|
|
86
|
+
surfaces the first error in a `role="alert"` element — no manual
|
|
87
|
+
`FieldError` wiring.
|
|
88
|
+
|
|
89
|
+
## Related Projects
|
|
35
90
|
|
|
36
91
|
- [react-use-control](https://github.com/wmzy/react-use-control)
|
|
37
92
|
|
|
@@ -3,35 +3,39 @@ import { DropdownMenuProvider as t } from "./DropdownMenuContext.js";
|
|
|
3
3
|
/* empty css */
|
|
4
4
|
import { jsx as n } from "react/jsx-runtime";
|
|
5
5
|
import { useControl as r } from "react-use-control";
|
|
6
|
-
import { useCallback as i, useEffect as a,
|
|
6
|
+
import { useCallback as i, useEffect as a, useId as o, useRef as s } from "react";
|
|
7
7
|
//#region src/lib/components/DropdownMenu/DropdownMenu.tsx
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
let [
|
|
11
|
-
let t = typeof e == "function" ? e(
|
|
12
|
-
|
|
8
|
+
var c = "haze-DropdownMenu__wrapper";
|
|
9
|
+
function l({ open: l, onOpenChange: u, children: d, className: f }) {
|
|
10
|
+
let [p, m] = r(l, !1), h = s(null), g = s(null), _ = s(null), v = o(), y = s(null), b = i((e) => {
|
|
11
|
+
let t = typeof e == "function" ? e(p) : e;
|
|
12
|
+
m(t), u?.(t);
|
|
13
13
|
}, [
|
|
14
|
-
f,
|
|
15
14
|
p,
|
|
16
|
-
|
|
15
|
+
m,
|
|
16
|
+
u
|
|
17
17
|
]);
|
|
18
18
|
return a(() => {
|
|
19
|
-
if (!
|
|
19
|
+
if (!p) return;
|
|
20
20
|
let e = (e) => {
|
|
21
|
-
|
|
21
|
+
h.current && !h.current.contains(e.target) && b(!1);
|
|
22
22
|
};
|
|
23
23
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
24
|
-
}, [
|
|
24
|
+
}, [p, b]), /* @__PURE__ */ n(t, {
|
|
25
25
|
value: {
|
|
26
|
-
open:
|
|
27
|
-
setOpen:
|
|
26
|
+
open: p,
|
|
27
|
+
setOpen: b,
|
|
28
|
+
triggerRef: g,
|
|
29
|
+
contentRef: _,
|
|
30
|
+
contentId: v,
|
|
31
|
+
focusRequestRef: y
|
|
28
32
|
},
|
|
29
33
|
children: n("div", {
|
|
30
|
-
ref:
|
|
31
|
-
className: e([
|
|
32
|
-
children:
|
|
34
|
+
ref: h,
|
|
35
|
+
className: e([c, f]),
|
|
36
|
+
children: d
|
|
33
37
|
})
|
|
34
38
|
});
|
|
35
39
|
}
|
|
36
40
|
//#endregion
|
|
37
|
-
export {
|
|
41
|
+
export { l as default };
|
|
@@ -1,23 +1,54 @@
|
|
|
1
1
|
import { classnames as e } from "../../utils/classnames.js";
|
|
2
2
|
import { useDropdownMenuContext as t } from "./DropdownMenuContext.js";
|
|
3
|
+
import { getEnabledMenuItems as n, useMenuKeyboard as r } from "./useMenuKeyboard.js";
|
|
3
4
|
/* empty css */
|
|
4
|
-
import { jsx as
|
|
5
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
6
|
+
import { useCallback as a, useEffect as o } from "react";
|
|
5
7
|
//#region src/lib/components/DropdownMenu/DropdownMenuContent.tsx
|
|
6
|
-
var
|
|
8
|
+
var s = "haze-DropdownMenuContent__content", c = {
|
|
7
9
|
start: "haze-DropdownMenuContent__alignStart",
|
|
8
10
|
center: "haze-DropdownMenuContent__alignCenter",
|
|
9
11
|
end: "haze-DropdownMenuContent__alignEnd"
|
|
10
12
|
};
|
|
11
|
-
function
|
|
12
|
-
let { open:
|
|
13
|
-
|
|
13
|
+
function l({ children: l, align: u = "start", className: d }) {
|
|
14
|
+
let { open: f, setOpen: p, triggerRef: m, contentRef: h, contentId: g, focusRequestRef: _ } = t(), v = a(() => {
|
|
15
|
+
p(!1), m.current?.focus();
|
|
16
|
+
}, [p, m]), y = r({
|
|
17
|
+
menuRef: h,
|
|
18
|
+
onClose: v
|
|
19
|
+
});
|
|
20
|
+
return o(() => {
|
|
21
|
+
if (!f) return;
|
|
22
|
+
let e = h.current;
|
|
23
|
+
if (!e) return;
|
|
24
|
+
let t = n(e);
|
|
25
|
+
t.forEach((e) => {
|
|
26
|
+
e.tabIndex = -1;
|
|
27
|
+
}), t[0] && (t[0].tabIndex = 0);
|
|
28
|
+
let r = _.current;
|
|
29
|
+
_.current = null, r && (r === "first" ? t[0] : t[t.length - 1])?.focus();
|
|
30
|
+
let i = (t) => {
|
|
31
|
+
n(e).forEach((e) => {
|
|
32
|
+
e.tabIndex = e === t.target ? 0 : -1;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
return e.addEventListener("focusin", i), () => e.removeEventListener("focusin", i);
|
|
36
|
+
}, [
|
|
37
|
+
f,
|
|
38
|
+
h,
|
|
39
|
+
_
|
|
40
|
+
]), f ? /* @__PURE__ */ i("div", {
|
|
41
|
+
ref: h,
|
|
42
|
+
id: g,
|
|
43
|
+
role: "menu",
|
|
44
|
+
onKeyDown: y,
|
|
14
45
|
className: e([
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
46
|
+
s,
|
|
47
|
+
c[u],
|
|
48
|
+
d
|
|
18
49
|
]),
|
|
19
|
-
children:
|
|
50
|
+
children: l
|
|
20
51
|
}) : null;
|
|
21
52
|
}
|
|
22
53
|
//#endregion
|
|
23
|
-
export {
|
|
54
|
+
export { l as default };
|
|
@@ -5,11 +5,13 @@ import { jsx as n } from "react/jsx-runtime";
|
|
|
5
5
|
//#region src/lib/components/DropdownMenu/DropdownMenuItem.tsx
|
|
6
6
|
var r = "haze-DropdownMenuItem__item";
|
|
7
7
|
function i({ children: i, onClick: a, disabled: o, className: s }) {
|
|
8
|
-
let { setOpen: c } = t();
|
|
8
|
+
let { setOpen: c, triggerRef: l } = t();
|
|
9
9
|
return /* @__PURE__ */ n("button", {
|
|
10
10
|
type: "button",
|
|
11
|
+
role: "menuitem",
|
|
12
|
+
tabIndex: -1,
|
|
11
13
|
onClick: () => {
|
|
12
|
-
o || (a?.(), c(!1));
|
|
14
|
+
o || (a?.(), c(!1), l.current?.focus());
|
|
13
15
|
},
|
|
14
16
|
disabled: o,
|
|
15
17
|
className: e([r, s]),
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
import { classnames as e } from "../../utils/classnames.js";
|
|
2
2
|
import { useDropdownMenuContext as t } from "./DropdownMenuContext.js";
|
|
3
|
+
import { getEnabledMenuItems as n } from "./useMenuKeyboard.js";
|
|
3
4
|
/* empty css */
|
|
4
|
-
import { jsx as
|
|
5
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
5
6
|
//#region src/lib/components/DropdownMenu/DropdownMenuTrigger.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
let { setOpen:
|
|
9
|
-
|
|
7
|
+
var i = "haze-DropdownMenuTrigger__trigger";
|
|
8
|
+
function a({ children: a, className: o }) {
|
|
9
|
+
let { open: s, setOpen: c, triggerRef: l, contentRef: u, contentId: d, focusRequestRef: f } = t(), p = (e) => {
|
|
10
|
+
if (s) {
|
|
11
|
+
let t = n(u.current);
|
|
12
|
+
(e === "first" ? t[0] : t[t.length - 1])?.focus();
|
|
13
|
+
} else f.current = e, c(!0);
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ r("button", {
|
|
16
|
+
ref: l,
|
|
10
17
|
type: "button",
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
"aria-haspopup": "menu",
|
|
19
|
+
"aria-expanded": s,
|
|
20
|
+
"aria-controls": s ? d : void 0,
|
|
21
|
+
onClick: () => c((e) => !e),
|
|
22
|
+
onKeyDown: (e) => {
|
|
23
|
+
e.key === "ArrowDown" ? (e.preventDefault(), p("first")) : e.key === "ArrowUp" && (e.preventDefault(), p("last"));
|
|
24
|
+
},
|
|
25
|
+
className: e([i, o]),
|
|
26
|
+
children: a
|
|
14
27
|
});
|
|
15
28
|
}
|
|
16
29
|
//#endregion
|
|
17
|
-
export {
|
|
30
|
+
export { a as default };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useRef as n } from "react";
|
|
2
|
+
//#region src/lib/components/DropdownMenu/useMenuKeyboard.ts
|
|
3
|
+
var r = 500;
|
|
4
|
+
function i(e) {
|
|
5
|
+
return e ? Array.from(e.querySelectorAll("[role=\"menuitem\"]:not([disabled])")) : [];
|
|
6
|
+
}
|
|
7
|
+
function a({ menuRef: a, onClose: o }) {
|
|
8
|
+
let s = n(""), c = n(0);
|
|
9
|
+
return t(() => () => window.clearTimeout(c.current), []), e((e) => {
|
|
10
|
+
let t = i(a.current);
|
|
11
|
+
if (t.length === 0) return;
|
|
12
|
+
let n = t.indexOf(document.activeElement), l = (e) => t[e]?.focus();
|
|
13
|
+
switch (e.key) {
|
|
14
|
+
case "ArrowDown":
|
|
15
|
+
e.preventDefault(), l((n + 1) % t.length);
|
|
16
|
+
return;
|
|
17
|
+
case "ArrowUp":
|
|
18
|
+
e.preventDefault(), l((n - 1 + t.length) % t.length);
|
|
19
|
+
return;
|
|
20
|
+
case "Home":
|
|
21
|
+
e.preventDefault(), l(0);
|
|
22
|
+
return;
|
|
23
|
+
case "End":
|
|
24
|
+
e.preventDefault(), l(t.length - 1);
|
|
25
|
+
return;
|
|
26
|
+
case "Escape":
|
|
27
|
+
e.preventDefault(), o();
|
|
28
|
+
return;
|
|
29
|
+
case "Tab":
|
|
30
|
+
e.preventDefault(), o();
|
|
31
|
+
return;
|
|
32
|
+
default: {
|
|
33
|
+
if (e.key.length !== 1 || e.ctrlKey || e.metaKey || e.altKey) return;
|
|
34
|
+
e.preventDefault();
|
|
35
|
+
let i = (s.current + e.key).toLowerCase();
|
|
36
|
+
s.current = i, window.clearTimeout(c.current), c.current = window.setTimeout(() => {
|
|
37
|
+
s.current = "";
|
|
38
|
+
}, r);
|
|
39
|
+
let a = n + 1;
|
|
40
|
+
for (let e = 0; e < t.length; e++) {
|
|
41
|
+
let n = (a + e) % t.length;
|
|
42
|
+
if (t[n].textContent.toLowerCase().startsWith(i)) {
|
|
43
|
+
l(n);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, [a, o]);
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { i as getEnabledMenuItems, a as useMenuKeyboard };
|
|
@@ -2,28 +2,80 @@ import { classnames as e } from "../../utils/classnames.js";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
4
|
import { useControl as r } from "react-use-control";
|
|
5
|
-
import {
|
|
5
|
+
import { useEffect as i, useId as a, useRef as o } from "react";
|
|
6
6
|
//#region src/lib/components/Popover/Popover.tsx
|
|
7
|
-
var
|
|
8
|
-
function c(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
var s = 500;
|
|
8
|
+
function c() {
|
|
9
|
+
return typeof HTMLElement < "u" && "popover" in HTMLElement.prototype;
|
|
10
|
+
}
|
|
11
|
+
function l() {
|
|
12
|
+
return c() && typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("anchor-name: --haze-popover-probe");
|
|
13
|
+
}
|
|
14
|
+
var u = "haze-Popover__container", d = "haze-Popover__panelVisuals", f = "haze-Popover__panelFallback", p = "haze-Popover__hidden", m = "haze-Popover__panelNative", h = "haze-Popover__panelAnchored", g = "haze-Popover__panelJsPositioned";
|
|
15
|
+
function _({ content: _, open: v, className: y, children: b }) {
|
|
16
|
+
let [x, S] = r(v, !1), C = a(), w = `--haze-popover-${C.replace(/[^a-zA-Z0-9]/g, "")}`, T = c(), E = l(), D = o(null), O = o(null), k = o(!1), A = o(0), j = o(0);
|
|
17
|
+
return i(() => {
|
|
18
|
+
let e = O.current;
|
|
19
|
+
if (!e || !T) return;
|
|
20
|
+
let t = (e) => {
|
|
21
|
+
let t = e.newState;
|
|
22
|
+
k.current = t === "open", t === "closed" && x ? (performance.now() - A.current < s && (j.current = performance.now()), A.current = 0, S(!1)) : t === "open" && !x && S(!0);
|
|
23
|
+
};
|
|
24
|
+
return e.addEventListener("toggle", t), x && !k.current ? e.showPopover() : !x && k.current && e.hidePopover(), () => e.removeEventListener("toggle", t);
|
|
25
|
+
}, [
|
|
26
|
+
T,
|
|
27
|
+
x,
|
|
28
|
+
S
|
|
29
|
+
]), i(() => {
|
|
30
|
+
if (!T || E || !x) return;
|
|
31
|
+
let e = O.current, t = D.current;
|
|
32
|
+
if (!e || !t) return;
|
|
33
|
+
let n = () => {
|
|
34
|
+
let n = t.getBoundingClientRect(), r = parseFloat(getComputedStyle(e).marginTop) || 0;
|
|
35
|
+
e.style.top = `${n.bottom + r}px`, e.style.left = `${n.left}px`;
|
|
36
|
+
};
|
|
37
|
+
return n(), window.addEventListener("scroll", n, !0), window.addEventListener("resize", n), () => {
|
|
38
|
+
window.removeEventListener("scroll", n, !0), window.removeEventListener("resize", n);
|
|
39
|
+
};
|
|
40
|
+
}, [
|
|
41
|
+
T,
|
|
42
|
+
E,
|
|
43
|
+
x
|
|
44
|
+
]), /* @__PURE__ */ n("span", {
|
|
45
|
+
className: u,
|
|
12
46
|
children: [/* @__PURE__ */ t("span", {
|
|
13
|
-
|
|
14
|
-
"aria-
|
|
15
|
-
|
|
16
|
-
|
|
47
|
+
ref: D,
|
|
48
|
+
"aria-expanded": x,
|
|
49
|
+
"aria-controls": C,
|
|
50
|
+
style: E ? { anchorName: w } : void 0,
|
|
51
|
+
onPointerDown: () => {
|
|
52
|
+
x && (A.current = performance.now());
|
|
53
|
+
},
|
|
54
|
+
onClick: () => {
|
|
55
|
+
if (performance.now() - j.current < s) {
|
|
56
|
+
j.current = 0;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
S((e) => !e);
|
|
60
|
+
},
|
|
61
|
+
children: b
|
|
17
62
|
}), /* @__PURE__ */ t("div", {
|
|
18
|
-
id:
|
|
63
|
+
id: C,
|
|
64
|
+
ref: O,
|
|
65
|
+
popover: T ? "auto" : void 0,
|
|
66
|
+
style: T && E ? { "--haze-popover-anchor": w } : void 0,
|
|
19
67
|
className: e([
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
68
|
+
d,
|
|
69
|
+
T && m,
|
|
70
|
+
T && E && h,
|
|
71
|
+
T && !E && g,
|
|
72
|
+
!T && f,
|
|
73
|
+
!T && !x && p,
|
|
74
|
+
y
|
|
23
75
|
]),
|
|
24
|
-
children:
|
|
76
|
+
children: _
|
|
25
77
|
})]
|
|
26
78
|
});
|
|
27
79
|
}
|
|
28
80
|
//#endregion
|
|
29
|
-
export {
|
|
81
|
+
export { _ as default };
|
|
@@ -2,50 +2,71 @@ import { classnames as e } from "../../utils/classnames.js";
|
|
|
2
2
|
/* empty css */
|
|
3
3
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
4
|
import { useControl as r } from "react-use-control";
|
|
5
|
-
import { useCallback as i,
|
|
5
|
+
import { useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
|
|
6
6
|
//#region src/lib/components/TagInput/TagInput.tsx
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
let [
|
|
7
|
+
var c = "haze-TagInput__container", l = "haze-TagInput__listWrap", u = "haze-TagInput__tag", d = "haze-TagInput__removeBtn", f = "haze-TagInput__inputEl";
|
|
8
|
+
function p({ value: p, onChange: m, placeholder: h, maxTags: g, disabled: _, className: v }) {
|
|
9
|
+
let [y, b] = r(p, []), [x, S] = s(""), C = o(null), w = o(null), T = o(null);
|
|
10
|
+
a(() => {
|
|
11
|
+
let e = T.current;
|
|
12
|
+
if (e === null) return;
|
|
13
|
+
if (T.current = null, y.length === 0) {
|
|
14
|
+
w.current?.focus();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
let t = Math.min(e, y.length - 1);
|
|
18
|
+
(C.current?.querySelectorAll("[aria-label^=\"Remove \"]"))?.[t]?.focus();
|
|
19
|
+
}, [y]);
|
|
20
|
+
let E = i((e) => {
|
|
10
21
|
let t = e.trim();
|
|
11
|
-
if (!t ||
|
|
12
|
-
let n = [...
|
|
13
|
-
|
|
22
|
+
if (!t || y.includes(t) || g && y.length >= g) return;
|
|
23
|
+
let n = [...y, t];
|
|
24
|
+
b(n), m?.(n), S("");
|
|
14
25
|
}, [
|
|
26
|
+
y,
|
|
15
27
|
g,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
_(t), d?.(t);
|
|
28
|
+
b,
|
|
29
|
+
m
|
|
30
|
+
]), D = i((e) => {
|
|
31
|
+
let t = y.filter((t, n) => n !== e);
|
|
32
|
+
b(t), m?.(t), T.current = t.length === 0 ? 0 : Math.min(e, t.length - 1);
|
|
22
33
|
}, [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
])
|
|
34
|
+
y,
|
|
35
|
+
b,
|
|
36
|
+
m
|
|
37
|
+
]), O = (e) => {
|
|
38
|
+
e.key === "Enter" || e.key === "," ? (e.preventDefault(), E(x)) : e.key === "Backspace" && !x && y.length > 0 && D(y.length - 1);
|
|
39
|
+
}, k = h || "Add tag", A = `${y.length} tag${y.length === 1 ? "" : "s"}`;
|
|
27
40
|
return /* @__PURE__ */ n("div", {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
ref: C,
|
|
42
|
+
className: e([c, v]),
|
|
43
|
+
children: [/* @__PURE__ */ t("ul", {
|
|
44
|
+
className: e([l]),
|
|
45
|
+
children: y.map((r, i) => /* @__PURE__ */ n("li", {
|
|
46
|
+
className: e([u]),
|
|
47
|
+
children: [r, /* @__PURE__ */ t("button", {
|
|
48
|
+
type: "button",
|
|
49
|
+
onClick: () => D(i),
|
|
50
|
+
onKeyDown: (e) => {
|
|
51
|
+
e.key === "Backspace" && (e.preventDefault(), D(i));
|
|
52
|
+
},
|
|
53
|
+
"aria-label": `Remove ${r}`,
|
|
54
|
+
disabled: _,
|
|
55
|
+
className: e([d]),
|
|
56
|
+
children: "x"
|
|
57
|
+
})]
|
|
58
|
+
}, i))
|
|
59
|
+
}), /* @__PURE__ */ t("input", {
|
|
60
|
+
ref: w,
|
|
61
|
+
value: x,
|
|
62
|
+
onChange: (e) => S(e.target.value),
|
|
63
|
+
onKeyDown: O,
|
|
64
|
+
placeholder: y.length === 0 ? h : void 0,
|
|
65
|
+
"aria-label": y.length > 0 ? `${k}, ${A}` : k,
|
|
66
|
+
disabled: _,
|
|
67
|
+
className: e([f])
|
|
47
68
|
})]
|
|
48
69
|
});
|
|
49
70
|
}
|
|
50
71
|
//#endregion
|
|
51
|
-
export {
|
|
72
|
+
export { p as default };
|
package/dist/haze-ui.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.haze-FormItem__item{align-items:stretch;gap:var(--haze-space-1);flex-direction:column;display:flex}.haze-FormItem__labelText{font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-FormItem__errorText{font-size:var(--haze-text-sm);color:var(--haze-color-danger)}.haze-colors__lightTheme{--haze-color-primary:#06f;--haze-color-primary-hover:#0052cc;--haze-color-primary-active:#003d99;--haze-color-primary-subtle:#e6f0ff;--haze-color-bg:#fff;--haze-color-bg-subtle:#f7f8fa;--haze-color-bg-muted:#eef0f4;--haze-color-text:#1a1a1a;--haze-color-text-secondary:#4a4a4a;--haze-color-text-muted:#8a8a8a;--haze-color-text-inverse:#fff;--haze-color-border:#e0e0e0;--haze-color-border-hover:silver;--haze-color-success:#16a34a;--haze-color-warning:#f59e0b;--haze-color-danger:#dc2626;--haze-color-info:#2563eb;--haze-color-focus-ring:#06f6}.haze-colors__darkTheme{--haze-color-primary:#4d94ff;--haze-color-primary-hover:#6aa6ff;--haze-color-primary-active:#80b3ff;--haze-color-primary-subtle:#1a2e4a;--haze-color-bg:#121212;--haze-color-bg-subtle:#1e1e1e;--haze-color-bg-muted:#2a2a2a;--haze-color-text:#e8e8e8;--haze-color-text-secondary:#b0b0b0;--haze-color-text-muted:#707070;--haze-color-text-inverse:#1a1a1a;--haze-color-border:#333;--haze-color-border-hover:#4a4a4a;--haze-color-success:#22c55e;--haze-color-warning:#fbbf24;--haze-color-danger:#ef4444;--haze-color-info:#3b82f6;--haze-color-focus-ring:#4d94ff66}.haze-spacing__spacing{--haze-space-0:0;--haze-space-1:4px;--haze-space-2:8px;--haze-space-3:12px;--haze-space-4:16px;--haze-space-5:20px;--haze-space-6:24px;--haze-space-8:32px;--haze-space-10:40px;--haze-space-12:48px;--haze-space-16:64px;--haze-radius-none:0;--haze-radius-sm:4px;--haze-radius-md:6px;--haze-radius-lg:8px;--haze-radius-xl:12px;--haze-radius-2xl:16px;--haze-radius-full:9999px;--haze-shadow-sm:0 1px 2px #0000000d;--haze-shadow-md:0 4px 6px #00000012;--haze-shadow-lg:0 10px 15px #0000001a;--haze-shadow-xl:0 20px 25px #0000001a}.haze-typography__typography{--haze-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--haze-font-mono:"SF Mono",SFMono-Regular,ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;--haze-text-xs:12px;--haze-text-sm:14px;--haze-text-base:16px;--haze-text-lg:18px;--haze-text-xl:20px;--haze-text-2xl:24px;--haze-text-3xl:30px;--haze-leading-tight:1.25;--haze-leading-normal:1.5;--haze-leading-relaxed:1.75;--haze-weight-normal:400;--haze-weight-medium:500;--haze-weight-semibold:600;--haze-weight-bold:700}.haze-Button__base{justify-content:center;align-items:center;gap:var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.haze-Button__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Button__base:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-Button__solid{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Button__solid:hover{background:var(--haze-color-primary-hover)}.haze-Button__solid:active{background:var(--haze-color-primary-active)}.haze-Button__outline{border-color:var(--haze-color-border);color:var(--haze-color-text);background:0 0}.haze-Button__outline:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-Button__outline:active{background:var(--haze-color-bg-muted)}.haze-Button__ghost{color:var(--haze-color-text);background:0 0}.haze-Button__ghost:hover{background:var(--haze-color-bg-subtle)}.haze-Button__ghost:active{background:var(--haze-color-bg-muted)}.haze-Button__sizeSm{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Button__sizeMd{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-sm)}.haze-Button__sizeLg{padding:var(--haze-space-3) var(--haze-space-6);font-size:var(--haze-text-base)}.haze-Button__squareSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-Button__squareMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Button__squareLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-Input__base{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);line-height:var(--haze-leading-normal);transition:border-color .15s,box-shadow .15s;display:block}.haze-Input__base:hover{border-color:var(--haze-color-border-hover)}.haze-Input__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Input__base:disabled{opacity:.5;cursor:not-allowed}.haze-Input__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Input__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Input__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Select__base{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);line-height:var(--haze-leading-normal);appearance:none;-webkit-background-position:right var(--haze-space-3) center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--haze-space-3) center;padding-right:var(--haze-space-8);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block}.haze-Select__base:hover{border-color:var(--haze-color-border-hover)}.haze-Select__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Select__base:disabled{opacity:.5;cursor:not-allowed}.haze-Select__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Select__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Select__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Checkbox__base{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Checkbox__base:hover{border-color:var(--haze-color-border-hover)}.haze-Checkbox__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Checkbox__base:checked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-Checkbox__base:checked:after{content:"";border:solid var(--haze-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.haze-Checkbox__base:disabled{opacity:.5;cursor:not-allowed}.haze-Checkbox__labelText{align-items:center;gap:var(--haze-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.haze-Switch__track{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;align-items:center;padding:2px;transition:background .2s;display:inline-flex;position:relative}.haze-Switch__track:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Switch__track:disabled{opacity:.5;cursor:not-allowed}.haze-Switch__trackChecked{background:var(--haze-color-primary)}.haze-Switch__thumb{border-radius:var(--haze-radius-full);-webkit-transition:-webkit-transform .2s;box-shadow:var(--haze-shadow-sm);background:#fff;transition:transform .2s;display:block}.haze-Switch__trackSm{width:2.25rem;height:1.25rem}.haze-Switch__trackMd{width:40px;height:22px}.haze-Switch__trackLg{width:48px;height:26px}.haze-Switch__thumbSm{width:1rem;height:1rem}.haze-Switch__thumbMd{width:18px;height:18px}.haze-Switch__thumbLg{width:22px;height:22px}.haze-Switch__thumbCheckedSm{transform:translate(1rem)}.haze-Switch__thumbCheckedMd{transform:translate(18px)}.haze-Switch__thumbCheckedLg{transform:translate(22px)}.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)}.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-Tooltip__wrapper{display:inline-flex;position:relative}.haze-Tooltip__bubble{z-index:1000;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);background:var(--haze-color-text);color:var(--haze-color-text-inverse);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);line-height:var(--haze-leading-normal);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute}.haze-Tooltip__top{margin-bottom:var(--haze-space-1);bottom:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__bottom{margin-top:var(--haze-space-1);top:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__left{margin-right:var(--haze-space-1);top:50%;right:100%;transform:translateY(-50%)}.haze-Tooltip__right{margin-left:var(--haze-space-1);top:50%;left:100%;transform:translateY(-50%)}.haze-Tooltip__showOnInteract:hover>[role=tooltip],.haze-Tooltip__showOnInteract:focus-within>[role=tooltip]{opacity:1}.haze-Popover__container{display:inline-flex;position:relative}.haze-Popover__panel{z-index:1000;margin-top:var(--haze-space-1);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);box-shadow:var(--haze-shadow-lg);min-width:200px;position:absolute;top:100%;left:0}.haze-Popover__hidden{display:none}.haze-Card__base{border-radius:var(--haze-radius-lg);padding:var(--haze-space-5);font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-Card__elevated{background:var(--haze-color-bg);box-shadow:var(--haze-shadow-md)}.haze-Card__outlined{background:var(--haze-color-bg);border:1px solid var(--haze-color-border)}.haze-Card__filled{background:var(--haze-color-bg-subtle)}.haze-Radio__radioInput{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-full);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Radio__radioInput:hover{border-color:var(--haze-color-border-hover)}.haze-Radio__radioInput:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Radio__radioInput:checked{border-color:var(--haze-color-primary)}.haze-Radio__radioInput:checked:after{content:"";border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}.haze-Radio__radioInput:disabled{opacity:.5;cursor:not-allowed}.haze-Radio__labelStyle{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;display:inline-flex}.haze-RadioGroup__base{gap:var(--haze-space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.haze-Textarea__base{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);line-height:var(--haze-leading-normal);resize:vertical;transition:border-color .15s,box-shadow .15s;display:block}.haze-Textarea__base:hover{border-color:var(--haze-color-border-hover)}.haze-Textarea__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Textarea__base:disabled{opacity:.5;cursor:not-allowed}.haze-Textarea__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Textarea__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Textarea__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Slider__base{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;outline:none;width:100%;height:6px;transition:background .15s}.haze-Slider__base::-webkit-slider-thumb{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer;transition:background .15s,box-shadow .15s}.haze-Slider__base::-moz-range-thumb{border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer}.haze-Slider__base:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:disabled{opacity:.5;cursor:not-allowed}.haze-Tabs__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-TabList__base{border-bottom:1px solid var(--haze-color-border);gap:0;display:flex;overflow-x:auto}.haze-Tab__base{padding:var(--haze-space-2) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.haze-Tab__base:hover{color:var(--haze-color-text)}.haze-Tab__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Tab__active{color:var(--haze-color-primary);border-bottom-color:var(--haze-color-primary)}.haze-TabPanel__base{padding:var(--haze-space-4) 0}.haze-TabPanel__hidden{display:none}.haze-Accordion__base{width:100%}.haze-AccordionItem__item{border-bottom:1px solid var(--haze-color-border)}.haze-AccordionItem__item:first-of-type{border-top:1px solid var(--haze-color-border)}.haze-AccordionItem__summary{-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);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-AccordionItem__summary:hover{background:var(--haze-color-bg-subtle)}.haze-AccordionItem__summary:active{background:var(--haze-color-bg-muted)}.haze-AccordionItem__summary:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-AccordionItem__summary::marker{display:none}.haze-AccordionItem__summary::-webkit-details-marker{display:none}.haze-AccordionItem__summary:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-AccordionItem__summary:after{transform:rotate(45deg)}.haze-AccordionItem__content{padding:0 var(--haze-space-4) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.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}.haze-Avatar__base{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.haze-Avatar__sm{width:32px;height:32px;font-size:var(--haze-text-xs)}.haze-Avatar__md{width:40px;height:40px;font-size:var(--haze-text-sm)}.haze-Avatar__lg{width:56px;height:56px;font-size:var(--haze-text-lg)}.haze-Avatar__imgStyle{object-fit:cover;width:100%;height:100%}.haze-Tag__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;display:inline-flex}.haze-Tag__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Tag__primary{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary)}.haze-Tag__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Tag__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Tag__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Tag__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Tag__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Tag__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:inherit;opacity:.6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:opacity .15s;display:inline-flex}.haze-Tag__closeBtn:hover{opacity:1}.haze-Tag__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-Skeleton__base{background:var(--haze-color-bg-muted);animation:1.5s ease-in-out infinite shimmer-haze-Skeleton__base;display:block}@keyframes shimmer-haze-Skeleton__base{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.haze-Skeleton__text{border-radius:var(--haze-radius-sm);height:1em}.haze-Skeleton__circular{border-radius:var(--haze-radius-full)}.haze-Skeleton__rectangular{border-radius:var(--haze-radius-md)}.haze-Icon__base{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-Icon__base>svg{fill:currentColor;stroke:currentColor;width:100%;height:100%}.haze-Icon__strokeOnly>svg{fill:none}.haze-Icon__sm{width:16px;height:16px}.haze-Icon__md{width:20px;height:20px}.haze-Icon__lg{width:24px;height:24px}.haze-Image__wrapper{display:block;position:relative;overflow:hidden}.haze-Image__imgStyle{width:100%;height:100%;display:block}.haze-Image__fallbackStyle{background:var(--haze-color-bg-muted);width:100%;height:100%;color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:flex}.haze-Flex__base{display:flex}.haze-Breadcrumb__nav{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Breadcrumb__list{align-items:center;gap:var(--haze-space-2);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.haze-Breadcrumb__sep{color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none}.haze-BreadcrumbItem__link{color:var(--haze-color-primary);-webkit-text-decoration:none;text-decoration:none;transition:color .15s}.haze-BreadcrumbItem__link:hover{color:var(--haze-color-primary-hover);-webkit-text-decoration:underline;text-decoration:underline}.haze-BreadcrumbItem__link:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-BreadcrumbItem__current{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Disclosure__details{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-Disclosure__summaryStyle{-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);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-Disclosure__summaryStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Disclosure__summaryStyle:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Disclosure__summaryStyle::marker{display:none}.haze-Disclosure__summaryStyle::-webkit-details-marker{display:none}.haze-Disclosure__summaryStyle:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-Disclosure__summaryStyle:after{transform:rotate(45deg)}.haze-Disclosure__content{padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.haze-Menu__container{display:inline-flex;position:relative}.haze-Menu__panel{z-index:1000;margin-top:var(--haze-space-1);min-width:160px;padding:var(--haze-space-1) 0;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Menu__hidden{display:none}.haze-MenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;transition:background .1s;display:flex}.haze-MenuItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-MenuItem__item:active{background:var(--haze-color-bg-muted)}.haze-MenuItem__item:focus-visible{background:var(--haze-color-bg-subtle);box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-MenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-MenuDivider__divider{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NumberInput__wrapper{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.haze-NumberInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-NumberInput__input{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);text-align:center;-moz-appearance:textfield;border:none;outline:none;width:100%;min-width:0}.haze-NumberInput__input::-webkit-inner-spin-button{appearance:none;margin:0}.haze-NumberInput__input::-webkit-outer-spin-button{appearance:none;margin:0}.haze-NumberInput__stepBtn{appearance:none;background:var(--haze-color-bg-subtle);color:var(--haze-color-text);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.haze-NumberInput__stepBtn:hover{background:var(--haze-color-bg-muted)}.haze-NumberInput__stepBtn:active{background:var(--haze-color-border)}.haze-NumberInput__stepBtn:disabled{opacity:.5;cursor:not-allowed}.haze-NumberInput__inputSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-NumberInput__inputMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__inputLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-NumberInput__btnSm{padding:0 var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__btnMd{padding:0 var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-NumberInput__btnLg{padding:0 var(--haze-space-3);font-size:var(--haze-text-base)}.haze-FileInput__hiddenInput{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.haze-FileInput__trigger{justify-content:center;align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-4);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex}.haze-FileInput__trigger:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-FileInput__trigger:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Toast__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);box-shadow:var(--haze-shadow-lg);pointer-events:auto;animation:.2s ease-out toastIn-haze-Toast__base;display:flex}@keyframes toastIn-haze-Toast__base{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.haze-Toast__info{background:var(--haze-color-bg);color:var(--haze-color-text);border:1px solid var(--haze-color-border)}.haze-Toast__success{background:color-mix(in srgb, var(--haze-color-success) 10%, var(--haze-color-bg));color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Toast__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, var(--haze-color-bg));color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Toast__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, var(--haze-color-bg));color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Toast__contentStyle{flex:1}.haze-Toast__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-Toast__closeBtn:hover{opacity:1}.haze-ToastContainer__container{bottom:calc(var(--haze-space-4) + env(safe-area-inset-bottom));right:calc(var(--haze-space-4) + env(safe-area-inset-right));z-index:9999;gap:var(--haze-space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.haze-List__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-normal);padding-left:var(--haze-space-5);margin:0}.haze-List__unordered{list-style-type:disc}.haze-List__ordered{list-style-type:decimal}.haze-List__none{padding-left:0;list-style-type:none}.haze-ListItem__item{padding:var(--haze-space-1) 0}.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)}.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{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);max-height:200px;box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.haze-Combobox__hidden{display:none}.haze-Table__wrapper{overflow-x:auto}.haze-Table__base{border-collapse:collapse;width:100%;font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-Table__stripedStyle tbody tr:nth-child(2n){background:var(--haze-color-bg-subtle)}.haze-Table__borderedStyle th,.haze-Table__borderedStyle td{border:1px solid var(--haze-color-border)}.haze-TableHead__head{border-bottom:2px solid var(--haze-color-border)}.haze-TableHead__head th{text-align:left;padding:var(--haze-space-2) var(--haze-space-3);font-weight:var(--haze-weight-semibold);color:var(--haze-color-text)}.haze-TableBody__body td{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Carousel__wrapper{border-radius:var(--haze-radius-lg);position:relative;overflow:hidden}.haze-Carousel__track{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;display:flex;overflow-x:auto}.haze-Carousel__track::-webkit-scrollbar{display:none}.haze-Carousel__navBtn{z-index:1;appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg);width:2.5rem;height:2.5rem;color:var(--haze-color-text);font-size:var(--haze-text-lg);cursor:pointer;box-shadow:var(--haze-shadow-md);border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-Carousel__navBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Carousel__navBtn:focus-visible{box-shadow:var(--haze-shadow-md),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Carousel__prevBtn{left:var(--haze-space-2)}.haze-Carousel__nextBtn{right:var(--haze-space-2)}.haze-Carousel__indicators{justify-content:center;gap:var(--haze-space-1);padding:var(--haze-space-2) 0;display:flex}.haze-Carousel__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;width:.625rem;height:.625rem;padding:.375rem;transition:background .15s}.haze-Carousel__dotActive{background:var(--haze-color-primary)}.haze-CarouselSlide__slide{scroll-snap-snap-align:start;scroll-snap-align:start;flex:0 0 100%;min-width:0}.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__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)}.haze-Datepicker__wrapper{display:inline-block;position:relative}.haze-Datepicker__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-Datepicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Datepicker__dropdown{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Datepicker__hiddenStyle{display:none}.haze-TreeItem__item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--haze-radius-sm);align-items:center;min-height:2rem;padding:2px 0;transition:background .15s;display:flex}.haze-TreeItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__item:focus-visible{box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-TreeItem__blockItem{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm)}.haze-TreeItem__blockItem:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__selectedStyle{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-TreeItem__disabledStyle{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-TreeItem__switcher{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.haze-TreeItem__switcher:hover{color:var(--haze-color-text)}.haze-TreeItem__switcher svg{width:12px;height:12px}.haze-TreeItem__switcherExpanded{transform:rotate(90deg)}.haze-TreeItem__checkbox{width:1.25rem;height:1.25rem;margin-right:var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.haze-TreeItem__checkbox:hover{border-color:var(--haze-color-primary)}.haze-TreeItem__checkbox svg{color:#fff;width:12px;height:12px}.haze-TreeItem__checkboxChecked,.haze-TreeItem__checkboxHalfChecked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-TreeItem__nodeIcon{width:16px;height:16px;margin-right:var(--haze-space-2);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-TreeItem__nodeIcon svg{width:16px;height:16px}.haze-TreeItem__title{font-size:var(--haze-text-sm);color:var(--haze-color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.haze-TreeItem__loadingIcon{animation:1s linear infinite spin-haze-TreeItem__loadingIcon;display:inline-flex}@keyframes spin-haze-TreeItem__loadingIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-TreeItem__indentLine{flex-shrink:0;width:24px;display:inline-block}.haze-TreeItem__indentLineWithBorder{border-left:1px solid var(--haze-color-border)}.haze-Tree__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);overflow:auto}.haze-Tree__group{min-width:0}.haze-Divider__base{background:var(--haze-color-border);border:none}.haze-Divider__horizontal{width:100%;height:1px}.haze-Divider__vertical{-ms-grid-row-align:stretch;align-self:stretch;width:1px;height:1em}.haze-Spinner__base{animation:.8s linear infinite spin-haze-Spinner__base;display:inline-flex}@keyframes spin-haze-Spinner__base{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-Spinner__sm{width:16px;height:16px}.haze-Spinner__md{width:24px;height:24px}.haze-Spinner__lg{width:32px;height:32px}.haze-Empty__base{padding:var(--haze-space-8) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex}.haze-Empty__imageStyle{margin-bottom:var(--haze-space-4)}.haze-Empty__descStyle{font-size:var(--haze-text-sm)}.haze-Empty__actionStyle{margin-top:var(--haze-space-4)}.haze-Progress__barBase{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-full);width:100%;overflow:hidden}.haze-Progress__sm{width:32px;height:32px}.haze-Progress__md{width:48px;height:48px}.haze-Progress__lg{width:64px;height:64px}.haze-Progress__barFill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-Progress__primary{stroke:var(--haze-color-primary)}.haze-Progress__success{stroke:var(--haze-color-success)}.haze-Progress__warning{stroke:var(--haze-color-warning)}.haze-Progress__danger{stroke:var(--haze-color-danger)}.haze-Progress__circleBase{transform:rotate(-90deg)}.haze-Progress__circleBg{fill:none;stroke:var(--haze-color-bg-muted)}.haze-Progress__circleFill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .3s}.haze-Pagination__nav{align-items:center;gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:flex}.haze-Pagination__btn{min-width:2.25rem;height:2.25rem;padding:0 var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.haze-Pagination__btn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Pagination__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Pagination__btn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Pagination__activeBtn{background:var(--haze-color-primary);border-color:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Pagination__activeBtn:hover:not(:disabled){background:var(--haze-color-primary-hover);border-color:var(--haze-color-primary-hover)}.haze-Pagination__ellipsis{min-width:2.25rem;height:2.25rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:inline-flex}.haze-Pagination__sm button{min-width:2rem;height:2rem;font-size:var(--haze-text-xs)}.haze-Pagination__lg button{min-width:40px;height:40px;font-size:var(--haze-text-base)}.haze-Grid__base{display:-ms-grid;display:grid}.haze-Drawer__overlay{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);border:none;max-width:100vw;max-height:100vh;padding:0;overflow:auto}.haze-Drawer__overlay::backdrop{background:#0006}.haze-Drawer__overlay:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Drawer__left{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:0}.haze-Drawer__right{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:auto}.haze-Drawer__top{width:100vw;height:320px;margin-top:0}.haze-Drawer__bottom{width:100vw;height:320px;margin-top:auto}.haze-Stepper__stepper{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:flex-start;display:flex}.haze-Step__step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.haze-Step__stepConnector{background:var(--haze-color-border);width:100%;height:2px;position:absolute;top:16px;left:50%}.haze-Step__stepActiveConnector{background:var(--haze-color-primary)}.haze-Step__circle{border-radius:var(--haze-radius-full);width:2.25rem;height:2.25rem;font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);border:2px solid var(--haze-color-border);background:var(--haze-color-bg);color:var(--haze-color-text-muted);justify-content:center;align-items:center;transition:all .2s;display:flex}.haze-Step__activeCircle,.haze-Step__completedCircle{border-color:var(--haze-color-primary);background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Step__titleStyle{margin-top:var(--haze-space-2);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);text-align:center}.haze-Step__activeTitle{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Step__completedTitle{color:var(--haze-color-primary)}.haze-Step__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);text-align:center;margin-top:var(--haze-space-1)}.haze-Command__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden}.haze-Command__inputStyle{width:100%;padding:var(--haze-space-3) var(--haze-space-4);border:none;border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);background:0 0;outline:none}.haze-Command__inputStyle::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__listStyle{max-height:300px;padding:var(--haze-space-1);overflow-y:auto}.haze-Command__itemStyle{padding:var(--haze-space-2) var(--haze-space-3);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;transition:background .15s}.haze-Command__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Command__itemStyle:active{background:var(--haze-color-bg-muted)}.haze-Resizable__groupBase{display:flex;overflow:hidden}.haze-Resizable__groupHorizontal{flex-direction:row;height:100%}.haze-Resizable__groupVertical{flex-direction:column;width:100%}.haze-Resizable__panelStyle{min-width:0;min-height:0;overflow:auto}.haze-Resizable__handleBase{background:var(--haze-color-border);cursor:col-resize;flex:none;transition:background .15s}.haze-Resizable__handleBase:hover{background:var(--haze-color-primary)}.haze-Resizable__handleHorizontal{cursor:col-resize;width:4px;height:100%}.haze-Resizable__handleVertical{cursor:row-resize;width:100%;height:4px}.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}.haze-Transfer__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-4);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-Transfer__panel{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);flex:1;min-width:200px;overflow:hidden}.haze-Transfer__panelHeader{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);background:var(--haze-color-bg-subtle);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-secondary)}.haze-Transfer__panelBody{max-height:200px;padding:var(--haze-space-1);overflow-y:auto}.haze-Transfer__itemStyle{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);cursor:pointer;display:flex}.haze-Transfer__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Transfer__actions{justify-content:center;align-items:center;gap:var(--haze-space-2);flex-direction:column;display:flex}.haze-Transfer__actionBtn{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:2.25rem;height:2.25rem;color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.haze-Transfer__actionBtn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Transfer__actionBtn:disabled{opacity:.5;cursor:not-allowed}.haze-Upload__dropzone{padding:var(--haze-space-8) var(--haze-space-4);border:2px dashed var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg-subtle);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.haze-Upload__dropzone:hover{border-color:var(--haze-color-primary);background:var(--haze-color-primary-subtle)}.haze-Upload__iconStyle{margin-bottom:var(--haze-space-3);color:var(--haze-color-text-muted)}.haze-Upload__hiddenInput{display:none}.haze-ColorPicker__container{gap:var(--haze-space-3);font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-ColorPicker__previewRow{align-items:center;gap:var(--haze-space-3);display:flex}.haze-ColorPicker__colorInput{border:2px solid var(--haze-color-border);border-radius:var(--haze-radius-md);cursor:pointer;background:0 0;width:40px;height:40px;padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch-wrapper{padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch{border-radius:var(--haze-radius-sm);border:none}.haze-ColorPicker__textInput{height:40px;padding:0 var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-mono);outline:none;flex:1}.haze-ColorPicker__textInput:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ColorPicker__presetsRow{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);flex-wrap:wrap;display:flex}.haze-ColorPicker__presetBtn{border-radius:var(--haze-radius-full);cursor:pointer;-webkit-transition:border-color .15s,-webkit-transform .15s;border:2px solid #0000;width:1.75rem;height:1.75rem;transition:border-color .15s,transform .15s}.haze-ColorPicker__presetBtn:hover{transform:scale(1.1)}.haze-ColorPicker__activePreset{border-color:var(--haze-color-text);box-shadow:0 0 0 2px var(--haze-color-bg)}.haze-Rating__container{gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:inline-flex}.haze-Rating__star{cursor:pointer;width:1.75rem;height:1.75rem;color:var(--haze-color-border);-webkit-transition:color .15s,-webkit-transform .15s;justify-content:center;align-items:center;transition:color .15s,transform .15s;display:inline-flex;position:relative}.haze-Rating__star:hover{transform:scale(1.1)}.haze-Rating__starActive{color:var(--haze-color-warning)}.haze-Timeline__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Timeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-6);display:flex;position:relative}.haze-Timeline__item:last-child{padding-bottom:0}.haze-Timeline__dotWrapper{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.haze-Timeline__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-border);z-index:1;flex-shrink:0;width:12px;height:12px}.haze-Timeline__primary{background:var(--haze-color-primary)}.haze-Timeline__success{background:var(--haze-color-success)}.haze-Timeline__warning{background:var(--haze-color-warning)}.haze-Timeline__danger{background:var(--haze-color-danger)}.haze-Timeline__line{background:var(--haze-color-border);width:2px;margin-top:var(--haze-space-1);flex:1}.haze-Timeline__content{flex:1;min-width:0}.haze-Timeline__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Timeline__descStyle,.haze-Timeline__timeStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Typography__titleBase{font-family:var(--haze-font-sans);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);margin:0}.haze-Typography__1{font-size:var(--haze-text-3xl);line-height:var(--haze-leading-tight)}.haze-Typography__2{font-size:var(--haze-text-2xl);line-height:var(--haze-leading-tight)}.haze-Typography__3{font-size:var(--haze-text-xl);line-height:var(--haze-leading-tight)}.haze-Typography__4{font-size:var(--haze-text-lg);line-height:var(--haze-leading-normal)}.haze-Typography__5{font-size:var(--haze-text-base);line-height:var(--haze-leading-normal)}.haze-Typography__textBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal)}.haze-Typography__default{color:var(--haze-color-text)}.haze-Typography__secondary{color:var(--haze-color-text-secondary)}.haze-Typography__muted{color:var(--haze-color-text-muted)}.haze-Typography__textStrong{font-weight:var(--haze-weight-bold)}.haze-Typography__textCode{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);padding:var(--haze-space-0) var(--haze-space-1);background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-sm)}.haze-Typography__textMark{background:color-mix(in srgb, var(--haze-color-warning) 25%, transparent);padding:0 var(--haze-space-1)}.haze-Typography__paragraphBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);margin:0 0 var(--haze-space-4)}.haze-Stat__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Stat__titleStyle{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1)}.haze-Stat__valueRow{align-items:baseline;gap:var(--haze-space-2);display:flex}.haze-Stat__valueStyle{font-size:var(--haze-text-2xl);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);line-height:var(--haze-leading-tight)}.haze-Stat__up{color:var(--haze-color-success)}.haze-Stat__down{color:var(--haze-color-danger)}.haze-Stat__neutral{color:var(--haze-color-text-muted)}.haze-Stat__trendStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium)}.haze-Stat__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Stat__groupStyle{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-6);flex-wrap:wrap;display:flex}.haze-Segmented__container{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);gap:2px;padding:2px;display:inline-flex;overflow-x:auto}.haze-Segmented__sm button{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Segmented__md button{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Segmented__lg button{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Segmented__btn{border-radius:var(--haze-radius-sm);color:var(--haze-color-text-secondary);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);white-space:nowrap;background:0 0;border:none;transition:background .15s,color .15s}.haze-Segmented__btn:hover:not(:disabled){color:var(--haze-color-text)}.haze-Segmented__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Segmented__btn:focus-visible{box-shadow:0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-Segmented__activeBtn{background:var(--haze-color-bg);color:var(--haze-color-text);box-shadow:var(--haze-shadow-sm)}.haze-Chip__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);font-weight:var(--haze-weight-medium);white-space:nowrap;padding:var(--haze-space-1) var(--haze-space-3);line-height:1;display:inline-flex}.haze-Chip__default{border:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Chip__primary{border:1px solid var(--haze-color-primary);color:var(--haze-color-primary)}.haze-Chip__success{border:1px solid var(--haze-color-success);color:var(--haze-color-success)}.haze-Chip__warning{border:1px solid var(--haze-color-warning);color:var(--haze-color-warning)}.haze-Chip__danger{border:1px solid var(--haze-color-danger);color:var(--haze-color-danger)}.haze-Chip__iconStyle{align-items:center;display:inline-flex}.haze-Chip__closeBtn{border-radius:var(--haze-radius-full);width:1.25rem;height:1.25rem;color:inherit;cursor:pointer;opacity:.6;margin-left:var(--haze-space-1);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.haze-Chip__closeBtn:hover{opacity:1}.haze-ScrollArea__base{font-family:var(--haze-font-sans);scrollbar-width:thin;scrollbar-color:var(--haze-color-border) transparent;overflow:auto}.haze-ScrollArea__base::-webkit-scrollbar{width:6px;height:6px}.haze-ScrollArea__base::-webkit-scrollbar-track{background:0 0}.haze-ScrollArea__base::-webkit-scrollbar-thumb{background:var(--haze-color-border);border-radius:var(--haze-radius-full)}.haze-ScrollArea__base::-webkit-scrollbar-thumb:hover{background:var(--haze-color-border-hover)}.haze-TimePicker__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.haze-TimePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TimePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-TimePicker__input::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-DateRangePicker__container{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:inline-flex}.haze-DateRangePicker__input{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-DateRangePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-DateRangePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-DateRangePicker__sep{color:var(--haze-color-text-muted);font-size:var(--haze-text-sm)}.haze-OTPInput__container{gap:var(--haze-space-2);font-family:var(--haze-font-sans);display:inline-flex}.haze-OTPInput__cell{text-align:center;width:2.5rem;height:2.75rem;font-size:var(--haze-text-lg);font-family:var(--haze-font-mono);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);outline:none;transition:border-color .15s,box-shadow .15s}.haze-OTPInput__cell:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__wrapper{width:100%;font-family:var(--haze-font-sans);display:inline-flex;position:relative}.haze-PasswordInput__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);padding-right:var(--haze-space-10);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-PasswordInput__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__input:disabled{opacity:.5;cursor:not-allowed}.haze-PasswordInput__toggle{right:var(--haze-space-2);padding:var(--haze-space-2);cursor:pointer;min-width:2.5rem;min-height:2.5rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-PasswordInput__toggle:hover{color:var(--haze-color-text)}.haze-TagInput__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:center;min-height:2.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.haze-TagInput__container:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TagInput__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-0) var(--haze-space-2);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);display:inline-flex}.haze-TagInput__removeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagInput__removeBtn:hover{color:var(--haze-color-text)}.haze-TagInput__inputEl{min-width:4rem;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;outline:none;flex:1;padding:0}.haze-InlineEdit__display{cursor:text;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);border:1px solid #0000;min-width:2rem;min-height:1.75rem;transition:background .15s}.haze-InlineEdit__display:hover{background:var(--haze-color-muted)}.haze-InlineEdit__editing{padding:var(--haze-space-1) var(--haze-space-2);border:1px solid var(--haze-color-primary);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none;min-width:2rem}.haze-InlineEdit__placeholderStyle{color:var(--haze-color-text-muted);font-style:italic}.haze-DropdownMenu__wrapper{display:inline-block;position:relative}.haze-DropdownMenuTrigger__trigger{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.haze-DropdownMenuContent__content{min-width:10rem;margin-top:var(--haze-space-1);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:50;position:absolute;top:100%}.haze-DropdownMenuContent__alignStart{left:0}.haze-DropdownMenuContent__alignCenter{left:50%;transform:translate(-50%)}.haze-DropdownMenuContent__alignEnd{right:0}.haze-DropdownMenuItem__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-DropdownMenuItem__item:hover{background:var(--haze-color-muted)}.haze-DropdownMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-DropdownMenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-DropdownMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-ContextMenu__wrapper{display:inline-block;position:relative}.haze-ContextMenuTrigger__trigger{display:contents}.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}.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}.haze-ContextMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NavigationBar__nav{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-4);padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-bg);border-bottom:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-NavigationBar__brand{font-size:var(--haze-text-lg);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);white-space:nowrap;-webkit-text-decoration:none;text-decoration:none}.haze-NavigationBar__links{align-items:center;gap:var(--haze-space-3);flex:1;display:flex}.haze-NavigationBar__endSlot{align-items:center;gap:var(--haze-space-2);margin-left:auto;display:flex}.haze-NavLink__link{font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text-muted);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;transition:color .15s,background .15s}.haze-NavLink__link:hover{color:var(--haze-color-text);background:var(--haze-color-muted)}.haze-NavLink__activeLink{color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-BackToTop__button{bottom:calc(var(--haze-space-6) + env(safe-area-inset-bottom));right:calc(var(--haze-space-6) + env(safe-area-inset-right));border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:2.5rem;height:2.5rem;color:var(--haze-color-bg);cursor:pointer;box-shadow:var(--haze-shadow-lg);font-size:var(--haze-text-lg);-webkit-transition:opacity .2s,-webkit-transform .2s;border:none;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:fixed}.haze-BackToTop__button:hover{transform:translateY(-2px)}.haze-BackToTop__hidden{opacity:0;pointer-events:none;transform:translateY(1rem)}.haze-Affix__affix{z-index:100;position:fixed}.haze-Affix__posTop{top:0;left:0;right:0}.haze-Affix__posBottom{bottom:0;left:0;right:0}.haze-Container__container{width:100%;padding-left:var(--haze-space-4);padding-right:var(--haze-space-4);font-family:var(--haze-font-sans);margin-left:auto;margin-right:auto}.haze-Container__sm{max-width:640px}.haze-Container__md{max-width:768px}.haze-Container__lg{max-width:1024px}.haze-Container__xl{max-width:1280px}.haze-Container__full{max-width:100%}.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}.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}.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}.haze-AspectRatio__wrapper{width:100%;position:relative}.haze-AspectRatio__inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.haze-VirtualList__container{font-family:var(--haze-font-sans);overflow-y:auto}.haze-VirtualList__viewport{width:100%;position:relative}.haze-TagGroup__group{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-TagGroupItem__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-1) var(--haze-space-3);background:var(--haze-color-muted);color:var(--haze-color-text);border-radius:var(--haze-radius-full);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);line-height:var(--haze-leading-tight);display:inline-flex}.haze-TagGroupItem__closeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagGroupItem__closeBtn:hover{color:var(--haze-color-text)}.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)}.haze-SwipeAction__wrapper{font-family:var(--haze-font-sans);position:relative;overflow:hidden}.haze-SwipeAction__actionsLeft{align-items:center;height:100%;display:flex;position:absolute;top:0;left:0}.haze-SwipeAction__actionsRight{align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.haze-SwipeAction__content{background:var(--haze-color-bg);-webkit-transition:-webkit-transform .2s;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .2s;position:relative}.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)}.haze-ChatContainer__container{font-family:var(--haze-font-sans);padding:var(--haze-space-4);gap:var(--haze-space-1);flex-direction:column;display:flex;overflow-y:auto}.haze-ChatInput__wrapper{-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;gap:var(--haze-space-2);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);transition:border-color .15s,box-shadow .15s;display:flex}.haze-ChatInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ChatInput__textarea{resize:none;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);background:0 0;border:none;outline:none;flex:1;min-height:1.5rem;max-height:10rem;padding:0}.haze-ChatInput__sendBtn{border-radius:var(--haze-radius-md);background:var(--haze-color-primary);width:2rem;height:2rem;color:var(--haze-color-bg);cursor:pointer;font-size:var(--haze-text-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.haze-ChatInput__sendBtn:disabled{opacity:.5;cursor:not-allowed}.haze-ChatInput__sendBtn:hover:not(:disabled){opacity:.9}.haze-StreamingText__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);white-space:pre-wrap}.haze-StreamingText__cursor{background:var(--haze-color-primary);vertical-align:text-bottom;width:.5em;height:1em;margin-left:1px;animation:1s step-end infinite blink-haze-StreamingText__cursor;display:inline-block}@keyframes blink-haze-StreamingText__cursor{50%{opacity:0}}.haze-MarkdownRenderer__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);word-break:break-word}.haze-MarkdownRenderer__wrapper h1,.haze-MarkdownRenderer__wrapper h2,.haze-MarkdownRenderer__wrapper h3,.haze-MarkdownRenderer__wrapper h4,.haze-MarkdownRenderer__wrapper h5,.haze-MarkdownRenderer__wrapper h6{font-weight:var(--haze-weight-semibold);margin-top:var(--haze-space-4);margin-bottom:var(--haze-space-2);line-height:var(--haze-leading-tight)}.haze-MarkdownRenderer__wrapper h1{font-size:var(--haze-text-2xl)}.haze-MarkdownRenderer__wrapper h2{font-size:var(--haze-text-xl)}.haze-MarkdownRenderer__wrapper h3{font-size:var(--haze-text-lg)}.haze-MarkdownRenderer__wrapper h4{font-size:var(--haze-text-base)}.haze-MarkdownRenderer__wrapper p{margin-bottom:var(--haze-space-3)}.haze-MarkdownRenderer__wrapper ul,.haze-MarkdownRenderer__wrapper ol{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-6)}.haze-MarkdownRenderer__wrapper li{margin-bottom:var(--haze-space-1)}.haze-MarkdownRenderer__wrapper code{font-family:var(--haze-font-mono);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);padding:.125em .375em;font-size:.875em}.haze-MarkdownRenderer__wrapper pre{margin-bottom:var(--haze-space-3);padding:var(--haze-space-4);background:var(--haze-color-muted);border-radius:var(--haze-radius-md);overflow-x:auto}.haze-MarkdownRenderer__wrapper pre code{background:0 0;padding:0}.haze-MarkdownRenderer__wrapper blockquote{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-4);border-left:3px solid var(--haze-color-border);color:var(--haze-color-text-muted)}.haze-MarkdownRenderer__wrapper a{color:var(--haze-color-primary);-webkit-text-decoration:underline;text-decoration:underline}.haze-MarkdownRenderer__wrapper table{width:100%;margin-bottom:var(--haze-space-3);border-collapse:collapse}.haze-MarkdownRenderer__wrapper th,.haze-MarkdownRenderer__wrapper td{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);text-align:left}.haze-MarkdownRenderer__wrapper th{background:var(--haze-color-muted);font-weight:var(--haze-weight-medium)}.haze-MarkdownRenderer__wrapper hr{margin:var(--haze-space-4) 0;border:none;border-top:1px solid var(--haze-color-border)}.haze-MarkdownRenderer__wrapper img{border-radius:var(--haze-radius-md);max-width:100%}.haze-ToolCallCard__card{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);overflow:hidden}.haze-ToolCallCard__header{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);display:flex}.haze-ToolCallCard__statusIcon{border-radius:var(--haze-radius-full);flex-shrink:0;width:.5rem;height:.5rem}.haze-ToolCallCard__statusPending{background:var(--haze-color-text-muted)}.haze-ToolCallCard__statusRunning{background:var(--haze-color-primary);animation:1.5s infinite pulse}.haze-ToolCallCard__statusDone{background:var(--haze-color-success,#16a34a)}.haze-ToolCallCard__statusError{background:var(--haze-color-danger,#dc2626)}.haze-ToolCallCard__body{padding:var(--haze-space-3)}.haze-ToolCallCard__section{margin-bottom:var(--haze-space-2)}.haze-ToolCallCard__sectionLabel{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1);text-transform:uppercase;letter-spacing:.05em}.haze-ToolCallCard__content{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);white-space:pre-wrap;word-break:break-all;color:var(--haze-color-text)}.haze-ThinkingIndicator__wrapper{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);padding:var(--haze-space-2) 0;display:inline-flex}.haze-ThinkingIndicator__dots{gap:var(--haze-space-1);display:inline-flex}@keyframes bounce-haze-ThinkingIndicator__dots{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-.375rem)}}.haze-ThinkingIndicator__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-text-muted);width:.375rem;height:.375rem;animation:1.4s ease-in-out infinite bounce}.haze-ThinkingIndicator__dot2{animation-delay:.16s}.haze-ThinkingIndicator__dot3{animation-delay:.32s}.haze-StepTimeline__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-StepTimeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-4);display:flex;position:relative}.haze-StepTimeline__item:last-child{padding-bottom:0}.haze-StepTimeline__item:not(:last-child):before{content:"";background:var(--haze-color-border);width:2px;position:absolute;top:1.5rem;bottom:0;left:.5625rem}.haze-StepTimeline__marker{border-radius:var(--haze-radius-full);border:2px solid var(--haze-color-border);z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.5rem;display:flex}.haze-StepTimeline__markerPending{border-color:var(--haze-color-border);background:var(--haze-color-bg)}.haze-StepTimeline__markerActive{border-color:var(--haze-color-primary);background:var(--haze-color-primary)}.haze-StepTimeline__markerDone{border-color:var(--haze-color-success,#16a34a);background:var(--haze-color-success,#16a34a);color:#fff}.haze-StepTimeline__markerError{border-color:var(--haze-color-danger,#dc2626);background:var(--haze-color-danger,#dc2626);color:#fff}.haze-StepTimeline__body{flex:1;min-width:0;padding-top:.0625rem}.haze-StepTimeline__labelStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-StepTimeline__descriptionStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.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}.haze-TokenCounter__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted)}.haze-TokenCounter__bar{background:var(--haze-color-muted);border-radius:var(--haze-radius-full);height:.25rem;margin-top:var(--haze-space-1);overflow:hidden}.haze-TokenCounter__fill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-TokenCounter__fillNormal{background:var(--haze-color-primary)}.haze-TokenCounter__fillWarning{background:var(--haze-color-warning,#eab308)}.haze-TokenCounter__fillDanger{background:var(--haze-color-danger,#dc2626)}.haze-TokenCounter__info{-webkit-box-pack:justify;-ms-flex-pack:space-between;justify-content:space-between;align-items:baseline;display:flex}.haze-TokenCounter__count{font-variant-numeric:tabular-nums}.haze-ModelPicker__wrapper{font-family:var(--haze-font-sans)}.haze-ModelPicker__select{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);cursor:pointer;appearance:none;-webkit-background-position:right .75rem center;padding-right:var(--haze-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;transition:border-color .15s,box-shadow .15s}.haze-ModelPicker__select:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ModelPicker__select:disabled{opacity:.5;cursor:not-allowed}.haze-ConversationList__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex;overflow-y:auto}.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}.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)}.haze-LogViewer__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-LogViewer__toolbar{gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-LogViewer__filterBtn{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;font-size:var(--haze-text-xs);font-family:var(--haze-font-mono);color:var(--haze-color-text-muted);background:0 0;border:1px solid #0000;transition:background .15s,border-color .15s}.haze-LogViewer__filterBtn:hover{background:var(--haze-color-bg)}.haze-LogViewer__filterActive{background:var(--haze-color-bg);border-color:var(--haze-color-border);color:var(--haze-color-text)}.haze-LogViewer__body{max-height:24rem;padding:var(--haze-space-2) 0;overflow-y:auto}.haze-LogViewer__entry{gap:var(--haze-space-3);padding:var(--haze-space-0) var(--haze-space-3);display:flex}.haze-LogViewer__timestamp{color:var(--haze-color-text-muted);flex-shrink:0}.haze-LogViewer__levelBadge{text-align:center;text-transform:uppercase;width:3rem;font-weight:var(--haze-weight-medium);flex-shrink:0}.haze-LogViewer__levelDebug{color:var(--haze-color-text-muted)}.haze-LogViewer__levelInfo{color:var(--haze-color-primary)}.haze-LogViewer__levelWarn{color:var(--haze-color-warning,#eab308)}.haze-LogViewer__levelError{color:var(--haze-color-danger,#dc2626)}.haze-LogViewer__messageStyle{word-break:break-all;color:var(--haze-color-text);flex:1}
|
|
1
|
+
.haze-FormItem__item{align-items:stretch;gap:var(--haze-space-1);flex-direction:column;display:flex}.haze-FormItem__labelText{font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-FormItem__errorText{font-size:var(--haze-text-sm);color:var(--haze-color-danger)}.haze-colors__lightTheme{--haze-color-primary:#06f;--haze-color-primary-hover:#0052cc;--haze-color-primary-active:#003d99;--haze-color-primary-subtle:#e6f0ff;--haze-color-bg:#fff;--haze-color-bg-subtle:#f7f8fa;--haze-color-bg-muted:#eef0f4;--haze-color-text:#1a1a1a;--haze-color-text-secondary:#4a4a4a;--haze-color-text-muted:#8a8a8a;--haze-color-text-inverse:#fff;--haze-color-border:#e0e0e0;--haze-color-border-hover:silver;--haze-color-success:#16a34a;--haze-color-warning:#f59e0b;--haze-color-danger:#dc2626;--haze-color-info:#2563eb;--haze-color-focus-ring:#06f6}.haze-colors__darkTheme{--haze-color-primary:#4d94ff;--haze-color-primary-hover:#6aa6ff;--haze-color-primary-active:#80b3ff;--haze-color-primary-subtle:#1a2e4a;--haze-color-bg:#121212;--haze-color-bg-subtle:#1e1e1e;--haze-color-bg-muted:#2a2a2a;--haze-color-text:#e8e8e8;--haze-color-text-secondary:#b0b0b0;--haze-color-text-muted:#707070;--haze-color-text-inverse:#1a1a1a;--haze-color-border:#333;--haze-color-border-hover:#4a4a4a;--haze-color-success:#22c55e;--haze-color-warning:#fbbf24;--haze-color-danger:#ef4444;--haze-color-info:#3b82f6;--haze-color-focus-ring:#4d94ff66}.haze-spacing__spacing{--haze-space-0:0;--haze-space-1:4px;--haze-space-2:8px;--haze-space-3:12px;--haze-space-4:16px;--haze-space-5:20px;--haze-space-6:24px;--haze-space-8:32px;--haze-space-10:40px;--haze-space-12:48px;--haze-space-16:64px;--haze-radius-none:0;--haze-radius-sm:4px;--haze-radius-md:6px;--haze-radius-lg:8px;--haze-radius-xl:12px;--haze-radius-2xl:16px;--haze-radius-full:9999px;--haze-shadow-sm:0 1px 2px #0000000d;--haze-shadow-md:0 4px 6px #00000012;--haze-shadow-lg:0 10px 15px #0000001a;--haze-shadow-xl:0 20px 25px #0000001a}.haze-typography__typography{--haze-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--haze-font-mono:"SF Mono",SFMono-Regular,ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;--haze-text-xs:12px;--haze-text-sm:14px;--haze-text-base:16px;--haze-text-lg:18px;--haze-text-xl:20px;--haze-text-2xl:24px;--haze-text-3xl:30px;--haze-leading-tight:1.25;--haze-leading-normal:1.5;--haze-leading-relaxed:1.75;--haze-weight-normal:400;--haze-weight-medium:500;--haze-weight-semibold:600;--haze-weight-bold:700}.haze-Button__base{justify-content:center;align-items:center;gap:var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.haze-Button__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Button__base:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-Button__solid{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Button__solid:hover{background:var(--haze-color-primary-hover)}.haze-Button__solid:active{background:var(--haze-color-primary-active)}.haze-Button__outline{border-color:var(--haze-color-border);color:var(--haze-color-text);background:0 0}.haze-Button__outline:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-Button__outline:active{background:var(--haze-color-bg-muted)}.haze-Button__ghost{color:var(--haze-color-text);background:0 0}.haze-Button__ghost:hover{background:var(--haze-color-bg-subtle)}.haze-Button__ghost:active{background:var(--haze-color-bg-muted)}.haze-Button__sizeSm{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Button__sizeMd{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-sm)}.haze-Button__sizeLg{padding:var(--haze-space-3) var(--haze-space-6);font-size:var(--haze-text-base)}.haze-Button__squareSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-Button__squareMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Button__squareLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-Input__base{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);line-height:var(--haze-leading-normal);transition:border-color .15s,box-shadow .15s;display:block}.haze-Input__base:hover{border-color:var(--haze-color-border-hover)}.haze-Input__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Input__base:disabled{opacity:.5;cursor:not-allowed}.haze-Input__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Input__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Input__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Select__base{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);line-height:var(--haze-leading-normal);appearance:none;-webkit-background-position:right var(--haze-space-3) center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--haze-space-3) center;padding-right:var(--haze-space-8);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block}.haze-Select__base:hover{border-color:var(--haze-color-border-hover)}.haze-Select__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Select__base:disabled{opacity:.5;cursor:not-allowed}.haze-Select__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Select__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Select__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Checkbox__base{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Checkbox__base:hover{border-color:var(--haze-color-border-hover)}.haze-Checkbox__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Checkbox__base:checked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-Checkbox__base:checked:after{content:"";border:solid var(--haze-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.haze-Checkbox__base:disabled{opacity:.5;cursor:not-allowed}.haze-Checkbox__labelText{align-items:center;gap:var(--haze-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.haze-Switch__track{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;align-items:center;padding:2px;transition:background .2s;display:inline-flex;position:relative}.haze-Switch__track:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Switch__track:disabled{opacity:.5;cursor:not-allowed}.haze-Switch__trackChecked{background:var(--haze-color-primary)}.haze-Switch__thumb{border-radius:var(--haze-radius-full);-webkit-transition:-webkit-transform .2s;box-shadow:var(--haze-shadow-sm);background:#fff;transition:transform .2s;display:block}.haze-Switch__trackSm{width:2.25rem;height:1.25rem}.haze-Switch__trackMd{width:40px;height:22px}.haze-Switch__trackLg{width:48px;height:26px}.haze-Switch__thumbSm{width:1rem;height:1rem}.haze-Switch__thumbMd{width:18px;height:18px}.haze-Switch__thumbLg{width:22px;height:22px}.haze-Switch__thumbCheckedSm{transform:translate(1rem)}.haze-Switch__thumbCheckedMd{transform:translate(18px)}.haze-Switch__thumbCheckedLg{transform:translate(22px)}.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)}.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-Tooltip__wrapper{display:inline-flex;position:relative}.haze-Tooltip__bubble{z-index:1000;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);background:var(--haze-color-text);color:var(--haze-color-text-inverse);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);line-height:var(--haze-leading-normal);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute}.haze-Tooltip__top{margin-bottom:var(--haze-space-1);bottom:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__bottom{margin-top:var(--haze-space-1);top:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__left{margin-right:var(--haze-space-1);top:50%;right:100%;transform:translateY(-50%)}.haze-Tooltip__right{margin-left:var(--haze-space-1);top:50%;left:100%;transform:translateY(-50%)}.haze-Tooltip__showOnInteract:hover>[role=tooltip],.haze-Tooltip__showOnInteract:focus-within>[role=tooltip]{opacity:1}.haze-Popover__container{display:inline-flex;position:relative}.haze-Popover__panelVisuals{padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);box-shadow:var(--haze-shadow-lg);min-width:200px}.haze-Popover__panelFallback{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-Popover__hidden{display:none}.haze-Popover__panelNative{margin:0;inset:auto}.haze-Popover__panelAnchored{position-anchor:var(--haze-popover-anchor);position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-Popover__panelJsPositioned{margin-top:var(--haze-space-1);position:fixed}.haze-Card__base{border-radius:var(--haze-radius-lg);padding:var(--haze-space-5);font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-Card__elevated{background:var(--haze-color-bg);box-shadow:var(--haze-shadow-md)}.haze-Card__outlined{background:var(--haze-color-bg);border:1px solid var(--haze-color-border)}.haze-Card__filled{background:var(--haze-color-bg-subtle)}.haze-Radio__radioInput{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-full);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Radio__radioInput:hover{border-color:var(--haze-color-border-hover)}.haze-Radio__radioInput:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Radio__radioInput:checked{border-color:var(--haze-color-primary)}.haze-Radio__radioInput:checked:after{content:"";border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}.haze-Radio__radioInput:disabled{opacity:.5;cursor:not-allowed}.haze-Radio__labelStyle{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;display:inline-flex}.haze-RadioGroup__base{gap:var(--haze-space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.haze-Textarea__base{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);line-height:var(--haze-leading-normal);resize:vertical;transition:border-color .15s,box-shadow .15s;display:block}.haze-Textarea__base:hover{border-color:var(--haze-color-border-hover)}.haze-Textarea__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Textarea__base:disabled{opacity:.5;cursor:not-allowed}.haze-Textarea__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Textarea__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Textarea__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Slider__base{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;outline:none;width:100%;height:6px;transition:background .15s}.haze-Slider__base::-webkit-slider-thumb{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer;transition:background .15s,box-shadow .15s}.haze-Slider__base::-moz-range-thumb{border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer}.haze-Slider__base:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:disabled{opacity:.5;cursor:not-allowed}.haze-Tabs__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-TabList__base{border-bottom:1px solid var(--haze-color-border);gap:0;display:flex;overflow-x:auto}.haze-Tab__base{padding:var(--haze-space-2) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.haze-Tab__base:hover{color:var(--haze-color-text)}.haze-Tab__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Tab__active{color:var(--haze-color-primary);border-bottom-color:var(--haze-color-primary)}.haze-TabPanel__base{padding:var(--haze-space-4) 0}.haze-TabPanel__hidden{display:none}.haze-Accordion__base{width:100%}.haze-AccordionItem__item{border-bottom:1px solid var(--haze-color-border)}.haze-AccordionItem__item:first-of-type{border-top:1px solid var(--haze-color-border)}.haze-AccordionItem__summary{-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);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-AccordionItem__summary:hover{background:var(--haze-color-bg-subtle)}.haze-AccordionItem__summary:active{background:var(--haze-color-bg-muted)}.haze-AccordionItem__summary:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-AccordionItem__summary::marker{display:none}.haze-AccordionItem__summary::-webkit-details-marker{display:none}.haze-AccordionItem__summary:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-AccordionItem__summary:after{transform:rotate(45deg)}.haze-AccordionItem__content{padding:0 var(--haze-space-4) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.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}.haze-Avatar__base{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.haze-Avatar__sm{width:32px;height:32px;font-size:var(--haze-text-xs)}.haze-Avatar__md{width:40px;height:40px;font-size:var(--haze-text-sm)}.haze-Avatar__lg{width:56px;height:56px;font-size:var(--haze-text-lg)}.haze-Avatar__imgStyle{object-fit:cover;width:100%;height:100%}.haze-Tag__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;display:inline-flex}.haze-Tag__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Tag__primary{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary)}.haze-Tag__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Tag__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Tag__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Tag__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Tag__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Tag__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:inherit;opacity:.6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:opacity .15s;display:inline-flex}.haze-Tag__closeBtn:hover{opacity:1}.haze-Tag__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-Skeleton__base{background:var(--haze-color-bg-muted);animation:1.5s ease-in-out infinite shimmer-haze-Skeleton__base;display:block}@keyframes shimmer-haze-Skeleton__base{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.haze-Skeleton__text{border-radius:var(--haze-radius-sm);height:1em}.haze-Skeleton__circular{border-radius:var(--haze-radius-full)}.haze-Skeleton__rectangular{border-radius:var(--haze-radius-md)}.haze-Icon__base{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-Icon__base>svg{fill:currentColor;stroke:currentColor;width:100%;height:100%}.haze-Icon__strokeOnly>svg{fill:none}.haze-Icon__sm{width:16px;height:16px}.haze-Icon__md{width:20px;height:20px}.haze-Icon__lg{width:24px;height:24px}.haze-Image__wrapper{display:block;position:relative;overflow:hidden}.haze-Image__imgStyle{width:100%;height:100%;display:block}.haze-Image__fallbackStyle{background:var(--haze-color-bg-muted);width:100%;height:100%;color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:flex}.haze-Flex__base{display:flex}.haze-Breadcrumb__nav{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Breadcrumb__list{align-items:center;gap:var(--haze-space-2);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.haze-Breadcrumb__sep{color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none}.haze-BreadcrumbItem__link{color:var(--haze-color-primary);-webkit-text-decoration:none;text-decoration:none;transition:color .15s}.haze-BreadcrumbItem__link:hover{color:var(--haze-color-primary-hover);-webkit-text-decoration:underline;text-decoration:underline}.haze-BreadcrumbItem__link:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-BreadcrumbItem__current{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Disclosure__details{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-Disclosure__summaryStyle{-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);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-Disclosure__summaryStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Disclosure__summaryStyle:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Disclosure__summaryStyle::marker{display:none}.haze-Disclosure__summaryStyle::-webkit-details-marker{display:none}.haze-Disclosure__summaryStyle:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-Disclosure__summaryStyle:after{transform:rotate(45deg)}.haze-Disclosure__content{padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.haze-Menu__container{display:inline-flex;position:relative}.haze-Menu__panel{z-index:1000;margin-top:var(--haze-space-1);min-width:160px;padding:var(--haze-space-1) 0;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Menu__hidden{display:none}.haze-MenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;transition:background .1s;display:flex}.haze-MenuItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-MenuItem__item:active{background:var(--haze-color-bg-muted)}.haze-MenuItem__item:focus-visible{background:var(--haze-color-bg-subtle);box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-MenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-MenuDivider__divider{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NumberInput__wrapper{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.haze-NumberInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-NumberInput__input{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);text-align:center;-moz-appearance:textfield;border:none;outline:none;width:100%;min-width:0}.haze-NumberInput__input::-webkit-inner-spin-button{appearance:none;margin:0}.haze-NumberInput__input::-webkit-outer-spin-button{appearance:none;margin:0}.haze-NumberInput__stepBtn{appearance:none;background:var(--haze-color-bg-subtle);color:var(--haze-color-text);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.haze-NumberInput__stepBtn:hover{background:var(--haze-color-bg-muted)}.haze-NumberInput__stepBtn:active{background:var(--haze-color-border)}.haze-NumberInput__stepBtn:disabled{opacity:.5;cursor:not-allowed}.haze-NumberInput__inputSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-NumberInput__inputMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__inputLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-NumberInput__btnSm{padding:0 var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__btnMd{padding:0 var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-NumberInput__btnLg{padding:0 var(--haze-space-3);font-size:var(--haze-text-base)}.haze-FileInput__hiddenInput{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.haze-FileInput__trigger{justify-content:center;align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-4);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex}.haze-FileInput__trigger:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-FileInput__trigger:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Toast__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);box-shadow:var(--haze-shadow-lg);pointer-events:auto;animation:.2s ease-out toastIn-haze-Toast__base;display:flex}@keyframes toastIn-haze-Toast__base{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.haze-Toast__info{background:var(--haze-color-bg);color:var(--haze-color-text);border:1px solid var(--haze-color-border)}.haze-Toast__success{background:color-mix(in srgb, var(--haze-color-success) 10%, var(--haze-color-bg));color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Toast__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, var(--haze-color-bg));color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Toast__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, var(--haze-color-bg));color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Toast__contentStyle{flex:1}.haze-Toast__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-Toast__closeBtn:hover{opacity:1}.haze-ToastContainer__container{bottom:calc(var(--haze-space-4) + env(safe-area-inset-bottom));right:calc(var(--haze-space-4) + env(safe-area-inset-right));z-index:9999;gap:var(--haze-space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.haze-List__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-normal);padding-left:var(--haze-space-5);margin:0}.haze-List__unordered{list-style-type:disc}.haze-List__ordered{list-style-type:decimal}.haze-List__none{padding-left:0;list-style-type:none}.haze-ListItem__item{padding:var(--haze-space-1) 0}.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)}.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{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);max-height:200px;box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.haze-Combobox__hidden{display:none}.haze-Table__wrapper{overflow-x:auto}.haze-Table__base{border-collapse:collapse;width:100%;font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-Table__stripedStyle tbody tr:nth-child(2n){background:var(--haze-color-bg-subtle)}.haze-Table__borderedStyle th,.haze-Table__borderedStyle td{border:1px solid var(--haze-color-border)}.haze-TableHead__head{border-bottom:2px solid var(--haze-color-border)}.haze-TableHead__head th{text-align:left;padding:var(--haze-space-2) var(--haze-space-3);font-weight:var(--haze-weight-semibold);color:var(--haze-color-text)}.haze-TableBody__body td{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Carousel__wrapper{border-radius:var(--haze-radius-lg);position:relative;overflow:hidden}.haze-Carousel__track{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;display:flex;overflow-x:auto}.haze-Carousel__track::-webkit-scrollbar{display:none}.haze-Carousel__navBtn{z-index:1;appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg);width:2.5rem;height:2.5rem;color:var(--haze-color-text);font-size:var(--haze-text-lg);cursor:pointer;box-shadow:var(--haze-shadow-md);border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-Carousel__navBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Carousel__navBtn:focus-visible{box-shadow:var(--haze-shadow-md),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Carousel__prevBtn{left:var(--haze-space-2)}.haze-Carousel__nextBtn{right:var(--haze-space-2)}.haze-Carousel__indicators{justify-content:center;gap:var(--haze-space-1);padding:var(--haze-space-2) 0;display:flex}.haze-Carousel__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;width:.625rem;height:.625rem;padding:.375rem;transition:background .15s}.haze-Carousel__dotActive{background:var(--haze-color-primary)}.haze-CarouselSlide__slide{scroll-snap-snap-align:start;scroll-snap-align:start;flex:0 0 100%;min-width:0}.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__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)}.haze-Datepicker__wrapper{display:inline-block;position:relative}.haze-Datepicker__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-Datepicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Datepicker__dropdown{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Datepicker__hiddenStyle{display:none}.haze-TreeItem__item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--haze-radius-sm);align-items:center;min-height:2rem;padding:2px 0;transition:background .15s;display:flex}.haze-TreeItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__item:focus-visible{box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-TreeItem__blockItem{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm)}.haze-TreeItem__blockItem:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__selectedStyle{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-TreeItem__disabledStyle{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-TreeItem__switcher{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.haze-TreeItem__switcher:hover{color:var(--haze-color-text)}.haze-TreeItem__switcher svg{width:12px;height:12px}.haze-TreeItem__switcherExpanded{transform:rotate(90deg)}.haze-TreeItem__checkbox{width:1.25rem;height:1.25rem;margin-right:var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.haze-TreeItem__checkbox:hover{border-color:var(--haze-color-primary)}.haze-TreeItem__checkbox svg{color:#fff;width:12px;height:12px}.haze-TreeItem__checkboxChecked,.haze-TreeItem__checkboxHalfChecked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-TreeItem__nodeIcon{width:16px;height:16px;margin-right:var(--haze-space-2);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-TreeItem__nodeIcon svg{width:16px;height:16px}.haze-TreeItem__title{font-size:var(--haze-text-sm);color:var(--haze-color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.haze-TreeItem__loadingIcon{animation:1s linear infinite spin-haze-TreeItem__loadingIcon;display:inline-flex}@keyframes spin-haze-TreeItem__loadingIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-TreeItem__indentLine{flex-shrink:0;width:24px;display:inline-block}.haze-TreeItem__indentLineWithBorder{border-left:1px solid var(--haze-color-border)}.haze-Tree__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);overflow:auto}.haze-Tree__group{min-width:0}.haze-Divider__base{background:var(--haze-color-border);border:none}.haze-Divider__horizontal{width:100%;height:1px}.haze-Divider__vertical{-ms-grid-row-align:stretch;align-self:stretch;width:1px;height:1em}.haze-Spinner__base{animation:.8s linear infinite spin-haze-Spinner__base;display:inline-flex}@keyframes spin-haze-Spinner__base{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-Spinner__sm{width:16px;height:16px}.haze-Spinner__md{width:24px;height:24px}.haze-Spinner__lg{width:32px;height:32px}.haze-Empty__base{padding:var(--haze-space-8) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex}.haze-Empty__imageStyle{margin-bottom:var(--haze-space-4)}.haze-Empty__descStyle{font-size:var(--haze-text-sm)}.haze-Empty__actionStyle{margin-top:var(--haze-space-4)}.haze-Progress__barBase{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-full);width:100%;overflow:hidden}.haze-Progress__sm{width:32px;height:32px}.haze-Progress__md{width:48px;height:48px}.haze-Progress__lg{width:64px;height:64px}.haze-Progress__barFill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-Progress__primary{stroke:var(--haze-color-primary)}.haze-Progress__success{stroke:var(--haze-color-success)}.haze-Progress__warning{stroke:var(--haze-color-warning)}.haze-Progress__danger{stroke:var(--haze-color-danger)}.haze-Progress__circleBase{transform:rotate(-90deg)}.haze-Progress__circleBg{fill:none;stroke:var(--haze-color-bg-muted)}.haze-Progress__circleFill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .3s}.haze-Pagination__nav{align-items:center;gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:flex}.haze-Pagination__btn{min-width:2.25rem;height:2.25rem;padding:0 var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.haze-Pagination__btn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Pagination__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Pagination__btn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Pagination__activeBtn{background:var(--haze-color-primary);border-color:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Pagination__activeBtn:hover:not(:disabled){background:var(--haze-color-primary-hover);border-color:var(--haze-color-primary-hover)}.haze-Pagination__ellipsis{min-width:2.25rem;height:2.25rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:inline-flex}.haze-Pagination__sm button{min-width:2rem;height:2rem;font-size:var(--haze-text-xs)}.haze-Pagination__lg button{min-width:40px;height:40px;font-size:var(--haze-text-base)}.haze-Grid__base{display:-ms-grid;display:grid}.haze-Drawer__overlay{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);border:none;max-width:100vw;max-height:100vh;padding:0;overflow:auto}.haze-Drawer__overlay::backdrop{background:#0006}.haze-Drawer__overlay:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Drawer__left{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:0}.haze-Drawer__right{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:auto}.haze-Drawer__top{width:100vw;height:320px;margin-top:0}.haze-Drawer__bottom{width:100vw;height:320px;margin-top:auto}.haze-Stepper__stepper{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:flex-start;display:flex}.haze-Step__step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.haze-Step__stepConnector{background:var(--haze-color-border);width:100%;height:2px;position:absolute;top:16px;left:50%}.haze-Step__stepActiveConnector{background:var(--haze-color-primary)}.haze-Step__circle{border-radius:var(--haze-radius-full);width:2.25rem;height:2.25rem;font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);border:2px solid var(--haze-color-border);background:var(--haze-color-bg);color:var(--haze-color-text-muted);justify-content:center;align-items:center;transition:all .2s;display:flex}.haze-Step__activeCircle,.haze-Step__completedCircle{border-color:var(--haze-color-primary);background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Step__titleStyle{margin-top:var(--haze-space-2);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);text-align:center}.haze-Step__activeTitle{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Step__completedTitle{color:var(--haze-color-primary)}.haze-Step__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);text-align:center;margin-top:var(--haze-space-1)}.haze-Command__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden}.haze-Command__inputStyle{width:100%;padding:var(--haze-space-3) var(--haze-space-4);border:none;border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);background:0 0;outline:none}.haze-Command__inputStyle::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__listStyle{max-height:300px;padding:var(--haze-space-1);overflow-y:auto}.haze-Command__itemStyle{padding:var(--haze-space-2) var(--haze-space-3);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;transition:background .15s}.haze-Command__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Command__itemStyle:active{background:var(--haze-color-bg-muted)}.haze-Resizable__groupBase{display:flex;overflow:hidden}.haze-Resizable__groupHorizontal{flex-direction:row;height:100%}.haze-Resizable__groupVertical{flex-direction:column;width:100%}.haze-Resizable__panelStyle{min-width:0;min-height:0;overflow:auto}.haze-Resizable__handleBase{background:var(--haze-color-border);cursor:col-resize;flex:none;transition:background .15s}.haze-Resizable__handleBase:hover{background:var(--haze-color-primary)}.haze-Resizable__handleHorizontal{cursor:col-resize;width:4px;height:100%}.haze-Resizable__handleVertical{cursor:row-resize;width:100%;height:4px}.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}.haze-Transfer__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-4);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-Transfer__panel{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);flex:1;min-width:200px;overflow:hidden}.haze-Transfer__panelHeader{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);background:var(--haze-color-bg-subtle);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-secondary)}.haze-Transfer__panelBody{max-height:200px;padding:var(--haze-space-1);overflow-y:auto}.haze-Transfer__itemStyle{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);cursor:pointer;display:flex}.haze-Transfer__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Transfer__actions{justify-content:center;align-items:center;gap:var(--haze-space-2);flex-direction:column;display:flex}.haze-Transfer__actionBtn{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:2.25rem;height:2.25rem;color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.haze-Transfer__actionBtn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Transfer__actionBtn:disabled{opacity:.5;cursor:not-allowed}.haze-Upload__dropzone{padding:var(--haze-space-8) var(--haze-space-4);border:2px dashed var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg-subtle);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.haze-Upload__dropzone:hover{border-color:var(--haze-color-primary);background:var(--haze-color-primary-subtle)}.haze-Upload__iconStyle{margin-bottom:var(--haze-space-3);color:var(--haze-color-text-muted)}.haze-Upload__hiddenInput{display:none}.haze-ColorPicker__container{gap:var(--haze-space-3);font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-ColorPicker__previewRow{align-items:center;gap:var(--haze-space-3);display:flex}.haze-ColorPicker__colorInput{border:2px solid var(--haze-color-border);border-radius:var(--haze-radius-md);cursor:pointer;background:0 0;width:40px;height:40px;padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch-wrapper{padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch{border-radius:var(--haze-radius-sm);border:none}.haze-ColorPicker__textInput{height:40px;padding:0 var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-mono);outline:none;flex:1}.haze-ColorPicker__textInput:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ColorPicker__presetsRow{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);flex-wrap:wrap;display:flex}.haze-ColorPicker__presetBtn{border-radius:var(--haze-radius-full);cursor:pointer;-webkit-transition:border-color .15s,-webkit-transform .15s;border:2px solid #0000;width:1.75rem;height:1.75rem;transition:border-color .15s,transform .15s}.haze-ColorPicker__presetBtn:hover{transform:scale(1.1)}.haze-ColorPicker__activePreset{border-color:var(--haze-color-text);box-shadow:0 0 0 2px var(--haze-color-bg)}.haze-Rating__container{gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:inline-flex}.haze-Rating__star{cursor:pointer;width:1.75rem;height:1.75rem;color:var(--haze-color-border);-webkit-transition:color .15s,-webkit-transform .15s;justify-content:center;align-items:center;transition:color .15s,transform .15s;display:inline-flex;position:relative}.haze-Rating__star:hover{transform:scale(1.1)}.haze-Rating__starActive{color:var(--haze-color-warning)}.haze-Timeline__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Timeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-6);display:flex;position:relative}.haze-Timeline__item:last-child{padding-bottom:0}.haze-Timeline__dotWrapper{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.haze-Timeline__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-border);z-index:1;flex-shrink:0;width:12px;height:12px}.haze-Timeline__primary{background:var(--haze-color-primary)}.haze-Timeline__success{background:var(--haze-color-success)}.haze-Timeline__warning{background:var(--haze-color-warning)}.haze-Timeline__danger{background:var(--haze-color-danger)}.haze-Timeline__line{background:var(--haze-color-border);width:2px;margin-top:var(--haze-space-1);flex:1}.haze-Timeline__content{flex:1;min-width:0}.haze-Timeline__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Timeline__descStyle,.haze-Timeline__timeStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Typography__titleBase{font-family:var(--haze-font-sans);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);margin:0}.haze-Typography__1{font-size:var(--haze-text-3xl);line-height:var(--haze-leading-tight)}.haze-Typography__2{font-size:var(--haze-text-2xl);line-height:var(--haze-leading-tight)}.haze-Typography__3{font-size:var(--haze-text-xl);line-height:var(--haze-leading-tight)}.haze-Typography__4{font-size:var(--haze-text-lg);line-height:var(--haze-leading-normal)}.haze-Typography__5{font-size:var(--haze-text-base);line-height:var(--haze-leading-normal)}.haze-Typography__textBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal)}.haze-Typography__default{color:var(--haze-color-text)}.haze-Typography__secondary{color:var(--haze-color-text-secondary)}.haze-Typography__muted{color:var(--haze-color-text-muted)}.haze-Typography__textStrong{font-weight:var(--haze-weight-bold)}.haze-Typography__textCode{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);padding:var(--haze-space-0) var(--haze-space-1);background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-sm)}.haze-Typography__textMark{background:color-mix(in srgb, var(--haze-color-warning) 25%, transparent);padding:0 var(--haze-space-1)}.haze-Typography__paragraphBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);margin:0 0 var(--haze-space-4)}.haze-Stat__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Stat__titleStyle{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1)}.haze-Stat__valueRow{align-items:baseline;gap:var(--haze-space-2);display:flex}.haze-Stat__valueStyle{font-size:var(--haze-text-2xl);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);line-height:var(--haze-leading-tight)}.haze-Stat__up{color:var(--haze-color-success)}.haze-Stat__down{color:var(--haze-color-danger)}.haze-Stat__neutral{color:var(--haze-color-text-muted)}.haze-Stat__trendStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium)}.haze-Stat__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Stat__groupStyle{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-6);flex-wrap:wrap;display:flex}.haze-Segmented__container{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);gap:2px;padding:2px;display:inline-flex;overflow-x:auto}.haze-Segmented__sm button{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Segmented__md button{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Segmented__lg button{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Segmented__btn{border-radius:var(--haze-radius-sm);color:var(--haze-color-text-secondary);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);white-space:nowrap;background:0 0;border:none;transition:background .15s,color .15s}.haze-Segmented__btn:hover:not(:disabled){color:var(--haze-color-text)}.haze-Segmented__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Segmented__btn:focus-visible{box-shadow:0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-Segmented__activeBtn{background:var(--haze-color-bg);color:var(--haze-color-text);box-shadow:var(--haze-shadow-sm)}.haze-Chip__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);font-weight:var(--haze-weight-medium);white-space:nowrap;padding:var(--haze-space-1) var(--haze-space-3);line-height:1;display:inline-flex}.haze-Chip__default{border:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Chip__primary{border:1px solid var(--haze-color-primary);color:var(--haze-color-primary)}.haze-Chip__success{border:1px solid var(--haze-color-success);color:var(--haze-color-success)}.haze-Chip__warning{border:1px solid var(--haze-color-warning);color:var(--haze-color-warning)}.haze-Chip__danger{border:1px solid var(--haze-color-danger);color:var(--haze-color-danger)}.haze-Chip__iconStyle{align-items:center;display:inline-flex}.haze-Chip__closeBtn{border-radius:var(--haze-radius-full);width:1.25rem;height:1.25rem;color:inherit;cursor:pointer;opacity:.6;margin-left:var(--haze-space-1);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.haze-Chip__closeBtn:hover{opacity:1}.haze-ScrollArea__base{font-family:var(--haze-font-sans);scrollbar-width:thin;scrollbar-color:var(--haze-color-border) transparent;overflow:auto}.haze-ScrollArea__base::-webkit-scrollbar{width:6px;height:6px}.haze-ScrollArea__base::-webkit-scrollbar-track{background:0 0}.haze-ScrollArea__base::-webkit-scrollbar-thumb{background:var(--haze-color-border);border-radius:var(--haze-radius-full)}.haze-ScrollArea__base::-webkit-scrollbar-thumb:hover{background:var(--haze-color-border-hover)}.haze-TimePicker__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.haze-TimePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TimePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-TimePicker__input::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-DateRangePicker__container{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:inline-flex}.haze-DateRangePicker__input{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-DateRangePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-DateRangePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-DateRangePicker__sep{color:var(--haze-color-text-muted);font-size:var(--haze-text-sm)}.haze-OTPInput__container{gap:var(--haze-space-2);font-family:var(--haze-font-sans);display:inline-flex}.haze-OTPInput__cell{text-align:center;width:2.5rem;height:2.75rem;font-size:var(--haze-text-lg);font-family:var(--haze-font-mono);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);outline:none;transition:border-color .15s,box-shadow .15s}.haze-OTPInput__cell:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__wrapper{width:100%;font-family:var(--haze-font-sans);display:inline-flex;position:relative}.haze-PasswordInput__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);padding-right:var(--haze-space-10);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-PasswordInput__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__input:disabled{opacity:.5;cursor:not-allowed}.haze-PasswordInput__toggle{right:var(--haze-space-2);padding:var(--haze-space-2);cursor:pointer;min-width:2.5rem;min-height:2.5rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-PasswordInput__toggle:hover{color:var(--haze-color-text)}.haze-TagInput__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:center;min-height:2.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.haze-TagInput__container:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TagInput__listWrap{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.haze-TagInput__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-0) var(--haze-space-2);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);display:inline-flex}.haze-TagInput__removeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagInput__removeBtn:hover{color:var(--haze-color-text)}.haze-TagInput__inputEl{min-width:4rem;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;outline:none;flex:1;padding:0}.haze-InlineEdit__display{cursor:text;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);border:1px solid #0000;min-width:2rem;min-height:1.75rem;transition:background .15s}.haze-InlineEdit__display:hover{background:var(--haze-color-muted)}.haze-InlineEdit__editing{padding:var(--haze-space-1) var(--haze-space-2);border:1px solid var(--haze-color-primary);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none;min-width:2rem}.haze-InlineEdit__placeholderStyle{color:var(--haze-color-text-muted);font-style:italic}.haze-DropdownMenu__wrapper{display:inline-block;position:relative}.haze-DropdownMenuTrigger__trigger{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.haze-DropdownMenuContent__content{min-width:10rem;margin-top:var(--haze-space-1);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:50;position:absolute;top:100%}.haze-DropdownMenuContent__alignStart{left:0}.haze-DropdownMenuContent__alignCenter{left:50%;transform:translate(-50%)}.haze-DropdownMenuContent__alignEnd{right:0}.haze-DropdownMenuItem__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-DropdownMenuItem__item:hover{background:var(--haze-color-muted)}.haze-DropdownMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-DropdownMenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-DropdownMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-ContextMenu__wrapper{display:inline-block;position:relative}.haze-ContextMenuTrigger__trigger{display:contents}.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}.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}.haze-ContextMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NavigationBar__nav{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-4);padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-bg);border-bottom:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-NavigationBar__brand{font-size:var(--haze-text-lg);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);white-space:nowrap;-webkit-text-decoration:none;text-decoration:none}.haze-NavigationBar__links{align-items:center;gap:var(--haze-space-3);flex:1;display:flex}.haze-NavigationBar__endSlot{align-items:center;gap:var(--haze-space-2);margin-left:auto;display:flex}.haze-NavLink__link{font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text-muted);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;transition:color .15s,background .15s}.haze-NavLink__link:hover{color:var(--haze-color-text);background:var(--haze-color-muted)}.haze-NavLink__activeLink{color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-BackToTop__button{bottom:calc(var(--haze-space-6) + env(safe-area-inset-bottom));right:calc(var(--haze-space-6) + env(safe-area-inset-right));border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:2.5rem;height:2.5rem;color:var(--haze-color-bg);cursor:pointer;box-shadow:var(--haze-shadow-lg);font-size:var(--haze-text-lg);-webkit-transition:opacity .2s,-webkit-transform .2s;border:none;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:fixed}.haze-BackToTop__button:hover{transform:translateY(-2px)}.haze-BackToTop__hidden{opacity:0;pointer-events:none;transform:translateY(1rem)}.haze-Affix__affix{z-index:100;position:fixed}.haze-Affix__posTop{top:0;left:0;right:0}.haze-Affix__posBottom{bottom:0;left:0;right:0}.haze-Container__container{width:100%;padding-left:var(--haze-space-4);padding-right:var(--haze-space-4);font-family:var(--haze-font-sans);margin-left:auto;margin-right:auto}.haze-Container__sm{max-width:640px}.haze-Container__md{max-width:768px}.haze-Container__lg{max-width:1024px}.haze-Container__xl{max-width:1280px}.haze-Container__full{max-width:100%}.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}.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}.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}.haze-AspectRatio__wrapper{width:100%;position:relative}.haze-AspectRatio__inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.haze-VirtualList__container{font-family:var(--haze-font-sans);overflow-y:auto}.haze-VirtualList__viewport{width:100%;position:relative}.haze-TagGroup__group{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-TagGroupItem__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-1) var(--haze-space-3);background:var(--haze-color-muted);color:var(--haze-color-text);border-radius:var(--haze-radius-full);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);line-height:var(--haze-leading-tight);display:inline-flex}.haze-TagGroupItem__closeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagGroupItem__closeBtn:hover{color:var(--haze-color-text)}.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)}.haze-SwipeAction__wrapper{font-family:var(--haze-font-sans);position:relative;overflow:hidden}.haze-SwipeAction__actionsLeft{align-items:center;height:100%;display:flex;position:absolute;top:0;left:0}.haze-SwipeAction__actionsRight{align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.haze-SwipeAction__content{background:var(--haze-color-bg);-webkit-transition:-webkit-transform .2s;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .2s;position:relative}.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)}.haze-ChatContainer__container{font-family:var(--haze-font-sans);padding:var(--haze-space-4);gap:var(--haze-space-1);flex-direction:column;display:flex;overflow-y:auto}.haze-ChatInput__wrapper{-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;gap:var(--haze-space-2);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);transition:border-color .15s,box-shadow .15s;display:flex}.haze-ChatInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ChatInput__textarea{resize:none;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);background:0 0;border:none;outline:none;flex:1;min-height:1.5rem;max-height:10rem;padding:0}.haze-ChatInput__sendBtn{border-radius:var(--haze-radius-md);background:var(--haze-color-primary);width:2rem;height:2rem;color:var(--haze-color-bg);cursor:pointer;font-size:var(--haze-text-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.haze-ChatInput__sendBtn:disabled{opacity:.5;cursor:not-allowed}.haze-ChatInput__sendBtn:hover:not(:disabled){opacity:.9}.haze-StreamingText__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);white-space:pre-wrap}.haze-StreamingText__cursor{background:var(--haze-color-primary);vertical-align:text-bottom;width:.5em;height:1em;margin-left:1px;animation:1s step-end infinite blink-haze-StreamingText__cursor;display:inline-block}@keyframes blink-haze-StreamingText__cursor{50%{opacity:0}}.haze-MarkdownRenderer__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);word-break:break-word}.haze-MarkdownRenderer__wrapper h1,.haze-MarkdownRenderer__wrapper h2,.haze-MarkdownRenderer__wrapper h3,.haze-MarkdownRenderer__wrapper h4,.haze-MarkdownRenderer__wrapper h5,.haze-MarkdownRenderer__wrapper h6{font-weight:var(--haze-weight-semibold);margin-top:var(--haze-space-4);margin-bottom:var(--haze-space-2);line-height:var(--haze-leading-tight)}.haze-MarkdownRenderer__wrapper h1{font-size:var(--haze-text-2xl)}.haze-MarkdownRenderer__wrapper h2{font-size:var(--haze-text-xl)}.haze-MarkdownRenderer__wrapper h3{font-size:var(--haze-text-lg)}.haze-MarkdownRenderer__wrapper h4{font-size:var(--haze-text-base)}.haze-MarkdownRenderer__wrapper p{margin-bottom:var(--haze-space-3)}.haze-MarkdownRenderer__wrapper ul,.haze-MarkdownRenderer__wrapper ol{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-6)}.haze-MarkdownRenderer__wrapper li{margin-bottom:var(--haze-space-1)}.haze-MarkdownRenderer__wrapper code{font-family:var(--haze-font-mono);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);padding:.125em .375em;font-size:.875em}.haze-MarkdownRenderer__wrapper pre{margin-bottom:var(--haze-space-3);padding:var(--haze-space-4);background:var(--haze-color-muted);border-radius:var(--haze-radius-md);overflow-x:auto}.haze-MarkdownRenderer__wrapper pre code{background:0 0;padding:0}.haze-MarkdownRenderer__wrapper blockquote{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-4);border-left:3px solid var(--haze-color-border);color:var(--haze-color-text-muted)}.haze-MarkdownRenderer__wrapper a{color:var(--haze-color-primary);-webkit-text-decoration:underline;text-decoration:underline}.haze-MarkdownRenderer__wrapper table{width:100%;margin-bottom:var(--haze-space-3);border-collapse:collapse}.haze-MarkdownRenderer__wrapper th,.haze-MarkdownRenderer__wrapper td{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);text-align:left}.haze-MarkdownRenderer__wrapper th{background:var(--haze-color-muted);font-weight:var(--haze-weight-medium)}.haze-MarkdownRenderer__wrapper hr{margin:var(--haze-space-4) 0;border:none;border-top:1px solid var(--haze-color-border)}.haze-MarkdownRenderer__wrapper img{border-radius:var(--haze-radius-md);max-width:100%}.haze-ToolCallCard__card{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);overflow:hidden}.haze-ToolCallCard__header{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);display:flex}.haze-ToolCallCard__statusIcon{border-radius:var(--haze-radius-full);flex-shrink:0;width:.5rem;height:.5rem}.haze-ToolCallCard__statusPending{background:var(--haze-color-text-muted)}.haze-ToolCallCard__statusRunning{background:var(--haze-color-primary);animation:1.5s infinite pulse}.haze-ToolCallCard__statusDone{background:var(--haze-color-success,#16a34a)}.haze-ToolCallCard__statusError{background:var(--haze-color-danger,#dc2626)}.haze-ToolCallCard__body{padding:var(--haze-space-3)}.haze-ToolCallCard__section{margin-bottom:var(--haze-space-2)}.haze-ToolCallCard__sectionLabel{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1);text-transform:uppercase;letter-spacing:.05em}.haze-ToolCallCard__content{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);white-space:pre-wrap;word-break:break-all;color:var(--haze-color-text)}.haze-ThinkingIndicator__wrapper{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);padding:var(--haze-space-2) 0;display:inline-flex}.haze-ThinkingIndicator__dots{gap:var(--haze-space-1);display:inline-flex}@keyframes bounce-haze-ThinkingIndicator__dots{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-.375rem)}}.haze-ThinkingIndicator__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-text-muted);width:.375rem;height:.375rem;animation:1.4s ease-in-out infinite bounce}.haze-ThinkingIndicator__dot2{animation-delay:.16s}.haze-ThinkingIndicator__dot3{animation-delay:.32s}.haze-StepTimeline__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-StepTimeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-4);display:flex;position:relative}.haze-StepTimeline__item:last-child{padding-bottom:0}.haze-StepTimeline__item:not(:last-child):before{content:"";background:var(--haze-color-border);width:2px;position:absolute;top:1.5rem;bottom:0;left:.5625rem}.haze-StepTimeline__marker{border-radius:var(--haze-radius-full);border:2px solid var(--haze-color-border);z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.5rem;display:flex}.haze-StepTimeline__markerPending{border-color:var(--haze-color-border);background:var(--haze-color-bg)}.haze-StepTimeline__markerActive{border-color:var(--haze-color-primary);background:var(--haze-color-primary)}.haze-StepTimeline__markerDone{border-color:var(--haze-color-success,#16a34a);background:var(--haze-color-success,#16a34a);color:#fff}.haze-StepTimeline__markerError{border-color:var(--haze-color-danger,#dc2626);background:var(--haze-color-danger,#dc2626);color:#fff}.haze-StepTimeline__body{flex:1;min-width:0;padding-top:.0625rem}.haze-StepTimeline__labelStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-StepTimeline__descriptionStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.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}.haze-TokenCounter__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted)}.haze-TokenCounter__bar{background:var(--haze-color-muted);border-radius:var(--haze-radius-full);height:.25rem;margin-top:var(--haze-space-1);overflow:hidden}.haze-TokenCounter__fill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-TokenCounter__fillNormal{background:var(--haze-color-primary)}.haze-TokenCounter__fillWarning{background:var(--haze-color-warning,#eab308)}.haze-TokenCounter__fillDanger{background:var(--haze-color-danger,#dc2626)}.haze-TokenCounter__info{-webkit-box-pack:justify;-ms-flex-pack:space-between;justify-content:space-between;align-items:baseline;display:flex}.haze-TokenCounter__count{font-variant-numeric:tabular-nums}.haze-ModelPicker__wrapper{font-family:var(--haze-font-sans)}.haze-ModelPicker__select{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);cursor:pointer;appearance:none;-webkit-background-position:right .75rem center;padding-right:var(--haze-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;transition:border-color .15s,box-shadow .15s}.haze-ModelPicker__select:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ModelPicker__select:disabled{opacity:.5;cursor:not-allowed}.haze-ConversationList__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex;overflow-y:auto}.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}.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)}.haze-LogViewer__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-LogViewer__toolbar{gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-LogViewer__filterBtn{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;font-size:var(--haze-text-xs);font-family:var(--haze-font-mono);color:var(--haze-color-text-muted);background:0 0;border:1px solid #0000;transition:background .15s,border-color .15s}.haze-LogViewer__filterBtn:hover{background:var(--haze-color-bg)}.haze-LogViewer__filterActive{background:var(--haze-color-bg);border-color:var(--haze-color-border);color:var(--haze-color-text)}.haze-LogViewer__body{max-height:24rem;padding:var(--haze-space-2) 0;overflow-y:auto}.haze-LogViewer__entry{gap:var(--haze-space-3);padding:var(--haze-space-0) var(--haze-space-3);display:flex}.haze-LogViewer__timestamp{color:var(--haze-color-text-muted);flex-shrink:0}.haze-LogViewer__levelBadge{text-align:center;text-transform:uppercase;width:3rem;font-weight:var(--haze-weight-medium);flex-shrink:0}.haze-LogViewer__levelDebug{color:var(--haze-color-text-muted)}.haze-LogViewer__levelInfo{color:var(--haze-color-primary)}.haze-LogViewer__levelWarn{color:var(--haze-color-warning,#eab308)}.haze-LogViewer__levelError{color:var(--haze-color-danger,#dc2626)}.haze-LogViewer__messageStyle{word-break:break-all;color:var(--haze-color-text);flex:1}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import type { Dispatch, SetStateAction } from 'react';
|
|
1
|
+
import type { Dispatch, RefObject, SetStateAction } from 'react';
|
|
2
2
|
type DropdownMenuContextValue = {
|
|
3
3
|
open: boolean;
|
|
4
4
|
setOpen: Dispatch<SetStateAction<boolean>>;
|
|
5
|
+
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
6
|
+
contentRef: RefObject<HTMLDivElement | null>;
|
|
7
|
+
/** id of the menu element; wired to the trigger's aria-controls */
|
|
8
|
+
contentId: string;
|
|
9
|
+
/**
|
|
10
|
+
* Focus handoff requested by the trigger ('first'/'last' item) when it
|
|
11
|
+
* opens the menu by keyboard — consumed by Content's mount effect,
|
|
12
|
+
* which runs after the items exist.
|
|
13
|
+
*/
|
|
14
|
+
focusRequestRef: {
|
|
15
|
+
current: 'first' | 'last' | null;
|
|
16
|
+
};
|
|
5
17
|
};
|
|
6
18
|
export declare const DropdownMenuProvider: import("react").Provider<DropdownMenuContextValue | undefined>;
|
|
7
19
|
export declare function useDropdownMenuContext(): DropdownMenuContextValue;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { KeyboardEvent as ReactKeyboardEvent, RefObject } from 'react';
|
|
2
|
+
/** Enabled menu items inside a menu container, in DOM order. */
|
|
3
|
+
export declare function getEnabledMenuItems(container: HTMLElement | null): HTMLElement[];
|
|
4
|
+
type UseMenuKeyboardOptions = {
|
|
5
|
+
/** Element containing the `[role=menuitem]` children. */
|
|
6
|
+
menuRef: RefObject<HTMLElement | null>;
|
|
7
|
+
/** Called when the menu should close via keyboard; the caller returns
|
|
8
|
+
* focus to the trigger. */
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Keyboard behavior for a `role="menu"` container with roving-tabindex
|
|
13
|
+
* items: ↑/↓ move focus (wrapping, skipping disabled items), Home/End
|
|
14
|
+
* jump to the ends, Escape closes (returning focus to the trigger), Tab
|
|
15
|
+
* closes, and printable characters run typeahead — matching the WAI-ARIA
|
|
16
|
+
* Menu Button pattern.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useMenuKeyboard({ menuRef, onClose }: UseMenuKeyboardOptions): (event: ReactKeyboardEvent) => void;
|
|
19
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "haze-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A React UI component library powered by react-use-control and Linaria",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"@testing-library/jest-dom": "^7.0.1",
|
|
71
71
|
"@testing-library/react": "^16.3.2",
|
|
72
72
|
"@testing-library/user-event": "^14.6.6",
|
|
73
|
+
"@types/jest-axe": "^3.5.9",
|
|
73
74
|
"@types/node": "^26.2.0",
|
|
74
75
|
"@types/ramda": "^0.32.0",
|
|
75
76
|
"@types/react": "^19.2.18",
|
|
@@ -87,6 +88,7 @@
|
|
|
87
88
|
"eslint-plugin-compat": "^7.0.2",
|
|
88
89
|
"gh-pages": "^6.3.0",
|
|
89
90
|
"husky": "^9.1.7",
|
|
91
|
+
"jest-axe": "^11.0.0",
|
|
90
92
|
"jsdom": "^30.0.1",
|
|
91
93
|
"json-schema-faker": "^0.6.3",
|
|
92
94
|
"lint-staged": "^17.3.0",
|